1 #ifndef GAS_ABSORPTION_H 2 #define GAS_ABSORPTION_H 7 #include <blitz/array.h> 68 virtual void print(std::ostream& Os)
const {Os <<
"GasAbsorption";}
virtual DoubleWithUnit absorption_cross_section(double Wn, const DoubleWithUnit &Press, const DoubleWithUnit &Temp, const DoubleWithUnit &Broadener_vmr) const =0
This interpolates the ABSCO data to give absorption cross section for a given pressure, temperature, and broadener VMR.
This is a AutoDerivative that also has units associated with it.
virtual void print(std::ostream &Os) const
This is a Mixin for classes that can be printed.
virtual bool have_data(double wn) const =0
Return true if we have data for the given wave number.
virtual std::string broadener_name() const =0
For some tables, we might have a broadener (e.g., "h2o").
We frequently have a double with units associated with it.
This class determine the gaseous absorption coefficient for a given wave number, temperature and pres...
Contains classes to abstract away details in various Spurr Radiative Transfer software.