ReFRACtor
forward_model.h
Go to the documentation of this file.
1 #ifndef FORWARD_MODEL_H
2 #define FORWARD_MODEL_H
3 
4 #include "printable.h"
5 #include "spectrum.h"
7 
8 namespace FullPhysics {
9 /****************************************************************/
14 class ForwardModel : public StackedRadianceMixin, public Printable<ForwardModel> {
15 public:
16  virtual ~ForwardModel() {}
17 
18  //-----------------------------------------------------------------------
20  //-----------------------------------------------------------------------
21 
22  virtual void setup_grid() = 0;
23 
24  //-----------------------------------------------------------------------
26  //-----------------------------------------------------------------------
27 
28  virtual int num_channels() const = 0;
29 
30  //-----------------------------------------------------------------------
33  //-----------------------------------------------------------------------
34 
35  virtual const SpectralDomain spectral_domain(int channel_index) const = 0;
36 
37  //-----------------------------------------------------------------------
40  //-----------------------------------------------------------------------
41 
43 
44  //-----------------------------------------------------------------------
51  //-----------------------------------------------------------------------
52 
53  virtual Spectrum radiance(int channel_index, bool skip_jacobian = false) const = 0;
54 
55  virtual void print(std::ostream& Os) const
56  {
57  Os << "ForwardModel";
58  }
59 
60 private:
61 };
62 }
63 #endif
virtual int num_channels() const =0
The number of spectral channels associated with forward model.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual Spectrum radiance(int channel_index, bool skip_jacobian=false) const =0
Spectrum for the given spectral band.
virtual const SpectralDomain spectral_domain(int channel_index) const =0
Spectral domain for the given spectral band.
virtual void setup_grid()=0
This notifies the forward model that it should setup the grid.
This is a Mixin for classes that can be printed.
Definition: printable.h:24
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
Definition: spectrum.h:18
The forward model represents the encapsulation of modeling spectra from an atmospheric state then app...
Definition: forward_model.h:14
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual SpectralDomain::TypePreference spectral_domain_type_preference() const =0
Type preference for spectral domain.
virtual void print(std::ostream &Os) const
Definition: forward_model.h:55

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