1 #ifndef RADIATIVE_TRANSFER_IMP_BASE_H 2 #define RADIATIVE_TRANSFER_IMP_BASE_H 29 bool Skip_jacobian =
false)
const = 0;
32 bool Skip_jacobian =
false)
const 44 virtual void print(std::ostream& Os,
bool Short_form =
false)
const { Os <<
desc(); }
50 virtual std::string
desc()
const {
return "RadiativeTransferImpBase"; }
64 const blitz::Array<bool, 1>& Used_flag)
Interface class for radiative transfer implementations that happen to have retrievable parameters...
virtual boost::shared_ptr< RadiativeTransferRetrievable > clone() const =0
virtual Spectrum reflectance(const SpectralDomain &Spec_domain, int Spec_index, bool Skip_jacobian=false) const
Calculate reflectance for the given set of wavenumbers/wavelengths.
RadiativeTransferImpBase()
Default constructor, derived class should call init if they use this constructor. ...
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
RadiativeTransferImpBase(const blitz::Array< double, 1 > &Coeff, const blitz::Array< bool, 1 > &Used_flag)
Constructor that sets the coefficient() and used_flag() values.
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
virtual ~RadiativeTransferImpBase()
virtual boost::shared_ptr< Spectrum > reflectance_ptr(const SpectralDomain &Spec_domain, int Spec_index, bool Skip_jacobian=false) const =0
For the sake of being able to return a Spectrum class from Python The reflectance_ptr method here ser...
virtual void print(std::ostream &Os, bool Short_form=false) const
Print to stream.
virtual std::string desc() const
Description of object, to be printed to stream.
It is common to have a class that is an Observable with a set of coefficients, a subset of which are ...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...