ARTS 2.5.11 (git: 725533f0)
|
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. | |
Model & | operator= (const Model &m)=default |
Copy and equals. | |
Model & | operator= (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. | |
SingleSpeciesModel & | operator[] (Index i) |
Get a SingleSpeciesModel. | |
const SingleSpeciesModel & | operator[] (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 |
bifstream & | read (bifstream &bif) |
Binary read for Model. | |
bofstream & | write (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< SingleSpeciesModel > | mdata |
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 &) |
Main line shape model class.
Computes the line shape parameters for a given atmosphere
Definition at line 626 of file lineshapemodel.h.
|
inlinenoexcept |
Default init just sets the size.
Definition at line 632 of file lineshapemodel.h.
|
inlineexplicitnoexcept |
Init from copying a vector.
Definition at line 635 of file lineshapemodel.h.
|
inlinenoexcept |
Init from copying itself.
Definition at line 638 of file lineshapemodel.h.
|
inlineexplicitnoexcept |
Init from moving a vector.
Definition at line 641 of file lineshapemodel.h.
|
inlinenoexcept |
Init from moving a itself.
Definition at line 644 of file lineshapemodel.h.
|
noexcept |
Standard HITRAN init.
[in] | sgam | Self pressure broadening coefficient |
[in] | nself | Self pressure broadening exponent |
[in] | agam | Air pressure broadening coefficient |
[in] | nair | Air pressure broadening exponent |
[in] | psf | All pressure shifting coefficient |
[in] | interp | The interpolation variable for AER type line mixing |
Definition at line 1059 of file lineshapemodel.cc.
|
inline |
Definition at line 711 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 714 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 717 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 718 of file lineshapemodel.h.
References mdata.
Numeric LineShape::Model::D0 | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::D2 | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
|
inlinenoexcept |
The line shape model data.
Definition at line 721 of file lineshapemodel.h.
References mdata.
Referenced by LineShape::hitran_model(), LineShape::lblrtm_model(), LineShape::ModelMetaDataArray(), LineShape::ModelShape2MetaData(), Absorption::ReadFromArtscat5Stream(), Absorption::SingleLine::SetLineMixing2AER(), LineShape::LegacyLineMixingData::vector2modellm(), and LineShape::LegacyPressureBroadeningData::vector2modelpb().
|
inlinenoexcept |
The line shape model data reference.
Definition at line 724 of file lineshapemodel.h.
References mdata.
Numeric LineShape::Model::dD0dT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dD2dT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dDVdT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dETAdT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dFVCdT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dG0dT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dG2dT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dGdT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::DV | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::dYdT | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
|
inline |
Definition at line 712 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 715 of file lineshapemodel.h.
References mdata.
Numeric LineShape::Model::ETA | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::FVC | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::G | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::G0 | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
Numeric LineShape::Model::G2 | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
|
noexcept |
Definition at line 1179 of file lineshapemodel.cc.
|
inlinenoexcept |
|
noexcept |
|
inline |
Get a SingleSpeciesModel.
[in] | i | Position in mdata |
Definition at line 702 of file lineshapemodel.h.
References mdata.
|
inline |
Get a SingleSpeciesModel.
[in] | i | Position in mdata |
Definition at line 709 of file lineshapemodel.h.
References mdata.
Binary read for Model.
Definition at line 1193 of file lineshapemodel.cc.
References mdata.
Referenced by Absorption::SingleLine::read().
void LineShape::Model::Remove | ( | Index | i, |
ArrayOfSpecies & | specs | ||
) |
Definition at line 1166 of file lineshapemodel.cc.
References mdata.
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
[in] | i | Index of position to remove |
Definition at line 1161 of file lineshapemodel.cc.
References mdata.
Referenced by LineShape::from_artscat4().
|
inline |
Reserve function for Model.
Just reserves, does nothing with the new data
[in] | n | New reserves of mspecies and mdata |
Definition at line 695 of file lineshapemodel.h.
References mdata.
|
inline |
Resize function for Model.
Just resizes, does nothing with the new data
[in] | n | New size of mspecies and mdata |
Definition at line 687 of file lineshapemodel.h.
References mdata.
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
[in] | x | Model containing new line mixing data |
Definition at line 1171 of file lineshapemodel.cc.
References mdata.
Referenced by Absorption::ReadFromArtscat5Stream(), and Absorption::SingleLine::SetLineMixing2SecondOrderData().
|
inline |
Binary write for Model.
Definition at line 1199 of file lineshapemodel.cc.
References mdata.
Referenced by Absorption::SingleLine::write().
Numeric LineShape::Model::Y | ( | Numeric | T, |
Numeric | T0, | ||
Numeric | P, | ||
const Vector & | vmrs | ||
) | const |
|
friend |
|
friend |
|
friend |
Definition at line 526 of file lineshapemodel.cc.
|
friend |
Definition at line 531 of file lineshapemodel.cc.
|
private |
Definition at line 628 of file lineshapemodel.h.
Referenced by begin(), begin(), cbegin(), cend(), Data(), Data(), end(), end(), LineShape::from_artscat4(), LineShape::from_linefunctiondata(), nelem(), operator[](), operator[](), read(), Remove(), Remove(), reserve(), resize(), SetLineMixingModel(), size(), and write().