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

Main line shape model class. More...

#include <lineshapemodel.h>

Public Member Functions

 Model (Index n=0) noexcept
 Default init just sets the size.
 
 Model (const std::vector< SingleSpeciesModel > &assm) noexcept
 Init from copying a vector.
 
 Model (const Model &m) noexcept
 Init from copying itself.
 
 Model (std::vector< SingleSpeciesModel > &&assm) noexcept
 Init from moving a vector.
 
 Model (Model &&m) noexcept
 Init from moving a itself.
 
Modeloperator= (const Model &m)=default
 Copy and equals.
 
Modeloperator= (Model &&m)=default
 Move and equals.
 
 Model (Numeric sgam, Numeric nself, Numeric agam, Numeric nair, Numeric psf, std::array< Numeric, 12 > aer_interp={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) noexcept
 Standard HITRAN init.
 
bool OK (Type type, bool self, bool bath, const std::size_t nspecies) const noexcept
 The Model is good to use.
 
Index nelem () const noexcept
 Number of species in Model.
 
Index size () const
 Number of species in Model.
 
void resize (Index n)
 Resize function for Model.
 
void reserve (Index n)
 Reserve function for Model.
 
SingleSpeciesModeloperator[] (Index i)
 Get a SingleSpeciesModel.
 
const SingleSpeciesModeloperator[] (Index i) const
 Get a SingleSpeciesModel.
 
auto begin ()
 
auto end ()
 
auto begin () const
 
auto end () const
 
auto cbegin () const
 
auto cend () const
 
const std::vector< SingleSpeciesModel > & Data () const noexcept
 The line shape model data.
 
std::vector< SingleSpeciesModel > & Data () noexcept
 The line shape model data reference.
 
void Remove (Index i, ArrayOfSpeciesTag &specs)
 Remove species and data at position.
 
void Remove (Index i, ArrayOfSpecies &specs)
 
void SetLineMixingModel (SingleSpeciesModel x)
 Sets the same line mixing model to all species.
 
std::pair< bool, bool > Match (const Model &other) const noexcept
 
bifstreamread (bifstream &bif)
 Binary read for Model.
 
bofstreamwrite (bofstream &bof) const
 Binary write for Model.
 
Numeric G0 (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric D0 (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric G2 (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric D2 (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric ETA (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric FVC (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric Y (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric G (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric DV (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dG0dT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dD0dT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dG2dT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dD2dT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dETAdT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dFVCdT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dYdT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dGdT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 
Numeric dDVdT (Numeric T, Numeric T0, Numeric P, const Vector &vmrs) const ARTS_NOEXCEPT
 

Private Attributes

std::vector< SingleSpeciesModelmdata
 

Friends

std::istream & from_linefunctiondata (std::istream &data, Type &type, bool &self, bool &bath, Model &m, ArrayOfSpecies &species)
 
std::istream & from_artscat4 (std::istream &is, Type &type, bool &self, bool &bath, Model &m, ArrayOfSpecies &species, const QuantumIdentifier &qid)
 
std::ostream & operator<< (std::ostream &, const Model &)
 
std::istream & operator>> (std::istream &, Model &)
 

Detailed Description

Main line shape model class.

Computes the line shape parameters for a given atmosphere

Definition at line 626 of file lineshapemodel.h.

Constructor & Destructor Documentation

◆ Model() [1/6]

LineShape::Model::Model ( Index  n = 0)
inlinenoexcept

Default init just sets the size.

Definition at line 632 of file lineshapemodel.h.

◆ Model() [2/6]

LineShape::Model::Model ( const std::vector< SingleSpeciesModel > &  assm)
inlineexplicitnoexcept

Init from copying a vector.

Definition at line 635 of file lineshapemodel.h.

◆ Model() [3/6]

LineShape::Model::Model ( const Model m)
inlinenoexcept

Init from copying itself.

Definition at line 638 of file lineshapemodel.h.

◆ Model() [4/6]

LineShape::Model::Model ( std::vector< SingleSpeciesModel > &&  assm)
inlineexplicitnoexcept

Init from moving a vector.

Definition at line 641 of file lineshapemodel.h.

◆ Model() [5/6]

LineShape::Model::Model ( Model &&  m)
inlinenoexcept

Init from moving a itself.

Definition at line 644 of file lineshapemodel.h.

◆ Model() [6/6]

LineShape::Model::Model ( Numeric  sgam,
Numeric  nself,
Numeric  agam,
Numeric  nair,
Numeric  psf,
std::array< Numeric, 12 >  aer_interp = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 
)
noexcept

Standard HITRAN init.

Parameters
[in]sgamSelf pressure broadening coefficient
[in]nselfSelf pressure broadening exponent
[in]agamAir pressure broadening coefficient
[in]nairAir pressure broadening exponent
[in]psfAll pressure shifting coefficient
[in]interpThe interpolation variable for AER type line mixing

Definition at line 1059 of file lineshapemodel.cc.

Member Function Documentation

◆ begin() [1/2]

auto LineShape::Model::begin ( )
inline

Definition at line 711 of file lineshapemodel.h.

References mdata.

◆ begin() [2/2]

auto LineShape::Model::begin ( ) const
inline

Definition at line 714 of file lineshapemodel.h.

References mdata.

◆ cbegin()

auto LineShape::Model::cbegin ( ) const
inline

Definition at line 717 of file lineshapemodel.h.

References mdata.

◆ cend()

auto LineShape::Model::cend ( ) const
inline

Definition at line 718 of file lineshapemodel.h.

References mdata.

◆ D0()

Numeric LineShape::Model::D0 ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ D2()

Numeric LineShape::Model::D2 ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ Data() [1/2]

◆ Data() [2/2]

std::vector< SingleSpeciesModel > & LineShape::Model::Data ( )
inlinenoexcept

The line shape model data reference.

Definition at line 724 of file lineshapemodel.h.

References mdata.

◆ dD0dT()

Numeric LineShape::Model::dD0dT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dD2dT()

Numeric LineShape::Model::dD2dT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dDVdT()

Numeric LineShape::Model::dDVdT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dETAdT()

Numeric LineShape::Model::dETAdT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dFVCdT()

Numeric LineShape::Model::dFVCdT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dG0dT()

Numeric LineShape::Model::dG0dT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dG2dT()

Numeric LineShape::Model::dG2dT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dGdT()

Numeric LineShape::Model::dGdT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ DV()

Numeric LineShape::Model::DV ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ dYdT()

Numeric LineShape::Model::dYdT ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ end() [1/2]

auto LineShape::Model::end ( )
inline

Definition at line 712 of file lineshapemodel.h.

References mdata.

◆ end() [2/2]

auto LineShape::Model::end ( ) const
inline

Definition at line 715 of file lineshapemodel.h.

References mdata.

◆ ETA()

Numeric LineShape::Model::ETA ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ FVC()

Numeric LineShape::Model::FVC ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ G()

Numeric LineShape::Model::G ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ G0()

Numeric LineShape::Model::G0 ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ G2()

Numeric LineShape::Model::G2 ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

◆ Match()

std::pair< bool, bool > LineShape::Model::Match ( const Model other) const
noexcept

Definition at line 1179 of file lineshapemodel.cc.

◆ nelem()

Index LineShape::Model::nelem ( ) const
inlinenoexcept

Number of species in Model.

Definition at line 676 of file lineshapemodel.h.

References mdata.

◆ OK()

bool LineShape::Model::OK ( Type  type,
bool  self,
bool  bath,
const std::size_t  nspecies 
) const
noexcept

The Model is good to use.

Returns
true/false

Definition at line 1153 of file lineshapemodel.cc.

◆ operator=() [1/2]

Model & LineShape::Model::operator= ( const Model m)
default

Copy and equals.

◆ operator=() [2/2]

Model & LineShape::Model::operator= ( Model &&  m)
default

Move and equals.

◆ operator[]() [1/2]

SingleSpeciesModel & LineShape::Model::operator[] ( Index  i)
inline

Get a SingleSpeciesModel.

Parameters
[in]iPosition in mdata
Returns
reference to SingleSpeciesModel

Definition at line 702 of file lineshapemodel.h.

References mdata.

◆ operator[]() [2/2]

const SingleSpeciesModel & LineShape::Model::operator[] ( Index  i) const
inline

Get a SingleSpeciesModel.

Parameters
[in]iPosition in mdata
Returns
reference to SingleSpeciesModel

Definition at line 709 of file lineshapemodel.h.

References mdata.

◆ read()

bifstream & LineShape::Model::read ( bifstream bif)

Binary read for Model.

Definition at line 1193 of file lineshapemodel.cc.

References mdata.

Referenced by Absorption::SingleLine::read().

◆ Remove() [1/2]

void LineShape::Model::Remove ( Index  i,
ArrayOfSpecies specs 
)

Definition at line 1166 of file lineshapemodel.cc.

References mdata.

◆ Remove() [2/2]

void LineShape::Model::Remove ( Index  i,
ArrayOfSpeciesTag specs 
)

Remove species and data at position.

Uses standard algorithm "erase" to remove, see it for behavior when an error occurs

Parameters
[in]iIndex of position to remove

Definition at line 1161 of file lineshapemodel.cc.

References mdata.

Referenced by LineShape::from_artscat4().

◆ reserve()

void LineShape::Model::reserve ( Index  n)
inline

Reserve function for Model.

Just reserves, does nothing with the new data

Parameters
[in]nNew reserves of mspecies and mdata

Definition at line 695 of file lineshapemodel.h.

References mdata.

◆ resize()

void LineShape::Model::resize ( Index  n)
inline

Resize function for Model.

Just resizes, does nothing with the new data

Parameters
[in]nNew size of mspecies and mdata

Definition at line 687 of file lineshapemodel.h.

References mdata.

◆ SetLineMixingModel()

void LineShape::Model::SetLineMixingModel ( SingleSpeciesModel  x)

Sets the same line mixing model to all species.

Looks at x and sets it Y, G and DV values to all the Y, G, and DV values in this

If LM_AER is used, Interp data is written over as well otherwise it remains untouched

Parameters
[in]xModel containing new line mixing data

Definition at line 1171 of file lineshapemodel.cc.

References mdata.

Referenced by Absorption::ReadFromArtscat5Stream(), and Absorption::SingleLine::SetLineMixing2SecondOrderData().

◆ size()

Index LineShape::Model::size ( ) const
inline

Number of species in Model.

Definition at line 679 of file lineshapemodel.h.

References mdata.

◆ write()

bofstream & LineShape::Model::write ( bofstream bof) const

Binary write for Model.

Definition at line 1199 of file lineshapemodel.cc.

References mdata.

Referenced by Absorption::SingleLine::write().

◆ Y()

Numeric LineShape::Model::Y ( Numeric  T,
Numeric  T0,
Numeric  P,
const Vector &  vmrs 
) const

Friends And Related Symbol Documentation

◆ from_artscat4

std::istream & from_artscat4 ( std::istream &  is,
Type &  type,
bool &  self,
bool &  bath,
Model m,
ArrayOfSpecies species,
const QuantumIdentifier qid 
)
friend

◆ from_linefunctiondata

std::istream & from_linefunctiondata ( std::istream &  data,
Type &  type,
bool &  self,
bool &  bath,
Model m,
ArrayOfSpecies species 
)
friend

◆ operator<<

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

Definition at line 526 of file lineshapemodel.cc.

◆ operator>>

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

Definition at line 531 of file lineshapemodel.cc.

Member Data Documentation

◆ mdata


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