ARTS
2.4.0(git:4fb77825)
|
Computations and data for a single absorption line. More...
#include <absorptionlines.h>
Public Member Functions | |
SingleLine (Numeric F0=0, Numeric I0=0, Numeric E0=0, Numeric glow=0, Numeric gupp=0, Numeric A=0, Zeeman::Model zeeman=Zeeman::Model(), const LineShape::Model &lineshape=LineShape::Model(), const std::vector< Rational > &lowerquanta={}, const std::vector< Rational > &upperquanta={}) | |
Default initialization. More... | |
SingleLine (size_t nbroadeners, size_t nquanta, const LineShape::Model &metamodel) | |
Initialization for constant sizes. More... | |
Index | LineShapeElems () const noexcept |
Number of lineshape elements. More... | |
Index | LowerQuantumElems () const noexcept |
Number of lower quantum numbers. More... | |
Index | UpperQuantumElems () const noexcept |
Number of upper quantum numbers. More... | |
Numeric | F0 () const noexcept |
Central frequency. More... | |
Numeric | E0 () const noexcept |
Lower level energy. More... | |
Numeric | I0 () const noexcept |
Reference line strength. More... | |
Numeric | A () const noexcept |
Einstein spontaneous emission. More... | |
Numeric | g_low () const noexcept |
Lower level statistical weight. More... | |
Numeric | g_upp () const noexcept |
Upper level statistical weight. More... | |
Zeeman::Model | Zeeman () const noexcept |
Zeeman model. More... | |
const LineShape::Model & | LineShape () const noexcept |
Line shape model. More... | |
const std::vector< Rational > & | LowerQuantumNumbers () const noexcept |
Lower level quantum numbers. More... | |
const std::vector< Rational > & | UpperQuantumNumbers () const noexcept |
Upper level quantum numbers. More... | |
Numeric & | F0 () noexcept |
Central frequency. More... | |
Numeric & | E0 () noexcept |
Lower level energy. More... | |
Numeric & | I0 () noexcept |
Reference line strength. More... | |
Numeric & | A () noexcept |
Einstein spontaneous emission. More... | |
Numeric & | g_low () noexcept |
Lower level statistical weight. More... | |
Numeric & | g_upp () noexcept |
Upper level statistical weight. More... | |
Zeeman::Model & | Zeeman () noexcept |
Zeeman model. More... | |
LineShape::Model & | LineShape () noexcept |
Line shape model. More... | |
std::vector< Rational > & | LowerQuantumNumbers () noexcept |
Lower level quantum numbers. More... | |
std::vector< Rational > & | UpperQuantumNumbers () noexcept |
Upper level quantum numbers. More... | |
void | F0 (Numeric x) noexcept |
Central frequency. More... | |
void | E0 (Numeric x) noexcept |
Lower level energy. More... | |
void | I0 (Numeric x) noexcept |
Reference line strength. More... | |
void | A (Numeric x) noexcept |
Einstein spontaneous emission. More... | |
void | g_low (Numeric x) noexcept |
Lower level statistical weight. More... | |
void | g_upp (Numeric x) noexcept |
Upper level statistical weight. More... | |
Rational | LowerQuantumNumber (size_t i) const noexcept |
Lower quantum number. More... | |
Rational | UpperQuantumNumber (size_t i) const noexcept |
Upper quantum number. More... | |
Rational & | LowerQuantumNumber (size_t i) noexcept |
Lower quantum number. More... | |
Rational & | UpperQuantumNumber (size_t i) noexcept |
Upper quantum number. More... | |
bool | SameQuantumNumbers (const SingleLine &sl) const noexcept |
Checks if the quantum numbers are the same of the two lines. More... | |
void | SetAutomaticZeeman (QuantumIdentifier qid, const std::vector< QuantumNumberType > &keys) |
Set Zeeman effect by automatic detection. More... | |
void | SetLineMixing2SecondOrderData (const Vector &d) |
Set the line mixing model to 2nd order. More... | |
void | SetLineMixing2AER (const Vector &d) |
Set the line mixing model to AER kind. More... | |
bifstream & | read (bifstream &bif) |
Binary read for AbsorptionLines. More... | |
bofstream & | write (bofstream &bof) const |
Binary write for AbsorptionLines. More... | |
Private Attributes | |
Numeric | mF0 |
Central frequency. More... | |
Numeric | mI0 |
Reference intensity. More... | |
Numeric | mE0 |
Lower state energy level. More... | |
Numeric | mglow |
Lower level statistical weight. More... | |
Numeric | mgupp |
Upper level statistical weight. More... | |
Numeric | mA |
Einstein spontaneous emission coefficient. More... | |
Zeeman::Model | mzeeman |
Zeeman model. More... | |
LineShape::Model | mlineshape |
Line shape model. More... | |
std::vector< Rational > | mlowerquanta |
Lower level quantum numbers. More... | |
std::vector< Rational > | mupperquanta |
Upper level quantum numbers. More... | |
Computations and data for a single absorption line.
Definition at line 246 of file absorptionlines.h.
|
inline |
Default initialization.
[in] | F0 | Central frequency |
[in] | I0 | Reference line strength at external T0 |
[in] | E0 | Lower energy level |
[in] | glow | Lower level statistical weight |
[in] | gupp | Upper level statistical weight |
[in] | A | Einstein spontaneous emission coefficient |
[in] | zeeman | Zeeman model |
[in] | lineshape | Line shape model |
[in] | lowerquanta | Lower quantum numbers |
[in] | upperquanta | Upper quantum numbers |
Definition at line 292 of file absorptionlines.h.
|
inline |
Initialization for constant sizes.
[in] | nbroadeners | Number of broadening species |
[in] | nquanta | Number of local quantum numbers |
Definition at line 318 of file absorptionlines.h.
References mlineshape, and LineShape::Model::nelem().
|
inlinenoexcept |
Einstein spontaneous emission.
Definition at line 351 of file absorptionlines.h.
References mA.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
|
inlinenoexcept |
Einstein spontaneous emission.
Definition at line 419 of file absorptionlines.h.
References mA, and ARTS::Var::x().
|
inlinenoexcept |
Lower level energy.
Definition at line 345 of file absorptionlines.h.
References mE0.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
|
inlinenoexcept |
Lower level energy.
Definition at line 413 of file absorptionlines.h.
References mE0, and ARTS::Var::x().
|
inlinenoexcept |
Central frequency.
Definition at line 342 of file absorptionlines.h.
References mF0.
Referenced by Absorption::operator<<(), Absorption::operator>>(), and Linefunctions::set_lineshape().
|
inlinenoexcept |
|
inlinenoexcept |
Central frequency.
Definition at line 410 of file absorptionlines.h.
References mF0, and ARTS::Var::x().
|
inlinenoexcept |
Lower level statistical weight.
Definition at line 354 of file absorptionlines.h.
References mglow.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
|
inlinenoexcept |
Lower level statistical weight.
Definition at line 422 of file absorptionlines.h.
References mglow, and ARTS::Var::x().
|
inlinenoexcept |
Upper level statistical weight.
Definition at line 357 of file absorptionlines.h.
References mgupp.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
|
inlinenoexcept |
Upper level statistical weight.
Definition at line 425 of file absorptionlines.h.
References mgupp, and ARTS::Var::x().
|
inlinenoexcept |
Reference line strength.
Definition at line 348 of file absorptionlines.h.
References mI0.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
|
inlinenoexcept |
Reference line strength.
Definition at line 416 of file absorptionlines.h.
References mI0, and ARTS::Var::x().
|
inlinenoexcept |
Line shape model.
Definition at line 363 of file absorptionlines.h.
References mlineshape.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
|
inlinenoexcept |
Number of lineshape elements.
Definition at line 329 of file absorptionlines.h.
References mlineshape, and LineShape::Model::nelem().
Referenced by Absorption::Lines::AppendSingleLine().
|
inlinenoexcept |
Number of lower quantum numbers.
Definition at line 332 of file absorptionlines.h.
References mlowerquanta.
Referenced by Absorption::Lines::AppendSingleLine().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Lower level quantum numbers.
Definition at line 366 of file absorptionlines.h.
References mlowerquanta.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
Lower level quantum numbers.
Definition at line 400 of file absorptionlines.h.
References mlowerquanta.
Binary read for AbsorptionLines.
Standard parameters
Line shape model
Lower level quantum numbers
Upper level quantum numbers
Definition at line 491 of file absorptionlines.h.
References mA, mE0, mF0, mglow, mgupp, mI0, mlineshape, mlowerquanta, mupperquanta, mzeeman, and LineShape::Model::read().
|
noexcept |
Checks if the quantum numbers are the same of the two lines.
Definition at line 2679 of file absorptionlines.cc.
|
inline |
Set Zeeman effect by automatic detection.
Will fail if the available and provided quantum numbers are bad
[in] | qid | Copy of the global identifier to fill by local numbers |
[in] | keys | List of quantum number keys in this line's local quantum number lists |
Definition at line 457 of file absorptionlines.h.
References QuantumIdentifier::LowerQuantumNumber(), mlowerquanta, mupperquanta, mzeeman, and QuantumIdentifier::UpperQuantumNumber().
|
inline |
Set the line mixing model to AER kind.
[in] | d | Data in AER format |
Definition at line 481 of file absorptionlines.h.
References LineShape::Model::Data(), and mlineshape.
|
inline |
Set the line mixing model to 2nd order.
[in] | d | Data in 2nd order format |
Definition at line 470 of file absorptionlines.h.
References mlineshape, LineShape::Model::SetLineMixingModel(), and LineShape::LegacyLineMixingData::vector2modellm().
|
inlinenoexcept |
Number of upper quantum numbers.
Definition at line 335 of file absorptionlines.h.
References mupperquanta.
Referenced by Absorption::Lines::AppendSingleLine().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Upper level quantum numbers.
Definition at line 369 of file absorptionlines.h.
References mupperquanta.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
Upper level quantum numbers.
Definition at line 403 of file absorptionlines.h.
References mupperquanta.
Binary write for AbsorptionLines.
Standard parameters
Line shape model
Lower level quantum numbers
Upper level quantum numbers
Definition at line 508 of file absorptionlines.h.
References mA, mE0, mF0, mglow, mgupp, mI0, mlineshape, mlowerquanta, mupperquanta, mzeeman, and LineShape::Model::write().
|
inlinenoexcept |
Zeeman model.
Definition at line 360 of file absorptionlines.h.
References mzeeman.
Referenced by Absorption::operator<<(), and Absorption::operator>>().
|
inlinenoexcept |
|
private |
Einstein spontaneous emission coefficient.
Definition at line 264 of file absorptionlines.h.
|
private |
Lower state energy level.
Definition at line 255 of file absorptionlines.h.
|
private |
Central frequency.
Definition at line 249 of file absorptionlines.h.
|
private |
Lower level statistical weight.
Definition at line 258 of file absorptionlines.h.
|
private |
Upper level statistical weight.
Definition at line 261 of file absorptionlines.h.
|
private |
Reference intensity.
Definition at line 252 of file absorptionlines.h.
|
private |
Line shape model.
Definition at line 270 of file absorptionlines.h.
Referenced by LineShape(), LineShapeElems(), read(), SetLineMixing2AER(), SetLineMixing2SecondOrderData(), SingleLine(), and write().
|
private |
Lower level quantum numbers.
Definition at line 273 of file absorptionlines.h.
Referenced by LowerQuantumElems(), LowerQuantumNumber(), LowerQuantumNumbers(), read(), SetAutomaticZeeman(), and write().
|
private |
Upper level quantum numbers.
Definition at line 276 of file absorptionlines.h.
Referenced by read(), SetAutomaticZeeman(), UpperQuantumElems(), UpperQuantumNumber(), UpperQuantumNumbers(), and write().
|
private |
Zeeman model.
Definition at line 267 of file absorptionlines.h.
Referenced by read(), SetAutomaticZeeman(), write(), and Zeeman().