ARTS
2.4.0(git:4fb77825)
|
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... | |
Model & | operator= (const Model &m) |
Copy and equals. More... | |
Model & | operator= (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... | |
SingleSpeciesModel & | operator[] (Index i) |
Get a SingleSpeciesModel. More... | |
const SingleSpeciesModel & | operator[] (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 |
bifstream & | read (bifstream &bif) |
Binary read for Model. More... | |
bofstream & | write (bofstream &bof) const |
Binary write for Model. More... | |
Private Attributes | |
std::vector< SingleSpeciesModel > | mdata |
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) |
Main line shape model class.
Computes the line shape parameters for a given atmosphere
Definition at line 972 of file lineshapemodel.h.
|
inlinenoexcept |
Default init just sets the size.
Definition at line 978 of file lineshapemodel.h.
|
inlineexplicitnoexcept |
Init from copying a vector.
Definition at line 981 of file lineshapemodel.h.
|
inlinenoexcept |
Init from copying itself.
Definition at line 984 of file lineshapemodel.h.
|
inlineexplicitnoexcept |
Init from moving a vector.
Definition at line 987 of file lineshapemodel.h.
|
inlinenoexcept |
Init from moving a itself.
Definition at line 990 of file lineshapemodel.h.
|
inlinenoexcept |
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 1007 of file lineshapemodel.h.
|
inlinenoexcept |
The line shape model data.
Definition at line 1345 of file lineshapemodel.h.
References mdata.
Referenced by LineShape::ModelShape2MetaData(), LineShape::operator<<(), LineShape::operator>>(), Absorption::SingleLine::SetLineMixing2AER(), and LineShape::LegacyPressureBroadeningData::vector2modelpb().
|
inlinenoexcept |
The line shape model data reference.
Definition at line 1348 of file lineshapemodel.h.
References mdata.
|
inlinenoexcept |
Derivative of GetParams(...) wrt Coefficient.
[in] | T | The temperature |
[in] | T0 | The temperature used to derive the coefficients |
[in] | P | The pressure |
[in] | pos | Position of species in mspecies |
[in] | vmrs | The VMR vector as derived by this.vmrs() |
[in] | deriv | The derivative |
Definition at line 1274 of file lineshapemodel.h.
|
inlinenoexcept |
Compute all shape parameters.
[in] | T | The temperature |
[in] | T0 | The temperature used to derive the coefficients |
[in] | P | The pressure |
[in] | vmrs | The VMR vector as derived by this.vmrs() |
Definition at line 1202 of file lineshapemodel.h.
|
inlinenoexcept |
Derivative of GetParams(...) wrt T.
[in] | T | The temperature |
[in] | T0 | The temperature used to derive the coefficients |
[in] | P | The pressure |
[in] | vmrs | The VMR vector as derived by this.vmrs() |
Definition at line 1226 of file lineshapemodel.h.
|
inlinenoexcept |
Derivative of GetParams(...) wrt VMR.
[in] | T | The temperature |
[in] | T0 | The temperature used to derive the coefficients |
[in] | P | The pressure |
[in] | pos | Position of species in mspecies |
Definition at line 1250 of file lineshapemodel.h.
|
inlinenoexcept |
Definition at line 1380 of file lineshapemodel.h.
References mdata.
|
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().
|
inlinenoexcept |
The Model is good to use.
Definition at line 1049 of file lineshapemodel.h.
References mdata.
|
inline |
Get a SingleSpeciesModel.
[in] | i | Position in mdata |
Definition at line 1334 of file lineshapemodel.h.
References mdata.
|
inline |
Get a SingleSpeciesModel.
[in] | i | Position in mdata |
Definition at line 1341 of file lineshapemodel.h.
References mdata.
Binary read for Model.
Definition at line 1403 of file lineshapemodel.h.
Referenced by Absorption::SingleLine::read().
|
inline |
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 1357 of file lineshapemodel.h.
References mdata.
|
inline |
Reserve function for Model.
Just reserves, does nothing with the new data
[in] | n | New reserves of mspecies and mdata |
Definition at line 1327 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 1319 of file lineshapemodel.h.
References mdata.
|
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
[in] | x | Model containing new line mixing data |
Definition at line 1372 of file lineshapemodel.h.
References mdata, and ARTS::Var::x().
Referenced by Absorption::SingleLine::SetLineMixing2SecondOrderData().
|
inline |
Binary write for Model.
Definition at line 1410 of file lineshapemodel.h.
Referenced by Absorption::SingleLine::write().
|
friend |
|
friend |
|
private |
Definition at line 974 of file lineshapemodel.h.
Referenced by Data(), LineShape::from_artscat4(), LineShape::from_linefunctiondata(), Match(), nelem(), OK(), operator=(), operator[](), read(), Remove(), reserve(), resize(), SetLineMixingModel(), size(), and write().