ARTS
2.2.66
|
A tag group can consist of the sum of several of these. More...
#include <abs_species_tags.h>
Public Types | |
enum | { TYPE_PLAIN, TYPE_ZEEMAN, TYPE_PREDEF, TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_PARTICLES } |
Enum for type of this tag. More... | |
enum | { LINE_MIXING_TYPE_NONE, LINE_MIXING_TYPE_2NDORDER } |
Enum for line mixing 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... | |
Index | Isotopologue () const |
Isotopologue species index. More... | |
Numeric | Lf () const |
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... | |
Index | CIASecond () const |
Species index of the 2nd CIA species. More... | |
Index | CIADataset () const |
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... | |
Index | LineMixingType () const |
Return the line mixing type of this tag. 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 | mline_mixing_type |
Line Mixing 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 46 of file abs_species_tags.h.
anonymous enum |
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 |
Definition at line 116 of file abs_species_tags.h.
anonymous enum |
Enum for line mixing type of this tag.
See private member mline_mixing_type for more explanations.
Enumerator | |
---|---|
LINE_MIXING_TYPE_NONE | |
LINE_MIXING_TYPE_2NDORDER |
Definition at line 129 of file abs_species_tags.h.
|
inline |
Default constructor.
Definition at line 49 of file abs_species_tags.h.
SpeciesTag::SpeciesTag | ( | String | def | ) |
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(), SpeciesRecord::Isotopologue(), LINE_MIXING_TYPE_2NDORDER, LINE_MIXING_TYPE_NONE, mcia_dataset, mcia_second, misotopologue, mlf, mline_mixing_type, mspecies, mtype, muf, Array< base >::nelem(), my_basic_string< charT >::nelem(), my_basic_string< charT >::npos, global_data::species_data, species_index_from_species_name(), my_basic_string< charT >::trim(), TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_PARTICLES, TYPE_PLAIN, TYPE_PREDEF, and TYPE_ZEEMAN.
|
inline |
CIA dataset index inside this CIA file.
Definition at line 85 of file abs_species_tags.h.
References mcia_dataset.
Referenced by abs_xsec_per_speciesAddCIA().
|
inline |
Species index of the 2nd CIA species.
Definition at line 82 of file abs_species_tags.h.
References mcia_second.
Referenced by abs_xsec_per_speciesAddCIA().
|
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 71 of file abs_species_tags.h.
References misotopologue.
Referenced by abs_lines_per_speciesCreateFromLines(), ArrayOfLineMixingRecordReadAscii(), main(), and xml_read_from_stream().
|
inline |
The lower line center frequency in Hz.
If this is <0 it means no lower limit.
Definition at line 75 of file abs_species_tags.h.
References mlf.
Referenced by abs_lines_per_speciesCreateFromLines().
|
inline |
Return the line mixing type of this tag.
See private member mtype for more explanations.
Definition at line 144 of file abs_species_tags.h.
References mline_mixing_type.
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 397 of file abs_species_tags.cc.
References SpeciesRecord::Isotopologue(), LINE_MIXING_TYPE_2NDORDER, LINE_MIXING_TYPE_NONE, mcia_dataset, mcia_second, misotopologue, mlf, mline_mixing_type, mspecies, mtype, muf, SpeciesRecord::Name(), Array< base >::nelem(), precision, global_data::species_data, species_name_from_species_index(), TYPE_CIA, TYPE_FREE_ELECTRONS, TYPE_PARTICLES, and TYPE_ZEEMAN.
Referenced by abs_xsec_per_speciesAddCIA(), main(), operator<<(), 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 99 of file abs_species_tags.h.
References mcia_dataset, mcia_second, misotopologue, mlf, mline_mixing_type, mspecies, mtype, muf, and TYPE_CIA.
|
inline |
Molecular species index.
Definition at line 66 of file abs_species_tags.h.
References mspecies.
Referenced by abs_lines_per_speciesCreateFromLines(), abs_xsec_per_speciesAddCIA(), array_species_tag_from_string(), ArrayOfLineMixingRecordReadAscii(), main(), and xml_read_from_stream().
|
inline |
Return the type of this tag.
See private member mtype for more explanations.
Definition at line 138 of file abs_species_tags.h.
References mtype.
Referenced by abs_xsec_per_speciesAddCIA(), and array_species_tag_from_string().
|
inline |
The upper line center frequency in Hz: If this is <0 it means no upper limit.
Definition at line 79 of file abs_species_tags.h.
References muf.
Referenced by abs_lines_per_speciesCreateFromLines().
|
private |
CIA dataset index.
A CIA file contains several datasets. This index specifies which one we want.
Definition at line 197 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 193 of file abs_species_tags.h.
Referenced by 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 156 of file abs_species_tags.h.
Referenced by Isotopologue(), Name(), operator==(), and SpeciesTag().
|
private |
The lower limit line center frequency in Hz.
If this is <0 it means no lower limit.
Definition at line 160 of file abs_species_tags.h.
Referenced by Lf(), Name(), operator==(), and SpeciesTag().
|
private |
Line Mixing Type of this tag.
The type can be:
LINE_MIXING_TYPE_NONE: No line mixing LINE_MIXING_TYPE_2NDORDER: 2nd order line mixing
Definition at line 189 of file abs_species_tags.h.
Referenced by LineMixingType(), Name(), operator==(), and SpeciesTag().
|
private |
Molecular species index.
Definition at line 149 of file abs_species_tags.h.
Referenced by Name(), operator==(), Species(), 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
Definition at line 179 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 164 of file abs_species_tags.h.
Referenced by Name(), operator==(), SpeciesTag(), and Uf().