ReFRACtor
apply_instrument_units.h
Go to the documentation of this file.
1 #ifndef APPLY_INSTRUMENT_UNITS_H
2 #define APPLY_INSTRUMENT_UNITS_H
3 
5 
6 namespace FullPhysics {
7 
8 /****************************************************************/
18  public Printable<ApplyInstrumentUnits> {
19 
20 public:
21 
22  ApplyInstrumentUnits(const Unit& units, const double scale_factor = 1.0) : spectral_units(units), scaling(scale_factor) {};
23 
25  virtual void apply_correction(const SpectralDomain& Pixel_grid, const std::vector<int>& Pixel_list, SpectralRange& Radiance) const;
26 
27  virtual void print(std::ostream& Os) const;
28 
29 private:
30  Unit spectral_units;
31  double scaling;
32 };
33 }
34 
35 #endif
virtual void print(std::ostream &Os) const
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual void apply_correction(const SpectralDomain &Pixel_grid, const std::vector< int > &Pixel_list, SpectralRange &Radiance) const
Apply correction to radiance values, in place.
This is a Mixin for classes that can be printed.
Definition: printable.h:24
We have a number of different spectrums that appear in different parts of the code.
An InstrumentCorrection class that applies units and scales monochromatic radiances in those cases wh...
Libraries such as boost::units allow unit handling where we know the units at compile time...
Definition: unit.h:25
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual boost::shared_ptr< InstrumentCorrection > clone() const
Clone an InstrumentCorrection object.
ApplyInstrumentUnits(const Unit &units, const double scale_factor=1.0)
This class models an Instrument correction.

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