ReFRACtor
solar_doppler_shift.h
Go to the documentation of this file.
1 #ifndef SOLAR_DOPPLER_SHIFT_H
2 #define SOLAR_DOPPLER_SHIFT_H
3 #include "printable.h"
4 #include "double_with_unit.h"
5 #include "spectral_domain.h"
6 #include <blitz/array.h>
7 
8 namespace FullPhysics {
9 /****************************************************************/
13 class SolarDopplerShift : public Printable<SolarDopplerShift> {
14 public:
15  virtual ~SolarDopplerShift() {}
16 
17 //-----------------------------------------------------------------------
20 //-----------------------------------------------------------------------
21 
22  virtual DoubleWithUnit solar_distance() const = 0;
23 
24 //-----------------------------------------------------------------------
28 //-----------------------------------------------------------------------
29 
31  const SpectralDomain& Spec_domain) const = 0;
32  virtual void print(std::ostream& Os) const {Os << "SolarDopplerShift";}
33 };
34 }
35 #endif
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual void print(std::ostream &Os) const
This is a Mixin for classes that can be printed.
Definition: printable.h:24
virtual DoubleWithUnit solar_distance() const =0
Return Earth-Sun distance.
virtual SpectralDomain doppler_stretch(const SpectralDomain &Spec_domain) const =0
Shift wavenumbers to account for doppler stretch.
This class handles the solar Doppler stretch to calculate the shift of the solar lines with respect t...
We frequently have a double with units associated with it.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:10