ARTS 2.5.0 (git: 9ee3ac6c)
species_tags.cc File Reference
#include <cfloat>
#include "species_tags.h"

Go to the source code of this file.

Namespaces

namespace  Species
 

Functions

Index find_next_species (const ArrayOfArrayOfSpeciesTag &specs, Species::Species spec, Index i) noexcept
 
Index find_first_species (const ArrayOfArrayOfSpeciesTag &specs, Species::Species spec) noexcept
 
std::pair< Index, Indexfind_first_species_tag (const ArrayOfArrayOfSpeciesTag &specs, const SpeciesTag &tag) noexcept
 
std::pair< Index, Indexfind_first_isotologue (const ArrayOfArrayOfSpeciesTag &specs, const SpeciesIsotopeRecord &isot) noexcept
 
void check_abs_species (const ArrayOfArrayOfSpeciesTag &abs_species)
 
std::set< Species::Species > lbl_species (const ArrayOfArrayOfSpeciesTag &abs_species) noexcept
 

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 376 of file species_tags.cc.

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

Referenced by abs_speciesAdd(), abs_speciesAdd2(), abs_speciesSet(), 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 367 of file species_tags.cc.

References isot.

Referenced by propmat_clearskyAddPredefinedO2MPM2020().

◆ 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 355 of file species_tags.cc.

References find_next_species().

Referenced by abs_lookupSetup(), abs_lookupSetupBatch(), abs_xsec_per_speciesAddCIA(), GasAbsLookup::Extract(), propmat_clearskyAddPredefinedO2MPM2020(), refr_index_airMicrowavesEarth(), 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 359 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 349 of file species_tags.cc.

Referenced by choose_abs_nls(), and 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 426 of file species_tags.cc.

Referenced by abs_lines_per_speciesReadSpeciesSplitCatalog(), abs_lines_per_speciesReadSplitCatalog(), and ReadSplitARTSCAT().