ReFRACtor
|
This class handles the solar Doppler stretch to calculate the shift of the solar lines with respect to the telluric lines. More...
#include <solar_doppler_shift_polynomial.h>
Public Member Functions | |
SolarDopplerShiftPolynomial (const Time &t, const DoubleWithUnit &lat, const DoubleWithUnit &sol_zen, const DoubleWithUnit &sol_az, const DoubleWithUnit &elevation, const Constant &constant=DefaultConstant(), bool apply_doppler_shift=true) | |
Create a SolarDopplerShiftPolynomial. More... | |
SolarDopplerShiftPolynomial (double Doppler_shift, const Time &t, const Constant &constant=DefaultConstant(), bool apply_doppler_shift=true) | |
Create a SolarDopplerShiftPolynomial. More... | |
virtual | ~SolarDopplerShiftPolynomial () |
double | doppler_shift () const |
virtual SpectralDomain | doppler_stretch (const SpectralDomain &Spec_domain) const |
Shift wavenumbers to account for doppler stretch. More... | |
virtual void | print (std::ostream &Os) const |
Print description of object. More... | |
std::string | print_to_string () const |
Print to string. More... | |
virtual DoubleWithUnit | solar_distance () const |
Return Earth-Sun distance. More... | |
DoubleWithUnit | solar_velocity () const |
Velocity of the center of the earth to the center of the sun. More... | |
DoubleWithUnit | total_velocity () const |
Total velocity, including rotation of earth. More... | |
This class handles the solar Doppler stretch to calculate the shift of the solar lines with respect to the telluric lines.
This implementation uses a fit based on a 6th order polynomial fit to data from http://eclipse.gsfc.nasa.gov/TYPE/TYPE.html
Definition at line 17 of file solar_doppler_shift_polynomial.h.
SolarDopplerShiftPolynomial::SolarDopplerShiftPolynomial | ( | const Time & | t, |
const DoubleWithUnit & | lat, | ||
const DoubleWithUnit & | sol_zen, | ||
const DoubleWithUnit & | sol_az, | ||
const DoubleWithUnit & | elevation, | ||
const Constant & | constant = DefaultConstant() , |
||
bool | apply_doppler_shift = true |
||
) |
Create a SolarDopplerShiftPolynomial.
t | Time of sounding. |
lat | The geodetic latitude on the Earth's surface |
sol_zen | Solar zenith angle |
sol_az | Solar azmimuth angle (direction looking FOV->sun) in degrees east of north |
elevation | Elevation of point |
constant | Instance of Constant subtype, used for solar_distance_param |
apply_doppler_shift | Indicates if we should apply the doppler shift or not. If this is false, then we just pass the wave numbers through unchanged in doppler_stretch. |
Definition at line 103 of file solar_doppler_shift_polynomial.cc.
SolarDopplerShiftPolynomial::SolarDopplerShiftPolynomial | ( | double | Doppler_shift, |
const Time & | t, | ||
const Constant & | constant = DefaultConstant() , |
||
bool | apply_doppler_shift = true |
||
) |
Create a SolarDopplerShiftPolynomial.
This variation explicitly takes the doppler shift to apply. This is useful for FTS, where we want to use the doppler shift supplied in the runlog rather than calculating our own. Note that the solar distance calculation is still done by the fixed polynomial, only the doppler shift is changed.
t | Time of sounding. |
Doppler_shift | The doppler shift factor to use. |
constant | Instance of Constant subtype, used for solar_distance_param |
apply_doppler_shift | Indicates if we should apply the doppler shift or not. If this is false, then we just pass the wave numbers through unchanged in doppler_stretch. |
Definition at line 152 of file solar_doppler_shift_polynomial.cc.
|
inlinevirtual |
Definition at line 31 of file solar_doppler_shift_polynomial.h.
|
inline |
Definition at line 57 of file solar_doppler_shift_polynomial.h.
|
virtual |
Shift wavenumbers to account for doppler stretch.
Spec_domain | wavenumber/wavelength |
Implements FullPhysics::SolarDopplerShift.
Definition at line 203 of file solar_doppler_shift_polynomial.cc.
|
virtual |
Print description of object.
Reimplemented from FullPhysics::SolarDopplerShift.
Definition at line 192 of file solar_doppler_shift_polynomial.cc.
|
inlineinherited |
Print to string.
This is primarily useful for SWIG wrappers to this class, e.g. a to_s method in ruby.
Definition at line 31 of file printable.h.
|
inlinevirtual |
Return Earth-Sun distance.
Implements FullPhysics::SolarDopplerShift.
Definition at line 38 of file solar_doppler_shift_polynomial.h.
|
inline |
Velocity of the center of the earth to the center of the sun.
Positive means they are getting farther apart. This does not include the rotation of the earth.
Definition at line 48 of file solar_doppler_shift_polynomial.h.
|
inline |
Total velocity, including rotation of earth.
Definition at line 54 of file solar_doppler_shift_polynomial.h.