1 #ifndef SPECTRUM_EFFECT_H 2 #define SPECTRUM_EFFECT_H 7 class ForwardModelSpectralGrid;
50 virtual std::string
name()
const = 0;
virtual std::string name() const =0
Name of spectrum effect, for use when outputting effects of effect.
This is the Forward Model spectral grid.
void add_observer_do(Observer< SpectrumEffect > &Obs, SpectrumEffect &t)
Add an observer.
This is an observer of a StateVector.
virtual ~SpectrumEffect()
void remove_observer_do(Observer< SpectrumEffect > &Obs, SpectrumEffect &t)
Remove an observer.
This class models models any effects that need to be applied to high resolution spectra after the rad...
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
Mixin for a class that allows other classes to observe it state.
virtual void add_observer(Observer< SpectrumEffect > &Obs)
Add an observer.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual void apply_effect(Spectrum &Spec, const ForwardModelSpectralGrid &Forward_model_grid) const =0
Apply correction to spectrum in place.
virtual boost::shared_ptr< SpectrumEffect > clone() const =0
Clone a SpectrumEffect object.
virtual void remove_observer(Observer< SpectrumEffect > &Obs)
Remove an observer.