ARTS 2.5.11 (git: 725533f0)
species_tags.h File Reference
#include <algorithm>
#include <set>
#include "array.h"
#include "enums.h"
#include "isotopologues.h"
#include "matpack_data.h"
#include "mystring.h"

Go to the source code of this file.

Classes

class  ArrayOfSpeciesTag
 
struct  SpeciesTagTypeStatus
 Struct to test of an ArrayOfArrayOfSpeciesTag contains a tagtype. More...
 

Namespaces

namespace  Species
 

Typedefs

using SpeciesTagType = Species::TagType
 
using SpeciesTag = Species::Tag
 
using ArrayOfArrayOfSpeciesTag = Array< ArrayOfSpeciesTag >
 

Functions

 Species::ENUMCLASS (TagType, unsigned char, Plain, Zeeman, Predefined, Cia, FreeElectrons, Particles, XsecFit) struct Tag
 
Index find_next_species (const ArrayOfArrayOfSpeciesTag &abs_species, Species::Species spec, Index i) noexcept
 
Index find_first_species (const ArrayOfArrayOfSpeciesTag &abs_species, Species::Species spec) noexcept
 
std::pair< Index, Index > find_first_species_tag (const ArrayOfArrayOfSpeciesTag &abs_species, const SpeciesTag &tag) noexcept
 
std::pair< Index, Index > find_first_isotologue (const ArrayOfArrayOfSpeciesTag &abs_species, const SpeciesIsotopeRecord &isot) noexcept
 
void check_abs_species (const ArrayOfArrayOfSpeciesTag &abs_species)
 
std::set< Species::Species > lbl_species (const ArrayOfArrayOfSpeciesTag &) noexcept
 
Numeric Species::first_vmr (const ArrayOfArrayOfSpeciesTag &abs_species, const Vector &rtp_vmr, const Species spec) ARTS_NOEXCEPT
 
Array< Tag > Species::parse_tags (std::string_view text)
 Parse a list of species tags into an Array<Tag>
 

Typedef Documentation

◆ ArrayOfArrayOfSpeciesTag

Definition at line 165 of file species_tags.h.

◆ SpeciesTag

using SpeciesTag = Species::Tag

Definition at line 94 of file species_tags.h.

◆ SpeciesTagType

using SpeciesTagType = Species::TagType

Definition at line 92 of file species_tags.h.

Function Documentation

◆ check_abs_species()

void check_abs_species ( const ArrayOfArrayOfSpeciesTag abs_species)

Checks on the correctness of the tags will be performed, e.g. free_electrons and particles species are only allowed once in abs_species.

Parameters
tagsArray of Array of SpeciesTag.
Author
Oliver Lemke
Date
2013-04-23

Definition at line 311 of file species_tags.cc.

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

Referenced by propmat_clearskyAddCIA(), propmat_clearskyAddLines(), and zeeman_on_the_fly().

◆ find_first_isotologue()

std::pair< Index, Index > find_first_isotologue ( const ArrayOfArrayOfSpeciesTag abs_species,
const SpeciesIsotopeRecord isot 
)
noexcept

Find the first species tag of this type

Parameters
[in]abs_speciesAs WSV
[in]isotAn isotopologue record
Returns
[i, j] so that abs_species[i][j] is the same isotopologue record as isot, or [-1, -1] if there's no such thing

Definition at line 297 of file species_tags.cc.

◆ find_first_species()

Index find_first_species ( const ArrayOfArrayOfSpeciesTag abs_species,
Species::Species  spec 
)
noexcept

Find the first species of this type

Parameters
[in]abs_speciesAs WSV
[in]specA Species
Returns
An index larger or equal to 0 pointing to the first species, or -1 if there's no such species

Definition at line 282 of file species_tags.cc.

References find_next_species().

Referenced by abs_xsec_per_speciesAddCIA(), GasAbsLookup::Extract(), propmat_clearskyAddCIA(), refr_index_airMicrowavesEarth(), refr_index_airMicrowavesGeneral(), and set_vmr_from_first_species().

◆ find_first_species_tag()

std::pair< Index, Index > find_first_species_tag ( const ArrayOfArrayOfSpeciesTag abs_species,
const SpeciesTag tag 
)
noexcept

Find the first species tag of this type

Parameters
[in]abs_speciesAs WSV
[in]tagA Species tag
Returns
[i, j] so that abs_species[i][j] is tag, or [-1, -1] if there's no such thing

Definition at line 287 of file species_tags.cc.

◆ find_next_species()

Index find_next_species ( const ArrayOfArrayOfSpeciesTag abs_species,
Species::Species  spec,
Index  i 
)
noexcept

Find the next species of this type inclusively after the start index

Parameters
[in]abs_speciesAs WSV
[in]specA Species
[in]iThe starting index in the outermost
Returns
An index larger or equal to i pointing to the next species, or -1 if there's no next species

Definition at line 273 of file species_tags.cc.

Referenced by find_first_species().

◆ lbl_species()

std::set< Species::Species > lbl_species ( const ArrayOfArrayOfSpeciesTag abs_species)
noexcept

Find species that requires line-by-line calculations

Parameters
abs_speciesAs WSV
Returns
The set of unique species that requires line-by-line calculations

Definition at line 360 of file species_tags.cc.

Referenced by abs_lines_per_speciesReadSpeciesSplitCatalog(), and ReadSplitARTSCAT().