ARTS 2.5.0 (git: 9ee3ac6c)
Zeeman::Model Class Reference

Main Zeeman Model. More...

#include <zeemandata.h>

Public Member Functions

constexpr Model (SplittingData gs={NAN, NAN}) noexcept
 Default copy/init of Model from its only private variable. More...
 
constexpr Model (Numeric gu, Numeric gl) noexcept
 Default copy/init of Model from its only private variable. More...
 
 Model (const QuantumIdentifier &qid) noexcept
 Attempts to compute Zeeman input if available. More...
 
bool empty () const noexcept
 Returns true if the Model represents no Zeeman effect. More...
 
constexpr Numericgu () noexcept
 Returns the upper state g. More...
 
constexpr Numericgl () noexcept
 Returns the lower state g. More...
 
constexpr void gu (Numeric x) noexcept
 Sets the upper state g. More...
 
constexpr void gl (Numeric x) noexcept
 Sets the lower state g. More...
 
constexpr Numeric gu () const noexcept
 Returns the upper state g. More...
 
constexpr Numeric gl () const noexcept
 Returns the lower state g. More...
 
Numeric Strength (Rational Ju, Rational Jl, Polarization type, Index n) const
 Gives the strength of one subline of a given polarization. More...
 
constexpr Numeric Splitting (Rational Ju, Rational Jl, Polarization type, Index n) const noexcept
 Gives the splitting of one subline of a given polarization. More...
 

Private Attributes

SplittingData mdata
 

Friends

std::ostream & operator<< (std::ostream &os, const Model &m)
 Output operator for Zeeman::Model. More...
 
std::istream & operator>> (std::istream &is, Model &m)
 Input operator for Zeeman::Model. More...
 
std::ostream & operator<< (bofstream &bof, const Model &m)
 Output operator for Zeeman::Model. More...
 
std::istream & operator>> (bifstream &bif, Model &m)
 Input operator for Zeeman::Model. More...
 

Detailed Description

Main Zeeman Model.

This model contains the splitting coefficients of an energy level. Various detailed and simplified initialization routines are defined. Is also used as the interface for all Zeeman computations

Definition at line 357 of file zeemandata.h.

Constructor & Destructor Documentation

◆ Model() [1/3]

constexpr Zeeman::Model::Model ( SplittingData  gs = {NAN, NAN})
inlineconstexprnoexcept

Default copy/init of Model from its only private variable.

Definition at line 363 of file zeemandata.h.

◆ Model() [2/3]

constexpr Zeeman::Model::Model ( Numeric  gu,
Numeric  gl 
)
inlineconstexprnoexcept

Default copy/init of Model from its only private variable.

Definition at line 366 of file zeemandata.h.

References gl(), and gu().

◆ Model() [3/3]

Zeeman::Model::Model ( const QuantumIdentifier qid)
explicitnoexcept

Attempts to compute Zeeman input if available.

Will first attempt advanced initialization from specialized functions for special species. If this fails, will attempt simple initialization from pure Hund-cases. If this fails, will throw a runtime_error.

Parameters
[in]qidTransition type quantum id

Definition at line 202 of file zeemandata.cc.

References empty(), Zeeman::GetAdvancedModel(), and Zeeman::GetSimpleModel().

Member Function Documentation

◆ empty()

bool Zeeman::Model::empty ( ) const
inlinenoexcept

Returns true if the Model represents no Zeeman effect.

Definition at line 381 of file zeemandata.h.

References Zeeman::SplittingData::gl, Zeeman::SplittingData::gu, nonstd::isnan(), and mdata.

Referenced by Model().

◆ gl() [1/3]

constexpr Numeric Zeeman::Model::gl ( ) const
inlineconstexprnoexcept

Returns the lower state g.

Definition at line 401 of file zeemandata.h.

References Zeeman::SplittingData::gl, and mdata.

◆ gl() [2/3]

constexpr Numeric & Zeeman::Model::gl ( )
inlineconstexprnoexcept

Returns the lower state g.

Definition at line 389 of file zeemandata.h.

References Zeeman::SplittingData::gl, and mdata.

Referenced by Model(), and test_zeeman().

◆ gl() [3/3]

constexpr void Zeeman::Model::gl ( Numeric  x)
inlineconstexprnoexcept

Sets the lower state g.

Definition at line 395 of file zeemandata.h.

References Zeeman::SplittingData::gl, and mdata.

◆ gu() [1/3]

constexpr Numeric Zeeman::Model::gu ( ) const
inlineconstexprnoexcept

Returns the upper state g.

Definition at line 398 of file zeemandata.h.

References Zeeman::SplittingData::gu, and mdata.

◆ gu() [2/3]

constexpr Numeric & Zeeman::Model::gu ( )
inlineconstexprnoexcept

Returns the upper state g.

Definition at line 386 of file zeemandata.h.

References Zeeman::SplittingData::gu, and mdata.

Referenced by Model().

◆ gu() [3/3]

constexpr void Zeeman::Model::gu ( Numeric  x)
inlineconstexprnoexcept

Sets the upper state g.

Definition at line 392 of file zeemandata.h.

References Zeeman::SplittingData::gu, and mdata.

◆ Splitting()

constexpr Numeric Zeeman::Model::Splitting ( Rational  Ju,
Rational  Jl,
Polarization  type,
Index  n 
) const
inlineconstexprnoexcept

Gives the splitting of one subline of a given polarization.

The user has to ensure that Ju and Jl is a valid transition

The user has to ensure n is less than the number of elements

Parameters
[in]JuJ of the upper state
[in]JlJ of the upper state
[in]typeThe polarization type
[in]nThe position
Returns
The splitting of the Zeeman subline

Definition at line 431 of file zeemandata.h.

◆ Strength()

Numeric Zeeman::Model::Strength ( Rational  Ju,
Rational  Jl,
Zeeman::Polarization  type,
Index  n 
) const

Gives the strength of one subline of a given polarization.

The user has to ensure that Ju and Jl is a valid transition

The user has to ensure n is less than the number of elements

Parameters
[in]JuJ of the upper state
[in]JlJ of the upper state
[in]typeThe polarization type
[in]nThe position
Returns
The relative strength of the Zeeman subline

Definition at line 282 of file zeemandata.cc.

References Zeeman::dM(), Zeeman::Ml(), Zeeman::Mu(), Zeeman::PolarizationFactor(), Constant::pow2(), Hitran::type, and wigner3j().

Friends And Related Function Documentation

◆ operator<< [1/2]

std::ostream & operator<< ( bofstream bof,
const Model m 
)
friend

Output operator for Zeeman::Model.

Definition at line 301 of file zeemandata.cc.

◆ operator<< [2/2]

std::ostream & operator<< ( std::ostream &  os,
const Model m 
)
friend

Output operator for Zeeman::Model.

Definition at line 291 of file zeemandata.cc.

◆ operator>> [1/2]

std::istream & operator>> ( bifstream bif,
Model m 
)
friend

Input operator for Zeeman::Model.

Definition at line 306 of file zeemandata.cc.

◆ operator>> [2/2]

std::istream & operator>> ( std::istream &  is,
Model m 
)
friend

Input operator for Zeeman::Model.

Definition at line 296 of file zeemandata.cc.

Member Data Documentation

◆ mdata

SplittingData Zeeman::Model::mdata
private

Definition at line 359 of file zeemandata.h.

Referenced by empty(), gl(), and gu().


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