ARTS
2.3.1285(git:92a29ea9-dirty)
|
A tag group can consist of the sum of several of these. More...
#include <abs_species_tags.h>
Public Types | |
enum | : Index { TYPE_PLAIN, TYPE_ZEEMAN, TYPE_PREDEF, TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_PARTICLES, TYPE_HITRAN_XSEC } |
Enum for type of this tag. More... | |
Public Member Functions | |
SpeciesTag () | |
Default constructor. More... | |
SpeciesTag (String def) | |
Constructor from a tag definition String. More... | |
String | Name () const |
Return the full name of the tag. More... | |
Index | Species () const |
Molecular species index. More... | |
void | Species (Index x) |
Set molecular species index. More... | |
Index | BathSpecies () const |
Molecular species index. More... | |
String | SpeciesNameMain () const |
Name of main species. More... | |
Numeric | SpeciesMass () const |
Mass of main species. More... | |
bool | IsSpecies (const String &s) const |
Check if the species is same as SpeciesTag(s).Species() More... | |
bool | IsIsotopologue (const String &i) const |
Check if the isotopologue is same as SpeciesTag(s).Isotopologue() More... | |
Index | Isotopologue () const |
Isotopologue species index. More... | |
void | Isotopologue (Index x) |
Isotopologue species index. More... | |
Numeric | Lf () const |
The lower line center frequency in Hz. More... | |
void | Lf (Numeric x) |
The lower line center frequency in Hz. More... | |
Numeric | Uf () const |
The upper line center frequency in Hz: If this is <0 it means no upper limit. More... | |
void | Uf (Numeric x) |
The upper line center frequency in Hz: If this is <0 it means no upper limit. More... | |
Index | CIASecond () const |
Species index of the 2nd CIA species. More... | |
void | CIASecond (Index x) |
Species index of the 2nd CIA species. More... | |
Index | CIADataset () const |
CIA dataset index inside this CIA file. More... | |
void | CIADataset (Index x) |
CIA dataset index inside this CIA file. More... | |
bool | operator== (const SpeciesTag &other) const |
Comparison operator for species tags. More... | |
Index | Type () const |
Return the type of this tag. More... | |
void | Type (Index x) |
Return the type of this tag. More... | |
Index | string2Type (const String &str) const |
Static Public Member Functions | |
static bool | validIndexForType (Index x) noexcept |
Checks if input is a valid Type. More... | |
Private Attributes | |
Index | mspecies |
Molecular species index. More... | |
Index | misotopologue |
Isotopologue species index. More... | |
Numeric | mlf |
The lower limit line center frequency in Hz. More... | |
Numeric | muf |
The upper line center frequency in Hz. More... | |
Index | mtype |
Type of this tag. More... | |
Index | mcia_second |
2nd CIA species index. More... | |
Index | mcia_dataset |
CIA dataset index. More... | |
A tag group can consist of the sum of several of these.
Definition at line 44 of file abs_species_tags.h.
anonymous enum : Index |
Enum for type of this tag.
See private member mtype for more explanations.
Enumerator | |
---|---|
TYPE_PLAIN | |
TYPE_ZEEMAN | |
TYPE_PREDEF | |
TYPE_CIA | |
TYPE_FREE_ELECTRONS | |
TYPE_PARTICLES | |
TYPE_HITRAN_XSEC |
Definition at line 147 of file abs_species_tags.h.
|
inline |
|
explicit |
Constructor from a tag definition String.
For examples see documentation of member function Name().
def | String containing tag definition. |
runtime_error | The given String could not be mapped to a sensible tag description. |
Definition at line 48 of file abs_species_tags.cc.
References find_first(), i, mcia_dataset, mcia_second, misotopologue, mlf, mspecies, mtype, muf, n, my_basic_string< charT >::nelem(), Array< base >::nelem(), my_basic_string< charT >::npos, global_data::species_data, species_index_from_species_name(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), my_basic_string< charT >::trim(), TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_HITRAN_XSEC, TYPE_PARTICLES, TYPE_PREDEF, and TYPE_ZEEMAN.
|
inline |
Molecular species index.
Definition at line 70 of file abs_species_tags.h.
References i, IsIsotopologue(), IsSpecies(), mcia_second, SpeciesMass(), and SpeciesNameMain().
|
inline |
CIA dataset index inside this CIA file.
Definition at line 115 of file abs_species_tags.h.
References mcia_dataset.
Referenced by abs_xsec_per_speciesAddCIA().
|
inline |
CIA dataset index inside this CIA file.
Definition at line 118 of file abs_species_tags.h.
References mcia_dataset.
|
inline |
Species index of the 2nd CIA species.
Definition at line 109 of file abs_species_tags.h.
References mcia_second.
Referenced by abs_xsec_per_speciesAddCIA(), and CIARecordReadFromFile().
|
inline |
Species index of the 2nd CIA species.
Definition at line 112 of file abs_species_tags.h.
References mcia_second.
bool SpeciesTag::IsIsotopologue | ( | const String & | i | ) | const |
Check if the isotopologue is same as SpeciesTag(s).Isotopologue()
Definition at line 430 of file abs_species_tags.cc.
References SpeciesRecord::Isotopologue(), misotopologue, mspecies, Array< base >::nelem(), global_data::species_data, and species_index_from_species_name().
Referenced by BathSpecies().
|
inline |
Isotopologue species index.
If this is equal to the number of isotopologues (one more than allowed) it means all isotopologues of this species.
Definition at line 87 of file abs_species_tags.h.
References misotopologue.
Referenced by Zeeman::GetAdvancedModel(), and SpeciesAuxData::getIsotopologueRatio().
|
inline |
Isotopologue species index.
Definition at line 90 of file abs_species_tags.h.
References misotopologue.
bool SpeciesTag::IsSpecies | ( | const String & | s | ) | const |
Check if the species is same as SpeciesTag(s).Species()
Definition at line 426 of file abs_species_tags.cc.
References mspecies, and species_index_from_species_name().
Referenced by BathSpecies().
|
inline |
The lower line center frequency in Hz.
If this is <0 it means no lower limit.
Definition at line 94 of file abs_species_tags.h.
References mlf.
|
inline |
The lower line center frequency in Hz.
If this is <0 it means no lower limit.
Definition at line 98 of file abs_species_tags.h.
References mlf.
String SpeciesTag::Name | ( | ) | const |
Return the full name of the tag.
Examples:
O3-*-*-* : All O3 lines O3-nl : O3, but without any lines O3-666-*-* : All O3-666 lines O3-*-500e9-501e9 : All O3 lines between 500 and 501 GHz.
Definition at line 336 of file abs_species_tags.cc.
References SpeciesRecord::Isotopologue(), mcia_dataset, mcia_second, misotopologue, mlf, mspecies, mtype, muf, SpeciesRecord::Name(), Array< base >::nelem(), precision, global_data::species_data, species_name_from_species_index(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_HITRAN_XSEC, TYPE_PARTICLES, and TYPE_ZEEMAN.
Referenced by abs_xsec_per_speciesAddCIA(), abs_xsec_per_speciesAddHitranXsec(), get_tag_group_index_for_tag_group(), operator<<(), SpeciesTag(), and xml_write_to_stream().
|
inline |
Comparison operator for species tags.
This returns false as soon as a singe discrepancy is detected. Otherwise it returns true at the end.
other | The other tag to compare to. |
Definition at line 132 of file abs_species_tags.h.
References mcia_dataset, mcia_second, misotopologue, mlf, mspecies, mtype, muf, and TYPE_CIA.
|
inline |
Molecular species index.
Definition at line 64 of file abs_species_tags.h.
References mspecies.
Referenced by abs_hitran_relmat_dataReadHitranRelmatDataAndLines(), abs_linesChangeLineShapeModelParameterForMatchingLines(), abs_linesSetLineShapeModelParameterForMatchingLines(), abs_xsec_per_speciesAddCIA(), abs_xsec_per_speciesAddHitranXsec(), array_species_tag_from_string(), CIARecordReadFromFile(), find_next_species_tg(), LineShape::Model::Get(), get_pointers_for_analytical_jacobians(), get_species_name(), SpeciesAuxData::getIsotopologueRatio(), propmat_clearskyAddHitranLineMixingLines(), LineShape::LegacyPressureBroadeningData::self_listed(), LineShape::Model::Set(), vmr_fieldClip(), vmr_fieldPerturb(), and vmr_fieldPerturbAtmGrids().
|
inline |
Numeric SpeciesTag::SpeciesMass | ( | ) | const |
Mass of main species.
Definition at line 412 of file abs_species_tags.cc.
References iso(), misotopologue, mspecies, Array< base >::nelem(), and global_data::species_data.
Referenced by BathSpecies().
String SpeciesTag::SpeciesNameMain | ( | ) | const |
Name of main species.
Definition at line 408 of file abs_species_tags.cc.
References mspecies, and species_name_from_species_index().
Referenced by BathSpecies(), and jacobianAddShapeCatalogParameter().
Definition at line 174 of file abs_species_tags.h.
References TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_HITRAN_XSEC, TYPE_PARTICLES, TYPE_PLAIN, TYPE_PREDEF, and TYPE_ZEEMAN.
|
inline |
Return the type of this tag.
See private member mtype for more explanations.
Definition at line 160 of file abs_species_tags.h.
References mtype.
Referenced by abs_xsec_per_speciesAddCIA(), abs_xsec_per_speciesAddHitranXsec(), array_species_tag_from_string(), check_abs_species(), CIARecordReadFromFile(), and is_zeeman().
|
inline |
Return the type of this tag.
See private member mtype for more explanations.
Definition at line 165 of file abs_species_tags.h.
References mtype.
|
inline |
The upper line center frequency in Hz: If this is <0 it means no upper limit.
Definition at line 102 of file abs_species_tags.h.
References muf.
|
inline |
The upper line center frequency in Hz: If this is <0 it means no upper limit.
Definition at line 106 of file abs_species_tags.h.
References muf.
|
inlinestaticnoexcept |
Checks if input is a valid Type.
Definition at line 168 of file abs_species_tags.h.
References stdarrayify(), TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_HITRAN_XSEC, TYPE_PARTICLES, TYPE_PLAIN, TYPE_PREDEF, and TYPE_ZEEMAN.
|
private |
CIA dataset index.
A CIA file contains several datasets. This index specifies which one we want.
Definition at line 235 of file abs_species_tags.h.
Referenced by CIADataset(), Name(), operator==(), and SpeciesTag().
|
private |
2nd CIA species index.
Contains the species index of the second CIA species that should be used for this tag.
Definition at line 231 of file abs_species_tags.h.
Referenced by BathSpecies(), CIASecond(), Name(), operator==(), and SpeciesTag().
|
private |
Isotopologue species index.
If this is equal to the number of isotopologues (one more than allowed) it means all isotopologues of this species. If it is <0 it means no isotopologue (no lines), corresponding to "H2O-nl"
Definition at line 203 of file abs_species_tags.h.
Referenced by IsIsotopologue(), Isotopologue(), Name(), operator==(), SpeciesMass(), and SpeciesTag().
|
private |
The lower limit line center frequency in Hz.
If this is <0 it means no lower limit.
Definition at line 207 of file abs_species_tags.h.
Referenced by Lf(), Name(), operator==(), and SpeciesTag().
|
private |
Molecular species index.
Definition at line 196 of file abs_species_tags.h.
Referenced by IsIsotopologue(), IsSpecies(), Name(), operator==(), Species(), SpeciesMass(), SpeciesNameMain(), and SpeciesTag().
|
private |
Type of this tag.
The type can be:
TYPE_PLAIN: A normal line-by-line tag TYPE_ZEEMAN: A line-by-line tag with Zeeman calculation TYPE_PREDEF: A tag for a predefined absorption model (continuum or full absorption model) TYPE_CIA: A HITRAN collision induces absorption (CIA) tag TYPE_FREE_ELECTRONS: A free electrons tag TYPE_PARTICLES: A particle tag TYPE_HITRAN_XSEC: A HITRAN absorption cross section tag
Definition at line 227 of file abs_species_tags.h.
Referenced by Name(), operator==(), SpeciesTag(), and Type().
|
private |
The upper line center frequency in Hz.
If this is <0 it means no upper limit.
Definition at line 211 of file abs_species_tags.h.
Referenced by Name(), operator==(), SpeciesTag(), and Uf().