ReFRACtor
dispersion.h
Go to the documentation of this file.
1 #ifndef DISPERSION_H
2 #define DISPERSION_H
4 #include "observer.h"
5 #include "spectral_domain.h"
6 
7 namespace FullPhysics {
8 /****************************************************************/
12 class Dispersion: virtual public StateVectorObserver,
13  public Observable<Dispersion> {
14 public:
15  virtual ~Dispersion() {}
16  virtual void add_observer(Observer<Dispersion>& Obs)
17  { add_observer_do(Obs, *this);}
19  { remove_observer_do(Obs, *this);}
20 
21 //-----------------------------------------------------------------------
28 //-----------------------------------------------------------------------
29 
30  virtual boost::shared_ptr<Dispersion> clone() const = 0;
31 
32 //-----------------------------------------------------------------------
37 //-----------------------------------------------------------------------
38 
39  virtual SpectralDomain pixel_grid() const = 0;
40 };
41 }
42 #endif
virtual SpectralDomain pixel_grid() const =0
Returns as list of grid points for each instrument pixel, and the gradient of the points wrt the stat...
virtual void add_observer(Observer< Dispersion > &Obs)
Add an observer.
Definition: dispersion.h:16
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual boost::shared_ptr< Dispersion > clone() const =0
Clone an Dispersion object.
void add_observer_do(Observer< Dispersion > &Obs, Dispersion &t)
Add an observer.
Definition: observer.h:148
This is an observer of a StateVector.
void remove_observer_do(Observer< Dispersion > &Obs, Dispersion &t)
Remove an observer.
Definition: observer.h:173
Mixin for a class that allows other classes to observe it state.
Definition: observer.h:12
This class calculates the wavenumber for each pixel in a single band of an Instrument.
Definition: dispersion.h:12
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual void remove_observer(Observer< Dispersion > &Obs)
Remove an observer.
Definition: dispersion.h:18

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