1 #ifndef INSTRUMENT_DOPPLER_H 2 #define INSTRUMENT_DOPPLER_H 4 #include <boost/lexical_cast.hpp> 5 #include <boost/shared_ptr.hpp> 18 const bool Used_flag =
false);
20 const std::string& Relative_velocity_units,
21 const bool Used_flag =
false);
30 {
return "Instrument Doppler Correction " + boost::lexical_cast<std::string>(i + 1); }
31 virtual void print(std::ostream& Os)
const;
33 virtual std::string
name()
const {
return "instrument_doppler"; }
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
virtual void apply_effect(Spectrum &Spec, const ForwardModelSpectralGrid &Forward_model_grid) const
Apply correction to spectrum in place.
Corrects Spectrum spectral domain to account for the doppler shift due to the relative velocity betwe...
This is the Forward Model spectral grid.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
virtual std::string name() const
Name of spectrum effect, for use when outputting effects of effect.
virtual boost::shared_ptr< SpectrumEffect > clone() const
Clone a SpectrumEffect object.
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
InstrumentDoppler(const DoubleWithUnit &Relative_velocity, const bool Used_flag=false)
We frequently have a double with units associated with it.
virtual std::string sub_state_identifier() const
Return a string to identify this part of the state, this name should be all lower case and seperate p...
Libraries such as boost::units allow unit handling where we know the units at compile time...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual void print(std::ostream &Os) const