ReFRACtor
|
For GOSAT and OCO, we have a set of stokes coefficients to go from Stokes vector to radiation. More...
#include <radiative_transfer_fixed_stokes_coefficient.h>
Public Member Functions | |
virtual | ~RadiativeTransferFixedStokesCoefficient () |
virtual void | add_observer (Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs) |
Required observable functions. More... | |
void | add_observer_and_keep_reference (boost::shared_ptr< Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > > &Obs) |
Add an observer and keep a reference to it. More... | |
virtual int | number_spectrometer () const |
Number of spectrometer we have. More... | |
virtual int | number_stokes () const =0 |
Number of stokes parameters we will return in stokes and stokes_and_jacobian. More... | |
virtual void | print (std::ostream &Os, bool Short_form=false) const |
Print to stream. More... | |
std::string | print_to_string () const |
Print to string. More... | |
virtual Spectrum | reflectance (const SpectralDomain &Spec_domain, int Spec_index, bool Skip_jacobian=false) const |
Calculate reflectance for the given set of wavenumbers/wavelengths. More... | |
virtual void | remove_observer (Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs) |
Remove an observer. More... | |
virtual blitz::Array< double, 2 > | stokes (const SpectralDomain &Spec_domain, int Spec_index) const =0 |
Calculate stokes vector for the given set of wavenumbers/wavelengths. More... | |
virtual ArrayAd< double, 2 > | stokes_and_jacobian (const SpectralDomain &Spec_domain, int Spec_index) const =0 |
Calculate stokes vector for the given set of wavenumbers/wavelengths. More... | |
const boost::shared_ptr< StokesCoefficient > & | stokes_coefficient () const |
Stokes coefficients used to go from Stokes vector to scalar reflectance. More... | |
Protected Member Functions | |
RadiativeTransferFixedStokesCoefficient (const boost::shared_ptr< StokesCoefficient > &Stokes_coef) | |
Constructor. More... | |
RadiativeTransferFixedStokesCoefficient () | |
Default constructor, derived classes should set up stokes_coef. More... | |
void | add_observer_do (Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs, std::vector< boost::shared_ptr< NamedSpectrum > > &t) |
Add an observer. More... | |
void | add_observer_do (Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs) |
void | clean_dead_ptr () |
Remove any dead pointers. More... | |
void | notify_update_do (const std::vector< boost::shared_ptr< NamedSpectrum > > &Self) |
Function to call to notify Observers of a state change. More... | |
boost::shared_ptr< boost::progress_display > | progress_display (const blitz::Array< double, 1 > &wn) const |
Helper routine, creates a progress meter. More... | |
void | remove_observer_do (Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs, std::vector< boost::shared_ptr< NamedSpectrum > > &t) |
Remove an observer. More... | |
void | remove_observer_do (Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &Obs) |
Protected Attributes | |
std::list< boost::weak_ptr< Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > > > | olist |
std::vector< boost::shared_ptr< Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > > > | ref_list |
boost::shared_ptr< StokesCoefficient > | stokes_coef |
Object to go from stokes vector to reflectance. More... | |
Static Protected Attributes | |
static AccumulatedTimer | timer |
For GOSAT and OCO, we have a set of stokes coefficients to go from Stokes vector to radiation.
This class captures that common behavior.
Definition at line 14 of file radiative_transfer_fixed_stokes_coefficient.h.
|
inlinevirtual |
Definition at line 17 of file radiative_transfer_fixed_stokes_coefficient.h.
|
inlineprotected |
Constructor.
Stokes_coef | The stokes coefficients to go from vector stokes parameters to reflectance. |
Definition at line 54 of file radiative_transfer_fixed_stokes_coefficient.h.
|
inlineprotected |
Default constructor, derived classes should set up stokes_coef.
Definition at line 62 of file radiative_transfer_fixed_stokes_coefficient.h.
|
inlinevirtual |
Required observable functions.
Implements FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >.
Definition at line 42 of file radiative_transfer_fixed_stokes_coefficient.h.
|
inlineinherited |
Add an observer and keep a reference to it.
See the discussion in the Observer class description for details.
Definition at line 107 of file observer.h.
|
inlineprotectedinherited |
Add an observer.
Definition at line 148 of file observer.h.
|
inlineprotectedinherited |
Definition at line 159 of file observer.h.
|
inlineprotectedinherited |
Remove any dead pointers.
Definition at line 196 of file observer.h.
|
inlineprotectedinherited |
Function to call to notify Observers of a state change.
The object should pass itself to this function, so it can be passed to the Observers.
Definition at line 121 of file observer.h.
|
inlinevirtual |
Number of spectrometer we have.
Implements FullPhysics::RadiativeTransfer.
Definition at line 31 of file radiative_transfer_fixed_stokes_coefficient.h.
|
pure virtualinherited |
Number of stokes parameters we will return in stokes and stokes_and_jacobian.
Implemented in FullPhysics::LRadRt, FullPhysics::SpurrRt, FullPhysics::ChapmanBoaRT, FullPhysics::LsiRt, and FullPhysics::HresWrapper.
|
inlinevirtual |
Print to stream.
Reimplemented from FullPhysics::RadiativeTransfer.
Reimplemented in FullPhysics::LRadRt, FullPhysics::RadiativeTransferSingleWn, FullPhysics::SpurrRt, FullPhysics::LidortRt, FullPhysics::LsiRt, and FullPhysics::TwostreamRt.
Definition at line 36 of file radiative_transfer_fixed_stokes_coefficient.h.
|
inlineinherited |
Print to string.
This is primarily useful for SWIG wrappers to this class, e.g. a to_s method in ruby.
Definition at line 31 of file printable.h.
|
protectedinherited |
Helper routine, creates a progress meter.
This will return 0 if we aren't logging, or if we don't have enough points to bother with.
Definition at line 19 of file radiative_transfer.cc.
|
virtual |
Calculate reflectance for the given set of wavenumbers/wavelengths.
Spec_domain | List of wavenumber/wavelength to calculate for. |
Spec_index | The Spectral index |
Skip_jacobian | If true, don't do the Jacobian calculation. Often this is significantly faster to calculate. |
Implements FullPhysics::RadiativeTransfer.
Definition at line 12 of file radiative_transfer_fixed_stokes_coefficient.cc.
|
inlinevirtual |
Remove an observer.
Implements FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >.
Definition at line 44 of file radiative_transfer_fixed_stokes_coefficient.h.
|
inlineprotectedinherited |
Remove an observer.
Definition at line 173 of file observer.h.
|
inlineprotectedinherited |
Definition at line 181 of file observer.h.
|
pure virtualinherited |
Calculate stokes vector for the given set of wavenumbers/wavelengths.
Spec_domain | List of wavenumber/wavelength to calculate for. |
Spec_index | The Spectral index |
Implemented in FullPhysics::ChapmanBoaRT, FullPhysics::RadiativeTransferSingleWn, and FullPhysics::LsiRt.
|
pure virtualinherited |
Calculate stokes vector for the given set of wavenumbers/wavelengths.
This also calculates the Jacobian of the stokes with respect to the state vector elements.
Spec_domain | List of wavenumber/wavelength to calculate for. |
Spec_index | The Spectral index |
Implemented in FullPhysics::ChapmanBoaRT, FullPhysics::RadiativeTransferSingleWn, and FullPhysics::LsiRt.
|
inline |
Stokes coefficients used to go from Stokes vector to scalar reflectance.
Definition at line 24 of file radiative_transfer_fixed_stokes_coefficient.h.
|
protectedinherited |
Definition at line 200 of file observer.h.
|
protectedinherited |
Definition at line 201 of file observer.h.
|
protected |
Object to go from stokes vector to reflectance.
Definition at line 65 of file radiative_transfer_fixed_stokes_coefficient.h.
|
staticprotectedinherited |
Definition at line 92 of file radiative_transfer.h.