1 #ifndef FORWARD_MODEL_SPECTRAL_GRID_H 2 #define FORWARD_MODEL_SPECTRAL_GRID_H 35 : inst(Inst), spectral_window(Spectral_window), spectrum_sampling(Spectrum_sampling) {};
39 virtual void print(std::ostream& Os)
const {Os <<
"ForwardModelSpectralGrid";}
70 const std::vector<int>
pixel_list(
int Spec_index)
const;
const SpectralDomain high_resolution_grid(int Spec_index) const
The high resolution grid, possibly nonuniform.
const SpectralDomain high_resolution_interpolated_grid(int Spec_index) const
The high resolution grid, interpolated to be uniform.
virtual void print(std::ostream &Os) const
const std::vector< int > pixel_list(int Spec_index) const
Pixel indexes to use for low resolution grid.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
ForwardModelSpectralGrid()
This is the Forward Model spectral grid.
int number_spectrometer() const
Number of spectrometer.
Spectrum interpolate_spectrum(const Spectrum &Spec_in, int Spec_index) const
Interpolate a spectrum to the high_resolution_interpolated_grid() sampling.
This is a Mixin for classes that can be printed.
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
const SpectralDomain low_resolution_grid(int Spec_index) const
The low resolution grid.
ForwardModelSpectralGrid(const boost::shared_ptr< Instrument > &Inst, const boost::shared_ptr< SpectralWindow > &Spectral_window, const boost::shared_ptr< SpectrumSampling > &Spectrum_sampling)
virtual ~ForwardModelSpectralGrid()