10 .def(luabind::constructor<const DoubleWithUnit&, const bool>())
11 .def(luabind::constructor<const DoubleWithUnit&>())
12 .def(luabind::constructor<const double, const std::string&, const bool>())
13 .def(luabind::constructor<const double, const std::string&>())
19 : vel_units(Relative_velocity.
units)
21 Array<double, 1> c(1);
22 c = Relative_velocity.
value;
29 const std::string& Relative_velocity_units,
31 : vel_units(Relative_velocity_units)
33 Array<double, 1> c(1);
34 c = Relative_velocity_value;
48 if (spec_dom_ad.number_variable() == 0) {
53 spec_dom_ad(w_idx) = spec_dom_ad(w_idx)
56 spec_dom_ad(w_idx) = spec_dom_ad(w_idx)
68 Os <<
"InstrumentDoppler" << std::endl
69 <<
" Relative velocity: " <<
coefficient().
value() <<
" " << vel_units << std::endl;
void resize_number_variable(int nvar)
virtual void apply_effect(Spectrum &Spec, const ForwardModelSpectralGrid &Forward_model_grid) const
Apply correction to spectrum in place.
const ArrayAd< double, 1 > & data_ad() const
Underlying data, possibly with a Jacobian.
Corrects Spectrum spectral domain to account for the doppler shift due to the relative velocity betwe...
This is the Forward Model spectral grid.
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
virtual boost::shared_ptr< SpectrumEffect > clone() const
Clone a SpectrumEffect object.
Apply value function to a blitz array.
This class models models any effects that need to be applied to high resolution spectra after the rad...
const blitz::Array< T, D > & value() const
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.
TypePreference type_preference() const
Indicate if this class prefers wavelength or wavenumber.
const ArrayAd< double, 1 > & coefficient() const
blitz::Array< bool, 1 > used_flag
Flag indicating which of the coefficients gets updated by the StateVector.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
void init(const blitz::Array< double, 1 > &Coeff, const blitz::Array< bool, 1 > &Used_flag, const boost::shared_ptr< Pressure > &Press=boost::shared_ptr< Pressure >(), bool Mark_according_to_press=true, int Pdep_start=0)
#define REGISTER_LUA_END()
ArrayAd< double, 1 > coeff
Coefficients.
const SpectralDomain & spectral_domain() const
Spectral domain (i.e., wavenumber or wavelength).
virtual void print(std::ostream &Os) const
double value(const FullPhysics::AutoDerivative< double > &Ad)
const blitz::Array< double, 1 > & data() const
Return data.
const DoubleWithUnit speed_of_light(299792458, units::m/units::s)
Speed of light, in m/s.