20#include "matpack_data.h"
33 const ConstVectorView& frequency,
34 const Numeric& temperature,
36 const Numeric& T_extrapolfac,
41 const Species::Species sp1,
42 const Species::Species sp2);
45 const std::vector<std::shared_ptr<CIARecord>>& cia_data,
46 const Species::Species sp1,
47 const Species::Species sp2);
86 [[nodiscard]] Species::Species
Species(
const Index i)
const {
104 return mdata[dataset].get_numeric_grid(0);
113 return mdata[dataset].get_numeric_grid(1);
122 return mdata[dataset];
137 void SetSpecies(
const Species::Species first,
const Species::Species second) {
154 void Extract(VectorView result,
155 const ConstVectorView& f_grid,
156 const Numeric& temperature,
157 const Numeric& T_extrapolfac,
173 [[nodiscard]] Numeric
Extract(
const Numeric& frequency,
174 const Numeric& temperature,
175 const Numeric& T_extrapolfac,
179 const Vector freqvec(1, frequency);
202 [[nodiscard]] std::array<Species::Species, 2>
TwoSpecies()
const {
210 Species::Species spec1,
211 Species::Species spec2)
220 const ArrayOfVector& cia);
Index cia_get_index(const ArrayOfCIARecord &cia_data, const Species::Species sp1, const Species::Species sp2)
Get the index in cia_data for the two given species.
std::shared_ptr< CIARecord > cia_get_data(const std::vector< std::shared_ptr< CIARecord > > &cia_data, const Species::Species sp1, const Species::Species sp2)
Get the correct cia recrod.
void cia_interpolation(VectorView result, const ConstVectorView &frequency, const Numeric &temperature, const GriddedField2 &cia_data, const Numeric &T_extrapolfac, const Index &robust, const Verbosity &verbosity)
Interpolate CIA data.
This can be used to make arrays out of anything.
Index nelem() const ARTS_NOEXCEPT
CIA data for a single pair of molecules.
friend void xml_read_from_stream(istream &is_xml, CIARecord &cr, bifstream *pbifs, const Verbosity &verbosity)
Reads CIARecord from XML input stream.
std::array< Species::Species, 2 > mspecies
The pair of molecules associated with these CIA data.
void SetSpecies(const Species::Species first, const Species::Species second)
Set CIA species.
ArrayOfGriddedField2 mdata
The data itself, directly from the HITRAN file.
CIARecord(ArrayOfGriddedField2 data, Species::Species spec1, Species::Species spec2)
void AppendDataset(const CIARecord &c2)
Append other CIARecord to this.
const ArrayOfGriddedField2 & Data() const
Return CIA data.
ArrayOfGriddedField2 & Data()
Return CIA data.
std::array< Species::Species, 2 > TwoSpecies() const
Species::Species Species(const Index i) const
Return CIA species index.
void ReadFromCIA(const String &filename, const Verbosity &verbosity)
Read CIA catalog file.
void SetMoleculeName(const Index i, const String &name)
Set each molecule name (from a string) that is associated with this CIARecord.
void Extract(VectorView result, const ConstVectorView &f_grid, const Numeric &temperature, const Numeric &T_extrapolfac, const Index &robust, const Verbosity &verbosity) const
Vector version of extract.
Index DatasetCount() const
Return number of datasets in this record.
std::array< Species::Species, 2 > & TwoSpecies()
ConstVectorView FrequencyGrid(Index dataset) const
Return frequency grid for given dataset.
friend ostream & operator<<(ostream &os, const CIARecord &cr)
Output operator for CIARecord.
String MoleculeName(const Index i) const
Return each molecule name (as a string) that is associated with this CIARecord.
Numeric Extract(const Numeric &frequency, const Numeric &temperature, const Numeric &T_extrapolfac, const Index &robust, const Verbosity &verbosity) const
Scalar version of extract.
ConstVectorView TemperatureGrid(Index dataset) const
Return temperatur grid for given dataset.
const GriddedField2 & Dataset(Index dataset) const
Return CIA dataset.
Binary output file stream class.
#define ARTS_ASSERT(condition,...)
Implementation of gridded fields.
Declarations having to do with the four output streams.
This file contains the definition of String, the ARTS string class.