ARTS
2.4.0(git:4fb77825)
|
Contains the line shape namespace. More...
#include <numeric>
#include <algorithm>
#include "abs_species_tags.h"
#include "constants.h"
#include "file.h"
#include "jacobian.h"
Go to the source code of this file.
Classes | |
struct | LineShape::ModelParameters |
Coefficients and temperature model for SingleSpeciesModel. More... | |
class | LineShape::SingleSpeciesModel |
Compute the line shape parameters for a single broadening species. More... | |
struct | LineShape::Output |
Main output of Model. More... | |
class | LineShape::Model |
Main line shape model class. More... | |
Namespaces | |
LineShape | |
Computations of line shape derived parameters. | |
LineShape::LegacyLineFunctionData | |
Legacy dealing with reading old LineFunctionData. | |
LineShape::LegacyLineMixingData | |
Legacy dealing with reading old LineMixingData. | |
LineShape::LegacyPressureBroadeningData | |
Legacy dealing with reading old PressureBroadeningData. | |
Macros | |
#define | VARIABLE2STRINGDEF(X) |
#define | STRING2VARIABLEDEF(X) if (type == #X) return Variable::X |
#define | x0 X[Index(var)].X0 |
#define | x1 X[Index(var)].X1 |
#define | x2 X[Index(var)].X2 |
#define | x3 X[Index(var)].X3 |
#define | ACCESS_INTERNAL(VARPOS) |
#define | MODELPARAMCASESETTER(X) |
#define | MODELPARAMCASEGETTER(X) case Variable::X: out = X(); break; |
#define | LSPC(XVAR, PVAR) |
#define | LSPCV(XVAR, PVAR) |
#define | LSPCT(XVAR, PVAR) |
#define | LSPDC(XVAR, DERIV, PVAR) |
#define | RETURNINTERNALDERIVATIVE(TYPE) |
Typedefs | |
typedef LineShape::Model | LineShapeModel |
typedef LineShape::SingleSpeciesModel | LineShapeSingleSpeciesModel |
Functions | |
JacPropMatType | select_derivativeLineShape (const String &var, const String &coeff) |
Return the derivative type based on string input. More... | |
ArrayOfString | AllLineShapeCoeffs () |
All available line shape coefficients. More... | |
ArrayOfString | AllLineShapeVars () |
All available line shape variables. More... | |
String | LineShape::temperaturemodel2string (TemperatureModel type) noexcept |
Turns selected TemperatureModel type into a string. More... | |
TemperatureModel | LineShape::string2temperaturemodel (const String &type) |
Turns predefined strings into a TemperatureModel type. More... | |
std::ostream & | LineShape::operator<< (std::ostream &os, Variable v) |
Output operator for Variable to be human-readable. More... | |
String | LineShape::variable2string (Variable type) noexcept |
Turns selected Variable type into a string. More... | |
Variable | LineShape::string2variable (const String &type) |
Turns predefined strings into a Variable type. More... | |
String | LineShape::modelparameters2metadata (const ModelParameters mp, const Numeric T0) |
Numeric & | LineShape::SingleModelParameter (ModelParameters &mp, const String &type) |
Get a coefficient from ModelParameters by name. More... | |
bool | LineShape::modelparameterEmpty (const ModelParameters mp) noexcept |
std::ostream & | LineShape::operator<< (std::ostream &os, const ModelParameters &mp) |
Output operator for ModelParameters. More... | |
std::istream & | LineShape::operator>> (std::istream &is, ModelParameters &mp) |
Input operator for ModelParameters. More... | |
std::ostream & | LineShape::operator<< (std::ostream &os, const SingleSpeciesModel &ssm) |
Output operator for SingleSpeciesModel. More... | |
std::istream & | LineShape::operator>> (std::istream &is, SingleSpeciesModel &ssm) |
Input operator for SingleSpeciesModel. More... | |
String | LineShape::shapetype2string (Type type) noexcept |
Turns selected Type into a string. More... | |
String | LineShape::shapetype2metadatastring (Type type) noexcept |
Turns selected Type into a human readable string. More... | |
Type | LineShape::string2shapetype (const String &type) |
Turns predefined strings into a Type. More... | |
std::ostream & | LineShape::operator<< (std::ostream &os, Output x) |
Output operator for LineShape::Output. More... | |
constexpr Output | LineShape::mirroredOutput (Output x) noexcept |
Output to be used by mirroring calls. More... | |
constexpr Output | LineShape::negativeOutput (Output x) noexcept |
Output turned negative. More... | |
constexpr Output | LineShape::si2cgs (Output x) noexcept |
Output turned from SI to CGS units. More... | |
constexpr Output | LineShape::differenceOutput (Output y, Output x) noexcept |
Diff of two output. More... | |
Vector | LineShape::vmrs (const ConstVectorView &atmospheric_vmrs, const ArrayOfArrayOfSpeciesTag &atmospheric_species, const QuantumIdentifier &self, const ArrayOfSpeciesTag &lineshape_species, bool self_in_list, bool bath_in_list, Type type) |
Returns a VMR vector for this model's main calculations. More... | |
std::ostream & | LineShape::operator<< (std::ostream &, const Model &) |
std::istream & | LineShape::operator>> (std::istream &, Model &) |
String | LineShape::ModelShape2MetaData (const Model &m) |
Model | LineShape::MetaData2ModelShape (const String &s) |
ArrayOfString | LineShape::ModelMetaDataArray (const Model &m, const bool self, const bool bath, const ArrayOfSpeciesTag &sts, const Numeric T0) |
std::istream & | LineShape::from_artscat4 (std::istream &is, Type &type, bool &self, bool &bath, Model &m, ArrayOfSpeciesTag &species, const QuantumIdentifier &qid) |
std::istream & | LineShape::from_linefunctiondata (std::istream &data, Type &type, bool &self, bool &bath, Model &m, ArrayOfSpeciesTag &species) |
std::istream & | LineShape::from_linemixingdata (std::istream &data, Model &lsc) |
Legacy reading of old deprecated LineMixingData class. More... | |
std::istream & | LineShape::from_pressurebroadeningdata (std::istream &data, LineShape::Type &type, bool &self, bool &bath, Model &m, ArrayOfSpeciesTag &species, const QuantumIdentifier &qid) |
Legacy reading of old deprecated PressureBroadeningData class. More... | |
Index | LineShape::LegacyLineFunctionData::temperaturemodel2legacynelem (TemperatureModel type) noexcept |
Length per variable for temperature model. More... | |
std::vector< Variable > | LineShape::LegacyLineFunctionData::lineshapetag2variablesvector (String type) |
Line shape models from string. More... | |
std::vector< Variable > | LineShape::LegacyLineFunctionData::linemixingtag2variablesvector (String type) |
Line mixing models from string. More... | |
LegacyLineMixingData::TypeLM | LineShape::LegacyLineMixingData::string2typelm (String type) |
Line mixing types from string. More... | |
Index | LineShape::LegacyLineMixingData::typelm2nelem (LegacyLineMixingData::TypeLM type) |
Line mixing types to number. More... | |
Model | LineShape::LegacyLineMixingData::vector2modellm (Vector x, LegacyLineMixingData::TypeLM type) |
LineShape::Model from legacy input vector. More... | |
LegacyPressureBroadeningData::TypePB | LineShape::LegacyPressureBroadeningData::string2typepb (String type) |
Pressure broadening types from string. More... | |
Index | LineShape::LegacyPressureBroadeningData::self_listed (const QuantumIdentifier &qid, LegacyPressureBroadeningData::TypePB t) |
Pressure broadening if self exist. More... | |
Index | LineShape::LegacyPressureBroadeningData::typepb2nelem (LegacyPressureBroadeningData::TypePB type) |
Pressure broadening types to number of elements. More... | |
void | LineShape::LegacyPressureBroadeningData::vector2modelpb (LineShape::Type &mtype, bool &self, bool &bath, Model &m, ArrayOfSpeciesTag &species, Vector x, LegacyPressureBroadeningData::TypePB type, bool self_in_list) |
LineShape::Model from legacy input vector. More... | |
Variables | |
constexpr Index | LineShape::nmaxTempModelParams = 4 |
Current max number of coefficients. More... | |
constexpr Index | LineShape::nVars = 9 |
Current max number of line shape variables. More... | |
Contains the line shape namespace.
Contains the line shape namespace
This namespace computes all line shape parameters for any set of line shape we can use in ARTS. Should be extended for more use as seen fit.
Definition in file lineshapemodel.h.
#define ACCESS_INTERNAL | ( | VARPOS | ) |
Definition at line 679 of file lineshapemodel.h.
#define LSPC | ( | XVAR, | |
PVAR | |||
) |
Definition at line 1060 of file lineshapemodel.h.
#define LSPCT | ( | XVAR, | |
PVAR | |||
) |
Definition at line 1107 of file lineshapemodel.h.
#define LSPCV | ( | XVAR, | |
PVAR | |||
) |
#define LSPDC | ( | XVAR, | |
DERIV, | |||
PVAR | |||
) |
#define MODELPARAMCASEGETTER | ( | X | ) | case Variable::X: out = X(); break; |
#define MODELPARAMCASESETTER | ( | X | ) |
#define RETURNINTERNALDERIVATIVE | ( | TYPE | ) |
#define STRING2VARIABLEDEF | ( | X | ) | if (type == #X) return Variable::X |
#define VARIABLE2STRINGDEF | ( | X | ) |
#define x0 X[Index(var)].X0 |
Definition at line 413 of file lineshapemodel.h.
#define x1 X[Index(var)].X1 |
Definition at line 414 of file lineshapemodel.h.
#define x2 X[Index(var)].X2 |
Definition at line 415 of file lineshapemodel.h.
#define x3 X[Index(var)].X3 |
Definition at line 416 of file lineshapemodel.h.
typedef LineShape::Model LineShapeModel |
Definition at line 1660 of file lineshapemodel.h.
Definition at line 1661 of file lineshapemodel.h.
ArrayOfString AllLineShapeCoeffs | ( | ) |
All available line shape coefficients.
Definition at line 37 of file lineshapemodel.cc.
Referenced by jacobianAddShapeCatalogParameters(), and select_derivativeLineShape().
ArrayOfString AllLineShapeVars | ( | ) |
All available line shape variables.
Definition at line 39 of file lineshapemodel.cc.
Referenced by jacobianAddShapeCatalogParameters(), LineShape::MetaData2ModelShape(), LineShape::ModelShape2MetaData(), and select_derivativeLineShape().
JacPropMatType select_derivativeLineShape | ( | const String & | var, |
const String & | coeff | ||
) |
Return the derivative type based on string input.
[in] | var | Variable in AllLineShapeVars() |
[in] | coeff | Coefficient in AllLineShapeCoeffs() |
Definition at line 43 of file lineshapemodel.cc.
References AllLineShapeCoeffs(), AllLineShapeVars(), and linalg::var().
Referenced by jacobianAddShapeCatalogParameter().