ARTS  2.3.1285(git:92a29ea9-dirty)
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.

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 data.

◆ 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]

◆ Data() [2/2]

Tensor4& EnergyLevelMap::Data ( )
inlinenoexcept

Energy level type.

Definition at line 143 of file energylevelmap.h.

◆ Energies() [1/2]

const Vector& EnergyLevelMap::Energies ( ) const
inlinenoexcept

◆ Energies() [2/2]

Vector& EnergyLevelMap::Energies ( )
inlinenoexcept

Energy level type.

Definition at line 140 of file energylevelmap.h.

◆ 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 i, Absorption::id_in_line_lower(), Absorption::id_in_line_upper(), mlevels, mtype, mvalue, Numeric_t, and Output2::r_low.

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 i, Absorption::id_in_line_lower(), Absorption::id_in_line_upper(), mlevels, mtype, mvalue, mvib_energy, Array< base >::nelem(), Numeric_t, and Output4::T_low.

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]

◆ Levels() [2/2]

ArrayOfQuantumIdentifier& EnergyLevelMap::Levels ( )
inlinenoexcept

Energy level type.

Definition at line 137 of file energylevelmap.h.

◆ 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, None_t, 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 None_t, Numeric_t, operator<<(), Tensor3_t, and Vector_t.

◆ ThrowIfNotOK()

void EnergyLevelMap::ThrowIfNotOK ( ) const
inline

◆ Type() [1/3]

EnergyLevelMapType EnergyLevelMap::Type ( ) const
inlinenoexcept

Energy level type.

Definition at line 122 of file energylevelmap.h.

Referenced by AtmFieldsCalc(), AtmFieldsCalcExpand1D(), 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.

◆ Type() [3/3]

void EnergyLevelMap::Type ( EnergyLevelMapType  x)
inlinenoexcept

Energy level type.

Definition at line 156 of file energylevelmap.h.

◆ validIndexForType()

static bool EnergyLevelMap::validIndexForType ( Index  x)
inlinestaticnoexcept

Definition at line 149 of file energylevelmap.h.

References None_t, Numeric_t, stdarrayify(), Tensor3_t, and Vector_t.

Member Data Documentation

◆ mlevels

ArrayOfQuantumIdentifier EnergyLevelMap::mlevels
private

Definition at line 63 of file energylevelmap.h.

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

◆ 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 get_vibtemp_params().


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