1 #ifndef SOLAR_ABSORPTION_AND_CONTINUUM_H 2 #define SOLAR_ABSORPTION_AND_CONTINUUM_H 7 #include <boost/shared_ptr.hpp> 36 : doppler_shift_(doppler_shiftv),
37 absorption_spectrum_(absorption_spectrumv),
38 continuum_spectrum_(continuum_spectrumv)
52 continuum_spectrum_));
67 {
return doppler_shift_;}
74 {
return *absorption_spectrum_;}
81 const {
return absorption_spectrum_;}
88 {
return *continuum_spectrum_;}
95 const {
return continuum_spectrum_;}
96 virtual void print(std::ostream& Os)
const;
This class calculates the solar continuum spectrum.
const boost::shared_ptr< SolarDopplerShift > & doppler_shift_ptr() const
The SolarDopplerShift object used by this class, as a ptr.
virtual ~SolarAbsorptionAndContinuum()
This applies a solar model to reflectance to model the incoming solar irradiance. ...
virtual Spectrum solar_spectrum(const SpectralDomain &Spec_domain) const
Calculate solar spectrum.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
const boost::shared_ptr< SolarContinuumSpectrum > & continuum_spectrum_ptr() const
The SolarContinuumSpectrum object used by this class, as a ptr.
SolarAbsorptionAndContinuum(const boost::shared_ptr< SolarDopplerShift > &doppler_shiftv, const boost::shared_ptr< SolarAbsorptionSpectrum > &absorption_spectrumv, const boost::shared_ptr< SolarContinuumSpectrum > &continuum_spectrumv)
Create a SolarModel that uses the given doppler shift, absorption spectrum, and continuum spectrum...
This class calculates the solar absorption spectrum.
const SolarDopplerShift & doppler_shift() const
The SolarDopplerShift object used by this class.
This class handles the solar Doppler stretch to calculate the shift of the solar lines with respect t...
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
This applies a solar model to radiances to model the incoming solar irradiance.
const boost::shared_ptr< SolarAbsorptionSpectrum > & absorption_spectrum_ptr() const
The SolarAbsorptionSpectrum object used by this class, as a ptr.
const SolarAbsorptionSpectrum & absorption_spectrum() const
The SolarAbsorptionSpectrum object used by this class.
const SolarContinuumSpectrum & continuum_spectrum() const
The SolarContinuumSpectrum object used by this class.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual boost::shared_ptr< SpectrumEffect > clone() const
Clone a SolarAbsorptionAndContinuum object.
virtual void print(std::ostream &Os) const
Print description of object.