ARTS  2.4.0(git:4fb77825)
RetrievalQuantity Class Reference

Deals with internal derivatives, Jacobian definition, and OEM calculations. More...

#include <jacobian.h>

Public Member Functions

 RetrievalQuantity ()
 Default constructor. More...
 
 RetrievalQuantity (const String &maintag, const String &subtag, const String &subsubtag, const String &mode, const Index &analytical, const Numeric &perturbation, const ArrayOfVector &grids)
 Constructor that sets the values. More...
 
const StringMainTag () const
 Returns the main tag. More...
 
void MainTag (const String &mt)
 Sets the main tag. More...
 
const StringSubtag () const
 Returns the sub-tag. More...
 
void Subtag (const String &st)
 Sets the sub-tag. More...
 
const StringSubSubtag () const
 Returns the sub-sub-tag. More...
 
void SubSubtag (const String &sst)
 Sets the sub-sub-tag. More...
 
const StringMode () const
 Returns the mode. More...
 
void Mode (const String &m)
 Sets the mode. More...
 
const IndexAnalytical () const
 Returns the analytical tag. More...
 
void Analytical (const Index &m)
 Sets the analytical tag. More...
 
const NumericPerturbation () const
 Returns the size of perturbation. More...
 
void Perturbation (const Numeric &p)
 Sets the size of perturbation. More...
 
const ArrayOfVectorGrids () const
 Returns the grids of the retrieval. More...
 
void Grids (const ArrayOfVector &g)
 Sets the grids of the retrieval. More...
 
JacPropMatType PropMatType () const
 Returns the propagation matrix derivative type. More...
 
void PropType (const JacPropMatType t)
 Sets the propagation matrix derivative type. More...
 
bool operator== (const JacPropMatType t) const
 Checks if this represents the propagation matrix derivative type. More...
 
bool operator!= (const JacPropMatType t) const
 Returns "not operator==(t)". More...
 
Index nelem () const
 Number of elements in the grids. More...
 
const QuantumIdentifierQuantumIdentity () const
 Returns the identity of this Jacobian. More...
 
void QuantumIdentity (const QuantumIdentifier &qi)
 Sets the identity of this Jacobian. More...
 
bool Integration () const
 Do integration? More...
 
void IntegrationOn ()
 Sets the integration flag to true. More...
 
void IntegrationOff ()
 Sets the integration flag to false. More...
 
void SetTransformationFunc (const String &s)
 Transformation. More...
 
void SetTFuncParameters (const Vector &p)
 
void SetTransformationMatrix (const Matrix &A)
 
void SetOffsetVector (const Vector &b)
 
bool HasAffine () const
 
const StringTransformationFunc () const
 
const VectorTFuncParameters () const
 
const MatrixTransformationMatrix () const
 
const VectorOffsetVector () const
 
bool HasSameInternalsAs (const RetrievalQuantity &a) const
 Checks that all the internal variables of *this match with those of the input. More...
 
StringMainTag ()
 
StringSubTag ()
 
StringSubSubTag ()
 
StringMode ()
 
IndexAnalytical ()
 
NumericPerturbation ()
 
ArrayOfVectorGrids ()
 
QuantumIdentifierQuantumIdentity ()
 
JacPropMatType Proptype () const
 
Index Proptype (JacPropMatType x)
 
void Integration (bool x)
 
StringTransformationFunc ()
 
VectorTFuncParameters ()
 
MatrixTransformation ()
 
VectorOffset ()
 

Static Public Member Functions

static bool validProptype (JacPropMatType x) noexcept
 

Private Attributes

String mmaintag
 
String msubtag
 
String msubsubtag
 
String mmode
 
Index manalytical
 
Numeric mperturbation
 
ArrayOfVector mgrids
 
QuantumIdentifier mquantumidentifier
 
JacPropMatType mproptype
 
bool mintegration_flag
 
String transformation_func
 
Vector tfunc_parameters
 
Matrix transformation_matrix
 
Vector offset_vector
 

Detailed Description

Deals with internal derivatives, Jacobian definition, and OEM calculations.

Definition at line 120 of file jacobian.h.

Constructor & Destructor Documentation

◆ RetrievalQuantity() [1/2]

RetrievalQuantity::RetrievalQuantity ( )
inline

Default constructor.

Needed by make_array.

Definition at line 123 of file jacobian.h.

◆ RetrievalQuantity() [2/2]

RetrievalQuantity::RetrievalQuantity ( const String maintag,
const String subtag,
const String subsubtag,
const String mode,
const Index analytical,
const Numeric perturbation,
const ArrayOfVector grids 
)
inline

Constructor that sets the values.

Parameters
[in]maintagThe main derivative
[in]subtagThe sub-derivative
[in]subsubtagThe sub-sub-derivative
[in]modeThe mode of the derivative
[in]analyticalBoolean analytical tag
[in]perturbationThe size of the perturbation required
[in]gridsThe retrieval grid

Definition at line 146 of file jacobian.h.

Member Function Documentation

◆ Analytical() [1/3]

Index& RetrievalQuantity::Analytical ( )
inline

Definition at line 367 of file jacobian.h.

References manalytical.

◆ Analytical() [2/3]

◆ Analytical() [3/3]

void RetrievalQuantity::Analytical ( const Index m)
inline

Sets the analytical tag.

Parameters
[in]mAn analytical tag

Definition at line 233 of file jacobian.h.

References manalytical.

◆ Grids() [1/3]

ArrayOfVector& RetrievalQuantity::Grids ( )
inline

Definition at line 369 of file jacobian.h.

References mgrids.

◆ Grids() [2/3]

◆ Grids() [3/3]

void RetrievalQuantity::Grids ( const ArrayOfVector g)
inline

Sets the grids of the retrieval.

Parameters
[in]gThe grids of the retrieval

Definition at line 261 of file jacobian.h.

References mgrids.

◆ HasAffine()

bool RetrievalQuantity::HasAffine ( ) const
inline

Definition at line 343 of file jacobian.h.

References ConstMatrixView::empty(), and transformation_matrix.

Referenced by jac_ranges_indices(), transform_x(), and transform_x_back().

◆ HasSameInternalsAs()

bool RetrievalQuantity::HasSameInternalsAs ( const RetrievalQuantity a) const
inline

Checks that all the internal variables of *this match with those of the input.

Parameters
[in]aAnother retrieval quantity object
Returns
true if the input performs the exact same Jacobian calculations
false otherwise

Definition at line 355 of file jacobian.h.

References manalytical, mmaintag, mmode, mproptype, mquantumidentifier, msubsubtag, and msubtag.

◆ Integration() [1/2]

bool RetrievalQuantity::Integration ( ) const
inline

Do integration?

Returns
true if the values should be integrated over all the grids
false otherwise

Definition at line 326 of file jacobian.h.

References mintegration_flag.

Referenced by diy_from_path_to_rgrids().

◆ Integration() [2/2]

void RetrievalQuantity::Integration ( bool  x)
inline

Definition at line 374 of file jacobian.h.

References mintegration_flag, and ARTS::Var::x().

◆ IntegrationOff()

void RetrievalQuantity::IntegrationOff ( )
inline

Sets the integration flag to false.

Definition at line 332 of file jacobian.h.

References mintegration_flag.

◆ IntegrationOn()

void RetrievalQuantity::IntegrationOn ( )
inline

Sets the integration flag to true.

Definition at line 329 of file jacobian.h.

References mintegration_flag.

Referenced by jacobianAddBasicCatalogParameter(), and jacobianAddShapeCatalogParameter().

◆ MainTag() [1/3]

String& RetrievalQuantity::MainTag ( )
inline

Definition at line 363 of file jacobian.h.

References mmaintag.

◆ MainTag() [2/3]

◆ MainTag() [3/3]

void RetrievalQuantity::MainTag ( const String mt)
inline

Sets the main tag.

Parameters
[in]mtA main tag

Definition at line 176 of file jacobian.h.

References mmaintag.

◆ Mode() [1/3]

String& RetrievalQuantity::Mode ( )
inline

Definition at line 366 of file jacobian.h.

References mmode.

◆ Mode() [2/3]

const String& RetrievalQuantity::Mode ( ) const
inline

Returns the mode.

Calculation mode. Eg. "abs", "rel", "vmr", "nd", "From propagation matrix". Note that the latter of these only supports "vmr" for abs species.

Returns
A representation of the mode

Definition at line 213 of file jacobian.h.

References mmode.

Referenced by jacobianAddAbsSpecies(), jacobianAddBasicCatalogParameter(), jacobianAddFreqShift(), jacobianAddFreqStretch(), jacobianAddPointingZa(), jacobianAddPolyfit(), jacobianAddShapeCatalogParameter(), jacobianAddSinefit(), jacobianAddTemperature(), operator<<(), and xml_write_to_stream().

◆ Mode() [3/3]

void RetrievalQuantity::Mode ( const String m)
inline

Sets the mode.

Parameters
[in]mA mode

Definition at line 219 of file jacobian.h.

References mmode.

◆ nelem()

Index RetrievalQuantity::nelem ( ) const
inline

Number of elements in the grids.

The multiplicative accumulation of grid elements

Returns
The number of elements if each grid represents a dimension

Definition at line 297 of file jacobian.h.

References mgrids, and Array< base >::nelem().

Referenced by jac_ranges_indices().

◆ Offset()

Vector& RetrievalQuantity::Offset ( )
inline

Definition at line 378 of file jacobian.h.

References offset_vector.

◆ OffsetVector()

const Vector& RetrievalQuantity::OffsetVector ( ) const
inline

Definition at line 347 of file jacobian.h.

References offset_vector.

Referenced by transform_x(), and transform_x_back().

◆ operator!=()

bool RetrievalQuantity::operator!= ( const JacPropMatType  t) const
inline

Returns "not operator==(t)".

Parameters
[in]tA propagation matrix derivative type
Returns
false if the input propagation matrix derivative type matches PropMatType()
true otherwise

Definition at line 289 of file jacobian.h.

References operator==().

◆ operator==()

bool RetrievalQuantity::operator== ( const JacPropMatType  t) const
inline

Checks if this represents the propagation matrix derivative type.

Parameters
[in]tA propagation matrix derivative type
Returns
true if the input propagation matrix derivative type matches PropMatType()
false otherwise

Definition at line 281 of file jacobian.h.

References mproptype.

Referenced by operator!=().

◆ Perturbation() [1/3]

Numeric& RetrievalQuantity::Perturbation ( )
inline

Definition at line 368 of file jacobian.h.

References mperturbation.

◆ Perturbation() [2/3]

const Numeric& RetrievalQuantity::Perturbation ( ) const
inline

◆ Perturbation() [3/3]

void RetrievalQuantity::Perturbation ( const Numeric p)
inline

Sets the size of perturbation.

Parameters
[in]pThe size of perturbation

Definition at line 247 of file jacobian.h.

References mperturbation.

◆ PropMatType()

JacPropMatType RetrievalQuantity::PropMatType ( ) const
inline

Returns the propagation matrix derivative type.

Returns
The propagation matrix derivative type

Definition at line 267 of file jacobian.h.

References mproptype.

Referenced by propmattype_string().

◆ Proptype() [1/2]

JacPropMatType RetrievalQuantity::Proptype ( ) const
inline

Definition at line 371 of file jacobian.h.

References mproptype.

◆ PropType()

void RetrievalQuantity::PropType ( const JacPropMatType  t)
inline

Sets the propagation matrix derivative type.

Parameters
[in]tThe propagation matrix derivative type

Definition at line 273 of file jacobian.h.

References mproptype.

Referenced by jacobianAddAbsSpecies(), jacobianAddBasicCatalogParameter(), jacobianAddMagField(), jacobianAddShapeCatalogParameter(), jacobianAddSpecialSpecies(), jacobianAddTemperature(), and jacobianAddWind().

◆ Proptype() [2/2]

Index RetrievalQuantity::Proptype ( JacPropMatType  x)
inline

Definition at line 372 of file jacobian.h.

References mproptype, validProptype(), and ARTS::Var::x().

◆ QuantumIdentity() [1/3]

QuantumIdentifier& RetrievalQuantity::QuantumIdentity ( )
inline

Definition at line 370 of file jacobian.h.

References mquantumidentifier.

◆ QuantumIdentity() [2/3]

const QuantumIdentifier& RetrievalQuantity::QuantumIdentity ( ) const
inline

Returns the identity of this Jacobian.

QuantumIdentifier as necessary for matching line specific parameters to Jacobian grid

Returns
The identity of this Jacobian

Definition at line 311 of file jacobian.h.

References mquantumidentifier.

Referenced by Linefunctions::apply_lineshapemodel_jacobian_scaling(), jacobianAddAbsSpecies(), jacobianAddBasicCatalogParameter(), jacobianAddNLTE(), jacobianAddShapeCatalogParameter(), species_iso_match(), and species_match().

◆ QuantumIdentity() [3/3]

void RetrievalQuantity::QuantumIdentity ( const QuantumIdentifier qi)
inline

Sets the identity of this Jacobian.

Parameters
[in]qiThe identity of this Jacobian

Definition at line 319 of file jacobian.h.

References mquantumidentifier.

◆ SetOffsetVector()

void RetrievalQuantity::SetOffsetVector ( const Vector b)
inline

Definition at line 342 of file jacobian.h.

References offset_vector.

◆ SetTFuncParameters()

void RetrievalQuantity::SetTFuncParameters ( const Vector p)
inline

Definition at line 340 of file jacobian.h.

References tfunc_parameters.

◆ SetTransformationFunc()

void RetrievalQuantity::SetTransformationFunc ( const String s)
inline

Transformation.

FIXMEDOC@Simon The transformations are yours to fix and document FIXMEDOC@Patrick The transformations are yours to fix and document

Definition at line 339 of file jacobian.h.

References transformation_func.

◆ SetTransformationMatrix()

void RetrievalQuantity::SetTransformationMatrix ( const Matrix A)
inline

Definition at line 341 of file jacobian.h.

References transformation_matrix.

◆ SubSubTag()

String& RetrievalQuantity::SubSubTag ( )
inline

Definition at line 365 of file jacobian.h.

References msubsubtag.

◆ SubSubtag() [1/2]

const String& RetrievalQuantity::SubSubtag ( ) const
inline

Returns the sub-sub-tag.

SubSubtag. Eg. for scat species fields: mass_density, mass_flux, ...

Returns
A representation of the sub-sub-tag

Definition at line 198 of file jacobian.h.

References msubsubtag.

Referenced by jacobianAddAbsSpecies(), jacobianAddBasicCatalogParameter(), jacobianAddMagField(), jacobianAddNLTE(), jacobianAddScatSpecies(), jacobianAddShapeCatalogParameter(), jacobianAddSpecialSpecies(), jacobianAddTemperature(), jacobianAddWind(), and xml_write_to_stream().

◆ SubSubtag() [2/2]

void RetrievalQuantity::SubSubtag ( const String sst)
inline

Sets the sub-sub-tag.

Parameters
[in]sstA sub-sub-tag

Definition at line 204 of file jacobian.h.

References msubsubtag.

◆ SubTag()

String& RetrievalQuantity::SubTag ( )
inline

Definition at line 364 of file jacobian.h.

References msubtag.

◆ Subtag() [1/2]

const String& RetrievalQuantity::Subtag ( ) const
inline

◆ Subtag() [2/2]

void RetrievalQuantity::Subtag ( const String st)
inline

Sets the sub-tag.

Parameters
[in]stA sub-tag

Definition at line 190 of file jacobian.h.

References msubtag.

◆ TFuncParameters() [1/2]

Vector& RetrievalQuantity::TFuncParameters ( )
inline

Definition at line 376 of file jacobian.h.

References tfunc_parameters.

◆ TFuncParameters() [2/2]

const Vector& RetrievalQuantity::TFuncParameters ( ) const
inline

Definition at line 345 of file jacobian.h.

References tfunc_parameters.

Referenced by transform_x(), and transform_x_back().

◆ Transformation()

Matrix& RetrievalQuantity::Transformation ( )
inline

Definition at line 377 of file jacobian.h.

References transformation_matrix.

◆ TransformationFunc() [1/2]

String& RetrievalQuantity::TransformationFunc ( )
inline

Definition at line 375 of file jacobian.h.

References transformation_func.

◆ TransformationFunc() [2/2]

const String& RetrievalQuantity::TransformationFunc ( ) const
inline

Definition at line 344 of file jacobian.h.

References transformation_func.

Referenced by transform_jacobian(), transform_x(), and transform_x_back().

◆ TransformationMatrix()

const Matrix& RetrievalQuantity::TransformationMatrix ( ) const
inline

Definition at line 346 of file jacobian.h.

References transformation_matrix.

Referenced by jac_ranges_indices(), transform_x(), and transform_x_back().

◆ validProptype()

static bool RetrievalQuantity::validProptype ( JacPropMatType  x)
inlinestaticnoexcept

Definition at line 373 of file jacobian.h.

References VMR, and ARTS::Var::x().

Referenced by Proptype().

Member Data Documentation

◆ manalytical

Index RetrievalQuantity::manalytical
private

Definition at line 385 of file jacobian.h.

Referenced by Analytical(), and HasSameInternalsAs().

◆ mgrids

ArrayOfVector RetrievalQuantity::mgrids
private

Definition at line 387 of file jacobian.h.

Referenced by Grids(), and nelem().

◆ mintegration_flag

bool RetrievalQuantity::mintegration_flag
private

Definition at line 390 of file jacobian.h.

Referenced by Integration(), IntegrationOff(), and IntegrationOn().

◆ mmaintag

String RetrievalQuantity::mmaintag
private

Definition at line 381 of file jacobian.h.

Referenced by HasSameInternalsAs(), and MainTag().

◆ mmode

String RetrievalQuantity::mmode
private

Definition at line 384 of file jacobian.h.

Referenced by HasSameInternalsAs(), and Mode().

◆ mperturbation

Numeric RetrievalQuantity::mperturbation
private

Definition at line 386 of file jacobian.h.

Referenced by Perturbation().

◆ mproptype

JacPropMatType RetrievalQuantity::mproptype
private

Definition at line 389 of file jacobian.h.

Referenced by HasSameInternalsAs(), operator==(), PropMatType(), Proptype(), and PropType().

◆ mquantumidentifier

QuantumIdentifier RetrievalQuantity::mquantumidentifier
private

Definition at line 388 of file jacobian.h.

Referenced by HasSameInternalsAs(), and QuantumIdentity().

◆ msubsubtag

String RetrievalQuantity::msubsubtag
private

Definition at line 383 of file jacobian.h.

Referenced by HasSameInternalsAs(), SubSubTag(), and SubSubtag().

◆ msubtag

String RetrievalQuantity::msubtag
private

Definition at line 382 of file jacobian.h.

Referenced by HasSameInternalsAs(), SubTag(), and Subtag().

◆ offset_vector

Vector RetrievalQuantity::offset_vector
private

Definition at line 396 of file jacobian.h.

Referenced by Offset(), OffsetVector(), and SetOffsetVector().

◆ tfunc_parameters

Vector RetrievalQuantity::tfunc_parameters
private

Definition at line 393 of file jacobian.h.

Referenced by SetTFuncParameters(), and TFuncParameters().

◆ transformation_func

String RetrievalQuantity::transformation_func
private

Definition at line 392 of file jacobian.h.

Referenced by SetTransformationFunc(), and TransformationFunc().

◆ transformation_matrix

Matrix RetrievalQuantity::transformation_matrix
private

The documentation for this class was generated from the following file: