ARTS 2.5.10 (git: 2f1c442c)
|
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 647 of file lineshapemodel.h.
|
inlinenoexcept |
Default init just sets the size.
Definition at line 653 of file lineshapemodel.h.
|
inlineexplicitnoexcept |
Init from copying a vector.
Definition at line 656 of file lineshapemodel.h.
|
inlinenoexcept |
Init from copying itself.
Definition at line 659 of file lineshapemodel.h.
|
inlineexplicitnoexcept |
Init from moving a vector.
Definition at line 662 of file lineshapemodel.h.
|
inlinenoexcept |
Init from moving a itself.
Definition at line 665 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 1079 of file lineshapemodel.cc.
|
inline |
Definition at line 732 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 735 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 738 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 739 of file lineshapemodel.h.
References mdata.
Referenced by ENUMCLASS().
Referenced by ENUMCLASS().
|
inlinenoexcept |
The line shape model data.
Definition at line 742 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 745 of file lineshapemodel.h.
References mdata.
Referenced by ENUMCLASS().
|
inline |
Definition at line 733 of file lineshapemodel.h.
References mdata.
|
inline |
Definition at line 736 of file lineshapemodel.h.
References mdata.
Referenced by ENUMCLASS().
Referenced by ENUMCLASS().
Referenced by ENUMCLASS().
Referenced by ENUMCLASS().
Referenced by ENUMCLASS().
|
noexcept |
Definition at line 1199 of file lineshapemodel.cc.
|
inlinenoexcept |
|
noexcept |
|
inline |
Get a SingleSpeciesModel.
[in] | i | Position in mdata |
Definition at line 723 of file lineshapemodel.h.
References mdata.
|
inline |
Get a SingleSpeciesModel.
[in] | i | Position in mdata |
Definition at line 730 of file lineshapemodel.h.
References mdata.
Binary read for Model.
Definition at line 1213 of file lineshapemodel.cc.
References mdata.
Referenced by Absorption::SingleLine::read().
void LineShape::Model::Remove | ( | Index | i, |
ArrayOfSpecies & | specs | ||
) |
Definition at line 1186 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 1181 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 716 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 708 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 1191 of file lineshapemodel.cc.
References mdata.
Referenced by Absorption::ReadFromArtscat5Stream(), and Absorption::SingleLine::SetLineMixing2SecondOrderData().
|
inline |
Binary write for Model.
Definition at line 1219 of file lineshapemodel.cc.
References mdata.
Referenced by Absorption::SingleLine::write().
Referenced by ENUMCLASS().
|
friend |
|
friend |
|
friend |
Definition at line 546 of file lineshapemodel.cc.
|
friend |
Definition at line 551 of file lineshapemodel.cc.
|
private |
Definition at line 649 of file lineshapemodel.h.
Referenced by begin(), cbegin(), cend(), Data(), end(), LineShape::from_artscat4(), LineShape::from_linefunctiondata(), nelem(), operator[](), read(), Remove(), reserve(), resize(), SetLineMixingModel(), size(), and write().