38 (
const blitz::Array<double, 1>& High_resolution_wave_number,
39 const blitz::Array<double, 1>& High_resolution_radiance,
40 const std::vector<int>& Pixel_list)
const = 0;
60 (
const blitz::Array<double, 1>& High_resolution_wave_number,
62 const std::vector<int>& Pixel_list)
const = 0;
68 virtual std::string
band_name()
const = 0;
virtual DoubleWithUnit ils_half_width() const =0
This is the half width of the ILS.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual void remove_observer(Observer< Ils > &Obs)
Remove an observer.
void add_observer_do(Observer< Ils > &Obs, Ils &t)
Add an observer.
This is an observer of a StateVector.
virtual std::string hdf_band_name() const
In general, the name used in HDF files for a particular band is similar but not identical to the more...
void remove_observer_do(Observer< Ils > &Obs, Ils &t)
Remove an observer.
virtual void add_observer(Observer< Ils > &Obs)
Add an observer.
Mixin for a class that allows other classes to observe it state.
virtual SpectralDomain pixel_grid() const =0
This is the pixel grid for each pixel.
virtual std::string band_name() const =0
Descriptive name of the band.
We frequently have a double with units associated with it.
virtual boost::shared_ptr< Ils > clone() const =0
Clone an Ils object.
This class models an Instrument Line Shape (ILS).
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual blitz::Array< double, 1 > apply_ils(const blitz::Array< double, 1 > &High_resolution_wave_number, const blitz::Array< double, 1 > &High_resolution_radiance, const std::vector< int > &Pixel_list) const =0
Apply the ILS.