Class IonizationData

Inheritance Relationships

Base Type

Class Documentation

class IonizationData : public elem::ElemData

Compile-time elemental data: ionization potentials, keyed on ElemData’s atomic symbol and atomic number.

All members, the constructor, and observer methods are constexpr, allowing compile-time construction and use. Comparison operators are inherited from ElemData and compare on atomic number Z.

Public Functions

inline constexpr IonizationData(std::array<char, 2> symbol, unsigned int z, std::array<double, maxIP> ionPot) noexcept

Construct an IonizationData record.

Parameters:
  • symbol – Two-character atomic symbol; single-char symbols use ‘\0’ as the second character (e.g. {‘H’, ‘\0’})

  • z – Atomic number

  • ionPot – Ionization potentials in eV, from 1st to maxIP-th; entries beyond the element’s actual ionization count are quiet_NaN()

IonizationData(const IonizationData&) = default
auto operator=(const IonizationData&) -> IonizationData& = default
IonizationData(IonizationData&&) = default
auto operator=(IonizationData&&) -> IonizationData& = default
~IonizationData() = default
inline constexpr auto ionPot() const noexcept -> const std::array<double, maxIP>&

Return the array of ionization potentials in eV; entries beyond the element’s count are quiet_NaN()

Protected Attributes

std::array<double, maxIP> ionPot_

Ionization potentials in eV