ARTS 2.5.11 (git: 725533f0)
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.
 
constexpr Model (Numeric gu, Numeric gl) noexcept
 Default copy/init of Model from its only private variable.
 
 Model (const QuantumIdentifier &qid) noexcept
 Attempts to compute Zeeman input if available.
 
bool empty () const noexcept
 Returns true if the Model represents no Zeeman effect.
 
constexpr Numeric & gu () noexcept
 Returns the upper state g.
 
constexpr Numeric & gl () noexcept
 Returns the lower state g.
 
constexpr void gu (Numeric x) noexcept
 Sets the upper state g.
 
constexpr void gl (Numeric x) noexcept
 Sets the lower state g.
 
constexpr Numeric gu () const noexcept
 Returns the upper state g.
 
constexpr Numeric gl () const noexcept
 Returns the lower state g.
 
Numeric Strength (Rational Ju, Rational Jl, Polarization type, Index n) const ARTS_NOEXCEPT
 Gives the strength of one subline of a given polarization.
 
constexpr Numeric Splitting (Rational Ju, Rational Jl, Polarization type, Index n) const noexcept
 Gives the splitting of one subline of a given polarization.
 

Private Attributes

SplittingData mdata
 

Friends

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

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 279 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 285 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 288 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 239 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 303 of file zeemandata.h.

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

Referenced by Model().

◆ gl() [1/3]

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

Returns the lower state g.

Definition at line 323 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 311 of file zeemandata.h.

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

Referenced by Model(), and Splitting().

◆ gl() [3/3]

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

Sets the lower state g.

Definition at line 317 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 320 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 308 of file zeemandata.h.

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

Referenced by Model(), and Splitting().

◆ gu() [3/3]

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

Sets the upper state g.

Definition at line 314 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 353 of file zeemandata.h.

References Constant::bohr_magneton, gl(), gu(), Constant::h, Zeeman::Ml(), and Zeeman::Mu().

◆ 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 318 of file zeemandata.cc.

References ARTS_ASSERT, Zeeman::dM(), Zeeman::Ml(), Zeeman::Mu(), Zeeman::None, Zeeman::PolarizationFactor(), Math::pow2(), and wigner3j().

Friends And Related Symbol Documentation

◆ operator<< [1/2]

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

Output operator for Zeeman::Model.

Definition at line 342 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 332 of file zeemandata.cc.

◆ operator>> [1/2]

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

Input operator for Zeeman::Model.

Definition at line 347 of file zeemandata.cc.

◆ operator>> [2/2]

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

Input operator for Zeeman::Model.

Definition at line 337 of file zeemandata.cc.

Member Data Documentation

◆ mdata

SplittingData Zeeman::Model::mdata
private

Definition at line 281 of file zeemandata.h.

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


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