ARTS  2.4.0(git:4fb77825)
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. More...
 
 Model (const std::vector< SingleSpeciesModel > &assm) noexcept
 Init from copying a vector. More...
 
 Model (const Model &m) noexcept
 Init from copying itself. More...
 
 Model (std::vector< SingleSpeciesModel > &&assm) noexcept
 Init from moving a vector. More...
 
 Model (Model &&m) noexcept
 Init from moving a itself. More...
 
Modeloperator= (const Model &m)
 Copy and equals. More...
 
Modeloperator= (Model &&m)
 Move and equals. More...
 
 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. More...
 
bool OK (Type type, bool self, bool bath, const std::vector< SpeciesTag > &species) const noexcept
 The Model is good to use. More...
 
Output GetParams (Numeric T, Numeric T0, Numeric P, ConstVectorView vmrs) const noexcept
 Compute all shape parameters. More...
 
Output GetTemperatureDerivs (Numeric T, Numeric T0, Numeric P, ConstVectorView vmrs) const noexcept
 Derivative of GetParams(...) wrt T. More...
 
Output GetVMRDerivs (Numeric T, Numeric T0, Numeric P, const Index pos) const noexcept
 Derivative of GetParams(...) wrt VMR. More...
 
Numeric GetInternalDeriv (Numeric T, Numeric T0, Numeric P, Index pos, ConstVectorView vmrs, JacPropMatType deriv) const noexcept
 Derivative of GetParams(...) wrt Coefficient. More...
 
Index nelem () const
 Number of species in Model. More...
 
Index size () const
 Number of species in Model. More...
 
void resize (Index n)
 Resize function for Model. More...
 
void reserve (Index n)
 Reserve function for Model. More...
 
SingleSpeciesModeloperator[] (Index i)
 Get a SingleSpeciesModel. More...
 
const SingleSpeciesModeloperator[] (Index i) const
 Get a SingleSpeciesModel. More...
 
const std::vector< SingleSpeciesModel > & Data () const noexcept
 The line shape model data. More...
 
std::vector< SingleSpeciesModel > & Data () noexcept
 The line shape model data reference. More...
 
void Remove (Index i, ArrayOfSpeciesTag &specs)
 Remove species and data at position. More...
 
void SetLineMixingModel (SingleSpeciesModel x)
 Sets the same line mixing model to all species. More...
 
bool Match (const Model &other) const noexcept
 
bifstreamread (bifstream &bif)
 Binary read for Model. More...
 
bofstreamwrite (bofstream &bof) const
 Binary write for Model. More...
 

Private Attributes

std::vector< SingleSpeciesModelmdata
 

Friends

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

Detailed Description

Main line shape model class.

Computes the line shape parameters for a given atmosphere

Definition at line 972 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 978 of file lineshapemodel.h.

◆ Model() [2/6]

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

Init from copying a vector.

Definition at line 981 of file lineshapemodel.h.

◆ Model() [3/6]

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

Init from copying itself.

Definition at line 984 of file lineshapemodel.h.

◆ Model() [4/6]

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

Init from moving a vector.

Definition at line 987 of file lineshapemodel.h.

◆ Model() [5/6]

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

Init from moving a itself.

Definition at line 990 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} 
)
inlinenoexcept

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 1007 of file lineshapemodel.h.

Member Function Documentation

◆ Data() [1/2]

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

◆ Data() [2/2]

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

The line shape model data reference.

Definition at line 1348 of file lineshapemodel.h.

References mdata.

◆ GetInternalDeriv()

Numeric LineShape::Model::GetInternalDeriv ( Numeric  T,
Numeric  T0,
Numeric  P,
Index  pos,
ConstVectorView  vmrs,
JacPropMatType  deriv 
) const
inlinenoexcept

Derivative of GetParams(...) wrt Coefficient.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]PThe pressure
[in]posPosition of species in mspecies
[in]vmrsThe VMR vector as derived by this.vmrs()
[in]derivThe derivative
Returns
Derivative of GetParams(...) wrt Coefficient

Definition at line 1274 of file lineshapemodel.h.

◆ GetParams()

Output LineShape::Model::GetParams ( Numeric  T,
Numeric  T0,
Numeric  P,
ConstVectorView  vmrs 
) const
inlinenoexcept

Compute all shape parameters.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]PThe pressure
[in]vmrsThe VMR vector as derived by this.vmrs()
Returns
Shape parameters

Definition at line 1202 of file lineshapemodel.h.

◆ GetTemperatureDerivs()

Output LineShape::Model::GetTemperatureDerivs ( Numeric  T,
Numeric  T0,
Numeric  P,
ConstVectorView  vmrs 
) const
inlinenoexcept

Derivative of GetParams(...) wrt T.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]PThe pressure
[in]vmrsThe VMR vector as derived by this.vmrs()
Returns
Derivative of GetParams(...) wrt T

Definition at line 1226 of file lineshapemodel.h.

◆ GetVMRDerivs()

Output LineShape::Model::GetVMRDerivs ( Numeric  T,
Numeric  T0,
Numeric  P,
const Index  pos 
) const
inlinenoexcept

Derivative of GetParams(...) wrt VMR.

Parameters
[in]TThe temperature
[in]T0The temperature used to derive the coefficients
[in]PThe pressure
[in]posPosition of species in mspecies
Returns
Derivative of GetParams(...) wrt VMR

Definition at line 1250 of file lineshapemodel.h.

◆ Match()

bool LineShape::Model::Match ( const Model other) const
inlinenoexcept

Definition at line 1380 of file lineshapemodel.h.

References mdata.

◆ nelem()

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

Number of species in Model.

Definition at line 1308 of file lineshapemodel.h.

References mdata.

Referenced by Absorption::SingleLine::LineShapeElems(), and Absorption::SingleLine::SingleLine().

◆ OK()

bool LineShape::Model::OK ( Type  type,
bool  self,
bool  bath,
const std::vector< SpeciesTag > &  species 
) const
inlinenoexcept

The Model is good to use.

Returns
true/false

Definition at line 1049 of file lineshapemodel.h.

References mdata.

◆ operator=() [1/2]

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

Copy and equals.

Definition at line 993 of file lineshapemodel.h.

References mdata.

◆ operator=() [2/2]

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

Move and equals.

Definition at line 996 of file lineshapemodel.h.

References mdata.

◆ 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 1334 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 1341 of file lineshapemodel.h.

References mdata.

◆ read()

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

Binary read for Model.

Definition at line 1403 of file lineshapemodel.h.

References data, and mdata.

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

◆ Remove()

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

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 1357 of file lineshapemodel.h.

References mdata.

◆ 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 1327 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 1319 of file lineshapemodel.h.

References mdata.

◆ SetLineMixingModel()

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

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 1372 of file lineshapemodel.h.

References mdata, and ARTS::Var::x().

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

◆ size()

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

Number of species in Model.

Definition at line 1311 of file lineshapemodel.h.

References mdata.

◆ write()

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

Binary write for Model.

Definition at line 1410 of file lineshapemodel.h.

References data, and mdata.

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

Friends And Related Function Documentation

◆ from_artscat4

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

◆ from_linefunctiondata

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

Member Data Documentation

◆ mdata


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