ARTS 2.5.11 (git: 725533f0)
absorptionlines.h File Reference

Contains the absorption namespace. More...

#include "bifstream.h"
#include "bofstream.h"
#include "enums.h"
#include "jacobian.h"
#include "lineshapemodel.h"
#include "matpack_concepts.h"
#include "quantum_numbers.h"
#include "species_tags.h"
#include "zeemandata.h"
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  Absorption::SingleLine
 Computations and data for a single absorption line. More...
 
struct  Absorption::SingleLineExternal
 Single line reading output. More...
 
struct  Absorption::Lines
 
struct  AbsorptionMirroringTagTypeStatus
 
struct  AbsorptionNormalizationTagTypeStatus
 
struct  AbsorptionPopulationTagTypeStatus
 
struct  AbsorptionCutoffTagTypeStatus
 
struct  AbsorptionLineShapeTagTypeStatus
 
struct  AbsorptionTagTypesStatus
 
struct  AbsorptionSpeciesBandIndex
 Helper struct for flat_index. More...
 

Namespaces

namespace  Absorption
 Namespace to contain things required for absorption calculations.
 

Typedefs

using AbsorptionSingleLine = Absorption::SingleLine
 
using ArrayOfAbsorptionSingleLine = Array< AbsorptionSingleLine >
 
using AbsorptionLines = Absorption::Lines
 
using ArrayOfAbsorptionLines = Array< AbsorptionLines >
 
using ArrayOfArrayOfAbsorptionLines = Array< ArrayOfAbsorptionLines >
 
using AbsorptionNormalizationType = Absorption::NormalizationType
 
using AbsorptionPopulationType = Absorption::PopulationType
 
using AbsorptionMirroringType = Absorption::MirroringType
 
using AbsorptionCutoffType = Absorption::CutoffType
 

Functions

 Absorption::ENUMCLASS (MirroringType, char, None, Lorentz, SameAsLineShape, Manual) const expr std
 Describes the type of mirroring line effects.
 
 Absorption::ENUMCLASS (PopulationType, char, LTE, NLTE, VibTemps, ByHITRANRosenkranzRelmat, ByHITRANFullRelmat, ByMakarovFullRelmat, ByRovibLinearDipoleLineMixing) const expr std
 Describes the type of population level counter.
 
constexpr bool Absorption::relaxationtype_relmat (PopulationType in) noexcept
 
 Absorption::ENUMCLASS (CutoffType, char, None, ByLine) String cutofftype2metadatastring(CutoffType in
 Describes the type of cutoff calculations.
 
SingleLineExternal Absorption::ReadFromArtscat3Stream (istream &is)
 Read from ARTSCAT-3.
 
SingleLineExternal Absorption::ReadFromArtscat4Stream (istream &is)
 Read from ARTSCAT-4.
 
SingleLineExternal Absorption::ReadFromArtscat5Stream (istream &is)
 Read from ARTSCAT-5.
 
SingleLineExternal Absorption::ReadFromLBLRTMStream (istream &is)
 Read from LBLRTM.
 
SingleLineExternal Absorption::ReadFromHitran2004Stream (istream &is)
 Read from newer HITRAN.
 
SingleLineExternal Absorption::ReadFromHitranOnlineStream (istream &is)
 Read from HITRAN online.
 
SingleLineExternal Absorption::ReadFromHitran2001Stream (istream &is)
 Read from HITRAN before 2004.
 
SingleLineExternal Absorption::ReadFromJplStream (istream &is)
 Read from JPL.
 
std::vector< LinesAbsorption::split_list_of_external_lines (std::vector< SingleLineExternal > &external_lines, const std::vector< QuantumNumberType > &localquantas={}, const std::vector< QuantumNumberType > &globalquantas={})
 Splits a list of lines into proper Lines.
 
Index Absorption::nelem (const Lines &l)
 Number of lines.
 
Index Absorption::nelem (const Array< Lines > &l)
 Number of lines in list.
 
Index Absorption::nelem (const Array< Array< Lines > > &l)
 Number of lines in lists.
 
Numeric Absorption::reduced_rovibrational_dipole (Rational Jf, Rational Ji, Rational lf, Rational li, Rational k=Rational(1))
 Compute the reduced rovibrational dipole moment.
 
Numeric Absorption::reduced_magnetic_quadrapole (Rational Jf, Rational Ji, Rational N)
 Compute the reduced magnetic quadrapole moment.
 
bool Absorption::any_cutoff (const Array< Array< Lines > > &abs_lines_per_species)
 Checks if there are any cutoffs in the lines.
 
AbsorptionSpeciesBandIndex flat_index (Index i, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species)
 Get a flat index pair for species and band.
 

Variables

Numeric Absorption::cutoff
 

Detailed Description

Contains the absorption namespace.

Author
Richard Larsson
Date
2019-09-07

Contains the absorption lines implementation

This namespace contains classes to deal with absorption lines

Definition in file absorptionlines.h.

Typedef Documentation

◆ AbsorptionCutoffType

using AbsorptionCutoffType = Absorption::CutoffType

Definition at line 935 of file absorptionlines.h.

◆ AbsorptionLines

Definition at line 928 of file absorptionlines.h.

◆ AbsorptionMirroringType

using AbsorptionMirroringType = Absorption::MirroringType

Definition at line 934 of file absorptionlines.h.

◆ AbsorptionNormalizationType

using AbsorptionNormalizationType = Absorption::NormalizationType

Definition at line 932 of file absorptionlines.h.

◆ AbsorptionPopulationType

using AbsorptionPopulationType = Absorption::PopulationType

Definition at line 933 of file absorptionlines.h.

◆ AbsorptionSingleLine

◆ ArrayOfAbsorptionLines

Definition at line 929 of file absorptionlines.h.

◆ ArrayOfAbsorptionSingleLine

◆ ArrayOfArrayOfAbsorptionLines

Function Documentation

◆ flat_index()

AbsorptionSpeciesBandIndex flat_index ( Index  i,
const ArrayOfArrayOfSpeciesTag abs_species,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species 
)

Get a flat index pair for species and band.

Parameters
[in]iIndex smaller than the total number of bands but at least 0
[in]abs_speciesAs WSV
[in]abs_lines_per_speciesAs WSV
Returns
A valid AbsorptionSpeciesBandIndex

Definition at line 2837 of file absorptionlines.cc.

References Array< base >::nelem().

Referenced by propmat_clearskyAddLines().