Go to the documentation of this file.
100 const String& description,
131 const Index& ind_lsn,
189 const Index& mytrantag,
190 const Index& hitrantag,
210 #endif // ifndef NDEBUG
248 Numeric actual_temperature )
const
258 os <<
"Negative value of partition function was obtained for "
259 <<
mname <<
".\nProbably caused by low or negative temperature.";
260 throw runtime_error(os.str());
262 return qcoeff_at_t_ref / qtemp;
334 #endif // #ifndef NDEBUG
1013 const Index& isotopeindex)
1154 const Index ind_lsn,
1202 #endif // absorption_h
IsotopeRecord(const String &name, const Numeric &abundance, const Numeric &mass, const Index &mytrantag, const Index &hitrantag, const MakeArray< Index > &jpltags)
Constructor that sets the values.
const IsotopeRecord & IsotopeData() const
The matching IsotopeRecord from species_data.
Numeric Ti0() const
Reference temperature for I0 in K:
Numeric CalculatePartitionFctAtTemp(Numeric temperature) const
Numeric dNair() const
Accuracy for AGAM temperature exponent in relative value :
Numeric Uf() const
The upper line center frequency in Hz: If this is <0 it means no upper limit.
const String & Description() const
Return the description text.
Array< LineshapeSpec > ArrayOfLineshapeSpec
Holds a list of lineshape specifications: function, normalization, cutoff.
Numeric Sgam() const
Self broadened width in Hz/Pa:
lsnf_type mfunction
Pointer to lineshape normalization function.
OneTag()
Default constructor.
const ArrayOfIndex & JplTags() const
JPL tag numbers for all isotopes.
Array< LineRecord > ArrayOfLineRecord
Holds a list of spectral line data.
lsf_type mfunction
Pointer to lineshape function.
const String & Description() const
Return the description text.
void refr_index_Boudouris(Vector &refr_index, ConstVectorView p_abs, ConstVectorView t_abs, ConstVectorView h2o_abs)
Calculates the refractive index at microwave frequncies following Boudouris 1963.
void setSgam(Numeric new_sgam)
Set Self broadened width in Hz/Pa:
lsnf_type Function() const
Return pointer to lineshape normalization function.
LineRecord(Index species, Index isotope, Numeric f, Numeric psf, Numeric i0, Numeric ti0, Numeric elow, Numeric agam, Numeric sgam, Numeric nair, Numeric nself, Numeric tgam, const ArrayOfNumeric &aux, Numeric, Numeric, Numeric, Numeric, Numeric, Numeric, Numeric)
Constructor that sets all data elements explicitly.
const Index & Ind_ls() const
Return the index of this lineshape.
Numeric Agam() const
Air broadened width in Hz/Pa:
const String & Name() const
Return the name of this lineshape.
Numeric Nself() const
SGAM temperature exponent (dimensionless):
LineshapeNormRecord(const String &name, const String &description, lsnf_type function)
Initializing constructor, used to build the lookup table.
String Version() const
Return the version String.
void(* lsnf_type)(Vector &, Numeric, VectorView, const Numeric, const Index)
The type that is used to store pointers to lineshape normalization functions.
String get_tag_group_name(const Array< OneTag > &tg)
Print the name of a tag group.
Lineshape related information.
Index Species() const
Molecular species index.
const Numeric & Abundance() const
Normal abundance ( = isotopic ratio).
bool ReadFromHitran2004Stream(istream &is)
Read one line from a stream associated with a HITRAN 2004 file.
lsf_type Function() const
Return pointer to lineshape function.
This file contains the definition of Array.
const String & Name() const
Isotope name.
const Numeric & Cutoff() const
Return the cutoff frequency (in Hz).
String Name() const
Return the full name of this tag according to Bredbeck convention.
bool ReadFromJplStream(istream &is)
Read one line from a stream associated with a JPL file.
const Index & MytranTag() const
MYTRAN2 tag numers for all isotopes.
const Index & Ind_lsn() const
Return the index of the normalization factor.
void convHitranIERF(Numeric &mdf, const Index &df)
const Index & HitranTag() const
HITRAN-96 tag numers for all isotopes.
void write_lines_to_stream(ostream &os, const ArrayOfLineRecord &lines)
A helper function that writes lines in a line list to a stream.
void convMytranIER(Numeric &mdh, const Index &dh)
Numeric Elow() const
Lower state energy in cm^-1:
String mdescription
Short description.
Array< IsotopeRecord > misotope
Isotope data.
Numeric wavenumber_to_joule(Numeric e)
A little helper function to convert energy from units of wavenumber (cm^-1) to Joule (J).
Numeric Psf() const
The pressure shift parameter in Hz/Pa.
void convHitranIERSH(Numeric &mdh, const Index &dh)
Array< SpeciesRecord > species_data
bool ReadFromMytran2Stream(istream &is)
Read one line from a stream associated with a MYTRAN2 file.
SpeciesRecord()
Default constructor.
String Name() const
The full name of the species and isotope.
Array< IsotopeRecord > & Isotope()
const Index & Isotopeindex() const
bool ReadFromHitranStream(istream &is)
Read one line from a stream associated with a HITRAN 1986-2001 file.
void setNair(Numeric new_mnair)
Set AGAM temperature exponent (dimensionless):
Numeric dNself() const
Accuracy for SGAM temperature exponent in relative value:
NUMERIC Numeric
The type to use for all floating point numbers.
Array< Array< OneTag > > TagGroups
Contains the available tag groups.
Contains the lookup data for one isotope.
void define_species_map()
Define the species data map.
Array< Array< LineRecord > > ArrayOfArrayOfLineRecord
Holds a lists of spectral line data for each tag group.
Index Isotope() const
The index of the isotopic species that this line belongs to.
void SetInd_ls(Index ind_ls)
Set it.
const Array< IsotopeRecord > & Isotope() const
const Index & Speciesindex() const
void SetPartitionFctCoeff(const ArrayOfNumeric &qcoeff)
void refr_index_BoudourisDryAir(Vector &refr_index, ConstVectorView p_abs, ConstVectorView t_abs)
Calculates the refractive index for dry air at microwave frequncies following Boudouris 1963.
Implements the class MakeArray, which is a derived class of Array, allowing explicit initialization.
void setPsf(Numeric new_mpsf)
Set the pressure shift parameter in Hz/Pa.
void get_tag_group_index_for_tag_group(Index &tags1_index, const TagGroups &tags1, const Array< OneTag > &tags2)
Returns the index of the tag group tg2 within the array of tag groups tgs1.
Spectral line catalog data.
SpecIsoMap(const Index &speciesindex, const Index &isotopeindex)
ostream & operator<<(ostream &os, const LineRecord &lr)
Output operator for LineRecord.
void SetCutoff(Numeric cutoff)
Set it.
void setF(Numeric new_mf)
Set the line center frequency in Hz.
Index Species() const
The index of the molecular species that this line belongs to.
Contains the lookup data for one species.
Lineshape related specification like which lineshape to use, the normalizationfactor,...
void(* lsf_type)(Vector &, Vector &, Numeric, Numeric, Numeric, VectorView, const Index)
The type that is used to store pointers to lineshape functions.
IsotopeRecord(const IsotopeRecord &x)
Copy constructor.
void xsec_species(MatrixView xsec, ConstVectorView f_mono, ConstVectorView p_abs, ConstVectorView t_abs, ConstVectorView h2o_abs, ConstVectorView vmr, const ArrayOfLineRecord &lines, const Index ind_ls, const Index ind_lsn, const Numeric cutoff)
Calculate line absorption cross sections for one tag group.
A tag group can consist of the sum of several of these.
void get_tagindex_for_Strings(ArrayOfIndex &tags1_index, const TagGroups &tags1, const ArrayOfString &tags2_Strings)
Returns the index among some tag groups for an array of tag Strings.
Numeric dSgam() const
Accuracy for self broadened width in relative value :
Index mdegfr
Degrees of freedom.
String mname
Name of the function (e.g., Lorentz).
Numeric dAgam() const
Accuracy for air broadened width in relative value :
Numeric dF() const
Accuracy for line position in Hz :
String mname
Species name.
const String & Name() const
Return the name of this lineshape.
void SetInd_lsn(Index ind_lsn)
Set it.
LineRecord()
Default constructor.
const Numeric & Mass() const
Mass of the isotope.
INDEX Index
The type to use for all integer numbers and indices.
LineshapeRecord(const String &name, const String &description, lsf_type function)
Initializing constructor, used to build the lookup table.
bool ReadFromArtsStream(istream &is)
Read one line from a stream associated with an Arts file.
const String & Name() const
Index Naux() const
Number of auxiliary parameters.
String mdescription
Short description.
void setNself(Numeric new_mnself)
Set SGAM temperature exponent (dimensionless):
const SpeciesRecord & SpeciesData() const
The matching SpeciesRecord from species_data.
LineshapeNormRecord()
Default constructor.
LineshapeSpec(const Index &ind_ls, const Index &ind_lsn, const Numeric &cutoff)
Initializing constructor.
LineshapeSpec()
Default constructor.
Index Isotope() const
Isotopic species index.
void setAgam(Numeric new_agam)
Set Air broadened width in Hz/Pa:
Numeric Lf() const
The lower line center frequency in Hz.
Explicit construction of Arrays.
IsotopeRecord()
Default constructor.
String mname
Name of the function (e.g., linear).
Numeric Tgam() const
Reference temperature for AGAM and SGAM in K:
Numeric F() const
The line center frequency in Hz.
const ArrayOfNumeric & Aux() const
Auxiliary parameters.
LineshapeRecord()
Default constructor.
A constant view of a Vector.
friend void linesElowToJoule(Array< LineRecord > &lines)
Make the helper function linesElowToJoule a friend, so that it can change the lower state energy.
Lineshape related normalization function information.
Index nelem() const
Number of elements.
Numeric I0() const
The line intensity in m^2*Hz at the reference temperature Ti0.
void setI0(Numeric new_mi0)
Set Intensity.
Numeric dPsf() const
Accuracy for pressure shift in relative value :
Numeric dI0() const
Accuracy for line intensity in relative value :
This file contains the definition of String, the ARTS string class.
SpeciesRecord(const char name[], const Index degfr, const MakeArray< IsotopeRecord > &isotope)
The constructor used in define_species_data.
Numeric Nair() const
AGAM temperature exponent (dimensionless):
static const Index mversion
Numeric CalculatePartitionFctRatio(Numeric reference_temperature, Numeric actual_temperature) const
Calculate partition function ratio.