|
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().