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