1 #ifndef SPECTRUM_SAMPLING_H 2 #define SPECTRUM_SAMPLING_H 7 #include <blitz/array.h> 61 virtual void print(std::ostream& Os)
const {Os <<
"SpectrumSampling";}
virtual bool need_interpolation(int Spec_index) const
Indicate if spectral_domain and spectral_domain_interpolated are different at all.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
int number_spectrometer() const
Number of spectrometers we have.
This is a Mixin for classes that can be printed.
virtual void print(std::ostream &Os) const
Print to stream.
virtual ~SpectrumSampling()
This determines the sampling of the spectrum that should be used for each of the spectrum indexes...
SpectrumSampling()
Default constructor, derived classes should set nspectrometer.
We frequently have a double with units associated with it.
SpectrumSampling(int num_spectrometer)
Constructor.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual SpectralDomain spectral_domain(int spec_index, const SpectralDomain &Lowres_grid, const DoubleWithUnit &Ils_half_width) const =0
Wavenumbers/Wavelengths to use for the given spectrometer.
virtual SpectralDomain spectral_domain_interpolated(int Spec_index, const SpectralDomain &Lowres_grid, const DoubleWithUnit &Ils_half_width) const
The interpolated spectral domain.