ReFRACtor
instrument_correction.h
Go to the documentation of this file.
1 #ifndef INSTRUMENT_CORRECTION_H
2 #define INSTRUMENT_CORRECTION_H
4 #include "spectral_range.h"
5 #include "spectral_domain.h"
6 
7 namespace FullPhysics {
8 /****************************************************************/
16  public Observable<InstrumentCorrection> {
17 public:
18  virtual ~InstrumentCorrection() {}
19 
21  { add_observer_do(Obs, *this);}
23  { remove_observer_do(Obs, *this);}
24 
25 //-----------------------------------------------------------------------
38 //-----------------------------------------------------------------------
39 
40  virtual void apply_correction
41  (const SpectralDomain& Pixel_grid,
42  const std::vector<int>& Pixel_list,
43  SpectralRange& Radiance) const = 0;
44 
45 //-----------------------------------------------------------------------
53 //-----------------------------------------------------------------------
54 
56 };
57 }
58 #endif
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
void add_observer_do(Observer< InstrumentCorrection > &Obs, InstrumentCorrection &t)
Add an observer.
Definition: observer.h:148
This is an observer of a StateVector.
void remove_observer_do(Observer< InstrumentCorrection > &Obs, InstrumentCorrection &t)
Remove an observer.
Definition: observer.h:173
virtual void apply_correction(const SpectralDomain &Pixel_grid, const std::vector< int > &Pixel_list, SpectralRange &Radiance) const =0
Apply correction to radiance values, in place.
virtual void remove_observer(Observer< InstrumentCorrection > &Obs)
Remove an observer.
Mixin for a class that allows other classes to observe it state.
Definition: observer.h:12
We have a number of different spectrums that appear in different parts of the code.
virtual void add_observer(Observer< InstrumentCorrection > &Obs)
Add an observer.
virtual boost::shared_ptr< InstrumentCorrection > clone() const =0
Clone an InstrumentCorrection object.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
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:10