ARTS 2.5.0 (git: 9ee3ac6c)
EnergyLevelMap Class Reference

#include <energylevelmap.h>

Public Member Functions

bool OK () const noexcept
 
void ThrowIfNotOK () const ARTS_NOEXCEPT
 
 EnergyLevelMap ()
 
 EnergyLevelMap (EnergyLevelMapType new_type, Index pages, Index rows, Index cols, const EnergyLevelMap &old)
 
 EnergyLevelMap (Tensor4 data, ArrayOfQuantumIdentifier levels, Vector energies=Vector(0))
 
 EnergyLevelMap (const Matrix &data, ArrayOfQuantumIdentifier levels, Vector energies=Vector(0))
 
 EnergyLevelMap (const Vector &data, ArrayOfQuantumIdentifier levels, 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 {EnergyLevelMapType::None_t}
 
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 72 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 75 of file energylevelmap.h.

References ThrowIfNotOK().

◆ EnergyLevelMap() [3/5]

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

Definition at line 120 of file energylevelmap.cc.

References Tensor3_t, and ThrowIfNotOK().

◆ EnergyLevelMap() [4/5]

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

Definition at line 129 of file energylevelmap.cc.

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

◆ EnergyLevelMap() [5/5]

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

Definition at line 139 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 120 of file energylevelmap.h.

References mvalue.

◆ Energies() [1/2]

const Vector & EnergyLevelMap::Energies ( ) const
inlinenoexcept

◆ Energies() [2/2]

Vector & EnergyLevelMap::Energies ( )
inlinenoexcept

Energy level type.

Definition at line 117 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 58 of file energylevelmap.cc.

References ARTS_USER_ERROR_IF, mlevels, mtype, mvalue, and Numeric_t.

◆ 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 86 of file energylevelmap.cc.

References ARTS_USER_ERROR_IF, mlevels, mtype, mvalue, mvib_energy, Array< base >::nelem(), and Numeric_t.

◆ 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 114 of file energylevelmap.h.

References mlevels.

◆ OK()

◆ operator()()

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

◆ operator[]()

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

◆ string2Type()

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

Definition at line 135 of file energylevelmap.h.

References None_t, Numeric_t, 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 99 of file energylevelmap.h.

References mtype.

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 111 of file energylevelmap.h.

References mtype.

◆ Type() [3/3]

void EnergyLevelMap::Type ( EnergyLevelMapType  x)
inlinenoexcept

Energy level type.

Definition at line 133 of file energylevelmap.h.

References mtype.

◆ validIndexForType()

static bool EnergyLevelMap::validIndexForType ( Index  x)
inlinestaticnoexcept

Definition at line 126 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(), InterpToGridPos(), Levels(), and OK().

◆ mtype

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