ARTS  2.4.0(git:4fb77825)
EnergyLevelMap Class Reference

#include <energylevelmap.h>

Public Member Functions

bool OK () const
 
void ThrowIfNotOK () const
 
 EnergyLevelMap ()
 
 EnergyLevelMap (EnergyLevelMapType new_type, Index pages, Index rows, Index cols, const EnergyLevelMap &old)
 
 EnergyLevelMap (const Tensor4 &data, const ArrayOfQuantumIdentifier &levels, const Vector &energies=Vector(0))
 
 EnergyLevelMap (const Matrix &data, const ArrayOfQuantumIdentifier &levels, const Vector &energies=Vector(0))
 
 EnergyLevelMap (const Vector &data, const ArrayOfQuantumIdentifier &levels, const Vector &energies=Vector(0))
 
EnergyLevelMap InterpToGridPos (Index atmosphere_dim, const ArrayOfGridPos &p, const ArrayOfGridPos &lat, const ArrayOfGridPos &lon) const
 
EnergyLevelMap operator[] (Index ip) const
 
EnergyLevelMap operator() (Index ip, Index ilat, Index ilon) const
 
EnergyLevelMapType Type () const noexcept
 Energy level type. More...
 
const ArrayOfQuantumIdentifierLevels () const noexcept
 Energy level type. More...
 
const VectorEnergies () const noexcept
 Energy level type. More...
 
const Tensor4Data () const noexcept
 Energy level type. More...
 
EnergyLevelMapTypeType () noexcept
 Energy level type. More...
 
ArrayOfQuantumIdentifierLevels () noexcept
 Energy level type. More...
 
VectorEnergies () noexcept
 Energy level type. More...
 
Tensor4Data () noexcept
 Energy level type. More...
 
void Type (EnergyLevelMapType x) noexcept
 Energy level type. More...
 
Output2 get_ratio_params (const AbsorptionLines &band, const Index &line_index) const
 Get the output required for Population::NLTE. More...
 
Output4 get_vibtemp_params (const AbsorptionLines &band, const Index &line_index, const Numeric T) const
 Get the output required for Population::NLTE-VibrationalTemperatures. More...
 

Static Public Member Functions

static bool validIndexForType (Index x) noexcept
 
static EnergyLevelMapType string2Type (const String &s) noexcept
 

Private Attributes

EnergyLevelMapType mtype
 
ArrayOfQuantumIdentifier mlevels
 
Vector mvib_energy
 
Tensor4 mvalue
 

Detailed Description

Definition at line 60 of file energylevelmap.h.

Constructor & Destructor Documentation

◆ EnergyLevelMap() [1/5]

EnergyLevelMap::EnergyLevelMap ( )
inline

Definition at line 95 of file energylevelmap.h.

References ThrowIfNotOK().

Referenced by InterpToGridPos(), operator()(), and operator[]().

◆ EnergyLevelMap() [2/5]

EnergyLevelMap::EnergyLevelMap ( EnergyLevelMapType  new_type,
Index  pages,
Index  rows,
Index  cols,
const EnergyLevelMap old 
)
inline

Definition at line 98 of file energylevelmap.h.

References ThrowIfNotOK().

◆ EnergyLevelMap() [3/5]

EnergyLevelMap::EnergyLevelMap ( const Tensor4 data,
const ArrayOfQuantumIdentifier levels,
const Vector energies = Vector(0) 
)

Definition at line 90 of file energylevelmap.cc.

References ThrowIfNotOK().

◆ EnergyLevelMap() [4/5]

EnergyLevelMap::EnergyLevelMap ( const Matrix data,
const ArrayOfQuantumIdentifier levels,
const Vector energies = Vector(0) 
)

Definition at line 99 of file energylevelmap.cc.

References data, joker, mvalue, and ThrowIfNotOK().

◆ EnergyLevelMap() [5/5]

EnergyLevelMap::EnergyLevelMap ( const Vector data,
const ArrayOfQuantumIdentifier levels,
const Vector energies = Vector(0) 
)

Definition at line 109 of file energylevelmap.cc.

References data, joker, mvalue, and ThrowIfNotOK().

Member Function Documentation

◆ Data() [1/2]

const Tensor4& EnergyLevelMap::Data ( ) const
inlinenoexcept

Energy level type.

Definition at line 131 of file energylevelmap.h.

References mvalue.

Referenced by AtmFieldsCalcExpand1D(), CompareRelative(), operator<<(), xml_read_from_stream(), and xml_write_to_stream().

◆ Data() [2/2]

Tensor4& EnergyLevelMap::Data ( )
inlinenoexcept

Energy level type.

Definition at line 143 of file energylevelmap.h.

References mvalue.

◆ Energies() [1/2]

const Vector& EnergyLevelMap::Energies ( ) const
inlinenoexcept

Energy level type.

Definition at line 128 of file energylevelmap.h.

References mvib_energy.

Referenced by CompareRelative(), operator<<(), xml_read_from_stream(), and xml_write_to_stream().

◆ Energies() [2/2]

Vector& EnergyLevelMap::Energies ( )
inlinenoexcept

Energy level type.

Definition at line 140 of file energylevelmap.h.

References mvib_energy.

◆ get_ratio_params()

Output2 EnergyLevelMap::get_ratio_params ( const AbsorptionLines band,
const Index line_index 
) const

Get the output required for Population::NLTE.

Parameters
[in]transitionA line-by-line transition
Returns
Upper and lower level distributions

Definition at line 31 of file energylevelmap.cc.

References Absorption::id_in_line_lower(), Absorption::id_in_line_upper(), mlevels, mtype, mvalue, Numeric_t, and ARTS::Var::x().

Referenced by Linefunctions::set_cross_section_of_band().

◆ get_vibtemp_params()

Output4 EnergyLevelMap::get_vibtemp_params ( const AbsorptionLines band,
const Index line_index,
const Numeric  T 
) const

Get the output required for Population::NLTE-VibrationalTemperatures.

Parameters
[in]transitionA line-by-line transition
Returns
Upper and lower level distributions and energies

Definition at line 58 of file energylevelmap.cc.

References Absorption::id_in_line_lower(), Absorption::id_in_line_upper(), mlevels, mtype, mvalue, mvib_energy, Array< base >::nelem(), Numeric_t, and ARTS::Var::x().

Referenced by Linefunctions::set_cross_section_of_band().

◆ InterpToGridPos()

EnergyLevelMap EnergyLevelMap::InterpToGridPos ( Index  atmosphere_dim,
const ArrayOfGridPos p,
const ArrayOfGridPos lat,
const ArrayOfGridPos lon 
) const

◆ Levels() [1/2]

const ArrayOfQuantumIdentifier& EnergyLevelMap::Levels ( ) const
inlinenoexcept

Energy level type.

Definition at line 125 of file energylevelmap.h.

References mlevels.

Referenced by operator<<(), xml_read_from_stream(), and xml_write_to_stream().

◆ Levels() [2/2]

ArrayOfQuantumIdentifier& EnergyLevelMap::Levels ( )
inlinenoexcept

Energy level type.

Definition at line 137 of file energylevelmap.h.

References mlevels.

◆ OK()

◆ operator()()

EnergyLevelMap EnergyLevelMap::operator() ( Index  ip,
Index  ilat,
Index  ilon 
) const

Definition at line 199 of file energylevelmap.cc.

References EnergyLevelMap(), joker, mtype, mvalue, Numeric_t, and Tensor3_t.

◆ operator[]()

EnergyLevelMap EnergyLevelMap::operator[] ( Index  ip) const

◆ string2Type()

static EnergyLevelMapType EnergyLevelMap::string2Type ( const String s)
inlinestaticnoexcept

Definition at line 158 of file energylevelmap.h.

References Numeric_t, Tensor3_t, and Vector_t.

◆ ThrowIfNotOK()

void EnergyLevelMap::ThrowIfNotOK ( ) const
inline

Definition at line 93 of file energylevelmap.h.

References OK().

Referenced by EnergyLevelMap(), and xml_read_from_stream().

◆ Type() [1/3]

EnergyLevelMapType EnergyLevelMap::Type ( ) const
inlinenoexcept

Energy level type.

Definition at line 122 of file energylevelmap.h.

References mtype.

Referenced by operator<<(), xml_read_from_stream(), and xml_write_to_stream().

◆ Type() [2/3]

EnergyLevelMapType& EnergyLevelMap::Type ( )
inlinenoexcept

Energy level type.

Definition at line 134 of file energylevelmap.h.

References mtype.

◆ Type() [3/3]

void EnergyLevelMap::Type ( EnergyLevelMapType  x)
inlinenoexcept

Energy level type.

Definition at line 156 of file energylevelmap.h.

References mtype, and ARTS::Var::x().

◆ validIndexForType()

static bool EnergyLevelMap::validIndexForType ( Index  x)
inlinestaticnoexcept

Definition at line 149 of file energylevelmap.h.

References Numeric_t, stdarrayify(), Tensor3_t, Vector_t, ARTS::Var::x(), and ARTS::Var::y().

Member Data Documentation

◆ mlevels

ArrayOfQuantumIdentifier EnergyLevelMap::mlevels
private

Definition at line 63 of file energylevelmap.h.

Referenced by get_ratio_params(), get_vibtemp_params(), InterpToGridPos(), Levels(), and OK().

◆ mtype

EnergyLevelMapType EnergyLevelMap::mtype
private

◆ mvalue

Tensor4 EnergyLevelMap::mvalue
private

◆ mvib_energy

Vector EnergyLevelMap::mvib_energy
private

Definition at line 64 of file energylevelmap.h.

Referenced by Energies(), get_vibtemp_params(), and OK().


The documentation for this class was generated from the following files: