1 #ifndef RADIATIVE_TRANSFER_FIXED_STOKES_COEFFICIENT_H 2 #define RADIATIVE_TRANSFER_FIXED_STOKES_COEFFICIENT_H 15 public Observable<std::vector<boost::shared_ptr<NamedSpectrum> > > {
35 bool Skip_jacobian =
false)
const;
36 virtual void print(std::ostream& Os,
bool Short_form =
false)
const virtual int number_spectrometer() const
Number of spectrometer we have.
virtual Spectrum reflectance(const SpectralDomain &Spec_domain, int Spec_index, bool Skip_jacobian=false) const
Calculate reflectance for the given set of wavenumbers/wavelengths.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
void add_observer_do(Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs, std::vector< boost::shared_ptr< NamedSpectrum > > &t)
Add an observer.
virtual void add_observer(Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs)
Required observable functions.
void remove_observer_do(Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs, std::vector< boost::shared_ptr< NamedSpectrum > > &t)
Remove an observer.
virtual void remove_observer(Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs)
Remove an observer.
virtual void print(std::ostream &Os, bool Short_form=false) const
Print to stream.
This runs a Radiative Transfer code to determine the reflectance for a given set of wavelengths...
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
Mixin for a class that allows other classes to observe it state.
RadiativeTransferFixedStokesCoefficient(const boost::shared_ptr< StokesCoefficient > &Stokes_coef)
Constructor.
virtual ~RadiativeTransferFixedStokesCoefficient()
Contains classes to abstract away details in various Spurr Radiative Transfer software.
RadiativeTransferFixedStokesCoefficient()
Default constructor, derived classes should set up stokes_coef.
boost::shared_ptr< StokesCoefficient > stokes_coef
Object to go from stokes vector to reflectance.
const boost::shared_ptr< StokesCoefficient > & stokes_coefficient() const
Stokes coefficients used to go from Stokes vector to scalar reflectance.
For GOSAT and OCO, we have a set of stokes coefficients to go from Stokes vector to radiation...
Simple Mixin to be and Observer of another object of class T.