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 ArrayOfQuantumIdentifier & Levels () const noexcept
 Energy level type. More...
 
const Vector & Energies () const noexcept
 Energy level type. More...
 
const Tensor4 & Data () const noexcept
 Energy level type. More...
 
EnergyLevelMapType & Type () noexcept
 Energy level type. More...
 
ArrayOfQuantumIdentifier & Levels () noexcept
 Energy level type. More...
 
Vector & Energies () noexcept
 Energy level type. More...
 
Tensor4 & Data () 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: