ARTS 2.5.11 (git: 725533f0)
LineShape::IntensityCalculator Class Reference

Class encapsulating all supported types of intensity calculations of individual absorption lines. More...

#include <lineshape.h>

Public Member Functions

Numeric S () const noexcept
 The line strength absorption.
 
Numeric dSdT () const noexcept
 The line strength absorption derivative wrt temperature.
 
Numeric dSdI0 () const noexcept
 The line strength absorption derivative wrt the reference line strength.
 
Numeric dSdF0 () const noexcept
 The line strength absorption derivative wrt the line center.
 
Numeric dSdNLTEu () const noexcept
 The line strength absorption derivative wrt either the upper state number density distribution or its vibration temperature.
 
Numeric dSdNLTEl () const noexcept
 The line strength absorption derivative wrt either the lower state number density distribution or its vibration temperature.
 
Numeric dSdSELFVMR () const noexcept
 The line strength derivative wrt the VMR of the band's species.
 
Numeric dSdOTHERVMR_if () const noexcept
 The line strength derivative wrt the VMR of the rescaling species from adaptive_scaling (if self not_eq other)
 
Numeric N () const noexcept
 The line strength source offset.
 
Numeric dNdT () const noexcept
 The line strength source offset derivative wrt temperature.
 
Numeric dNdI0 () const noexcept
 The line strength source offset derivative wrt the reference line strength.
 
Numeric dNdF0 () const noexcept
 The line strength source offset derivative wrt the line center.
 
Numeric dNdNLTEu () const noexcept
 The line strength source offset derivative wrt either the upper state number density distribution or its vibration temperature.
 
Numeric dNdNLTEl () const noexcept
 The line strength source offset derivative wrt either the lower state number density distribution or its vibration temperature.
 
Numeric dNdSELFVMR () const noexcept
 The line source offset derivative wrt the VMR of the band's species.
 
Numeric dNdOTHERVMR_if () const noexcept
 The line source offset derivative wrt the VMR of the rescaling species from adaptive_scaling (if self not_eq other)
 
constexpr bool do_nlte () const noexcept
 Whether or not NLTE is possible with the selected intensity variant.
 
Species::Species scaler () const noexcept
 
 IntensityCalculator (const Numeric T, const Numeric QT, const Numeric QT0, const Numeric dQTdT, const Numeric r, const Numeric drdSELFVMR, const Numeric drdT, const EnergyLevelMap &nlte, const Absorption::Lines &band, const Index line_index) noexcept
 
IntensityCalculatoradaptive_scaling (Numeric x, Species::Species self, Species::Species other) noexcept
 Rescale the line strength parameters by x.
 

Private Types

using Variant = std::variant< Nostrength, LocalThermodynamicEquilibrium, FullNonLocalThermodynamicEquilibrium, VibrationalTemperaturesNonLocalThermodynamicEquilibrium >
 

Private Attributes

Variant ls_str
 
Numeric scale {1.0}
 
Species::Species self_species {Species::Species::Bath}
 
Species::Species scaling_species {Species::Species::FINAL}
 

Detailed Description

Class encapsulating all supported types of intensity calculations of individual absorption lines.

Definition at line 743 of file lineshape.h.

Member Typedef Documentation

◆ Variant

Constructor & Destructor Documentation

◆ IntensityCalculator()

LineShape::IntensityCalculator::IntensityCalculator ( const Numeric  T,
const Numeric  QT,
const Numeric  QT0,
const Numeric  dQTdT,
const Numeric  r,
const Numeric  drdSELFVMR,
const Numeric  drdT,
const EnergyLevelMap nlte,
const Absorption::Lines band,
const Index  line_index 
)
noexcept

Definition at line 2492 of file lineshape.cc.

Member Function Documentation

◆ adaptive_scaling()

IntensityCalculator & LineShape::IntensityCalculator::adaptive_scaling ( Numeric  x,
Species::Species  self,
Species::Species  other 
)
noexcept

Rescale the line strength parameters by x.

The derivatives are accounted for as if other is the rescaler

The self parameter is used to determine if the derivatives are squared

Parameters
xRescale factor
selfThe species of which this intensity is computed
otherThe species that rescales this intensity
Returns
IntensityCalculator&

Definition at line 2484 of file lineshape.cc.

Referenced by LineShape::line_loop().

◆ dNdF0()

Numeric LineShape::IntensityCalculator::dNdF0 ( ) const
noexcept

The line strength source offset derivative wrt the line center.

Definition at line 2458 of file lineshape.cc.

References ls_str, and scale.

◆ dNdI0()

Numeric LineShape::IntensityCalculator::dNdI0 ( ) const
noexcept

The line strength source offset derivative wrt the reference line strength.

Definition at line 2454 of file lineshape.cc.

References ls_str, and scale.

◆ dNdNLTEl()

Numeric LineShape::IntensityCalculator::dNdNLTEl ( ) const
noexcept

The line strength source offset derivative wrt either the lower state number density distribution or its vibration temperature.

Definition at line 2466 of file lineshape.cc.

References ls_str, and scale.

◆ dNdNLTEu()

Numeric LineShape::IntensityCalculator::dNdNLTEu ( ) const
noexcept

The line strength source offset derivative wrt either the upper state number density distribution or its vibration temperature.

Definition at line 2462 of file lineshape.cc.

References ls_str, and scale.

◆ dNdOTHERVMR_if()

Numeric LineShape::IntensityCalculator::dNdOTHERVMR_if ( ) const
noexcept

The line source offset derivative wrt the VMR of the rescaling species from adaptive_scaling (if self not_eq other)

Definition at line 2477 of file lineshape.cc.

References ls_str, S(), scaling_species, and self_species.

◆ dNdSELFVMR()

Numeric LineShape::IntensityCalculator::dNdSELFVMR ( ) const
noexcept

The line source offset derivative wrt the VMR of the band's species.

Definition at line 2470 of file lineshape.cc.

References ls_str, S(), scale, scaling_species, and self_species.

◆ dNdT()

Numeric LineShape::IntensityCalculator::dNdT ( ) const
noexcept

The line strength source offset derivative wrt temperature.

Definition at line 2450 of file lineshape.cc.

References ls_str, and scale.

◆ do_nlte()

constexpr bool LineShape::IntensityCalculator::do_nlte ( ) const
inlineconstexprnoexcept

Whether or not NLTE is possible with the selected intensity variant.

Definition at line 805 of file lineshape.h.

◆ dSdF0()

Numeric LineShape::IntensityCalculator::dSdF0 ( ) const
noexcept

The line strength absorption derivative wrt the line center.

Definition at line 2421 of file lineshape.cc.

References ls_str, and scale.

◆ dSdI0()

Numeric LineShape::IntensityCalculator::dSdI0 ( ) const
noexcept

The line strength absorption derivative wrt the reference line strength.

Definition at line 2417 of file lineshape.cc.

References ls_str, and scale.

◆ dSdNLTEl()

Numeric LineShape::IntensityCalculator::dSdNLTEl ( ) const
noexcept

The line strength absorption derivative wrt either the lower state number density distribution or its vibration temperature.

Definition at line 2429 of file lineshape.cc.

References ls_str, and scale.

◆ dSdNLTEu()

Numeric LineShape::IntensityCalculator::dSdNLTEu ( ) const
noexcept

The line strength absorption derivative wrt either the upper state number density distribution or its vibration temperature.

Definition at line 2425 of file lineshape.cc.

References ls_str, and scale.

◆ dSdOTHERVMR_if()

Numeric LineShape::IntensityCalculator::dSdOTHERVMR_if ( ) const
noexcept

The line strength derivative wrt the VMR of the rescaling species from adaptive_scaling (if self not_eq other)

Definition at line 2440 of file lineshape.cc.

References ls_str, S(), scaling_species, and self_species.

◆ dSdSELFVMR()

Numeric LineShape::IntensityCalculator::dSdSELFVMR ( ) const
noexcept

The line strength derivative wrt the VMR of the band's species.

Definition at line 2433 of file lineshape.cc.

References ls_str, S(), scale, scaling_species, and self_species.

◆ dSdT()

Numeric LineShape::IntensityCalculator::dSdT ( ) const
noexcept

The line strength absorption derivative wrt temperature.

Definition at line 2413 of file lineshape.cc.

References ls_str, and scale.

◆ N()

Numeric LineShape::IntensityCalculator::N ( ) const
noexcept

The line strength source offset.

Definition at line 2446 of file lineshape.cc.

References ls_str, S(), and scale.

◆ S()

Numeric LineShape::IntensityCalculator::S ( ) const
noexcept

The line strength absorption.

Definition at line 2409 of file lineshape.cc.

References ls_str, S(), and scale.

Referenced by dNdOTHERVMR_if(), dNdSELFVMR(), dSdOTHERVMR_if(), dSdSELFVMR(), N(), and S().

◆ scaler()

Species::Species LineShape::IntensityCalculator::scaler ( ) const
inlinenoexcept

Definition at line 809 of file lineshape.h.

Member Data Documentation

◆ ls_str

Variant LineShape::IntensityCalculator::ls_str
private

◆ scale

Numeric LineShape::IntensityCalculator::scale {1.0}
private

◆ scaling_species

Species::Species LineShape::IntensityCalculator::scaling_species {Species::Species::FINAL}
private

Definition at line 753 of file lineshape.h.

Referenced by dNdOTHERVMR_if(), dNdSELFVMR(), dSdOTHERVMR_if(), and dSdSELFVMR().

◆ self_species

Species::Species LineShape::IntensityCalculator::self_species {Species::Species::Bath}
private

Definition at line 752 of file lineshape.h.

Referenced by dNdOTHERVMR_if(), dNdSELFVMR(), dSdOTHERVMR_if(), and dSdSELFVMR().


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