ReFRACtor
FullPhysics::RadiativeTransferFixedStokesCoefficient Class Referenceabstract

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>

+ Inheritance diagram for FullPhysics::RadiativeTransferFixedStokesCoefficient:
+ Collaboration diagram for FullPhysics::RadiativeTransferFixedStokesCoefficient:

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< StokesCoefficientstokes_coef
 Object to go from stokes vector to reflectance. More...
 

Static Protected Attributes

static AccumulatedTimer timer
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~RadiativeTransferFixedStokesCoefficient()

virtual FullPhysics::RadiativeTransferFixedStokesCoefficient::~RadiativeTransferFixedStokesCoefficient ( )
inlinevirtual

◆ RadiativeTransferFixedStokesCoefficient() [1/2]

FullPhysics::RadiativeTransferFixedStokesCoefficient::RadiativeTransferFixedStokesCoefficient ( const boost::shared_ptr< StokesCoefficient > &  Stokes_coef)
inlineprotected

Constructor.

Parameters
Stokes_coefThe stokes coefficients to go from vector stokes parameters to reflectance.

Definition at line 54 of file radiative_transfer_fixed_stokes_coefficient.h.

◆ RadiativeTransferFixedStokesCoefficient() [2/2]

FullPhysics::RadiativeTransferFixedStokesCoefficient::RadiativeTransferFixedStokesCoefficient ( )
inlineprotected

Default constructor, derived classes should set up stokes_coef.

Definition at line 62 of file radiative_transfer_fixed_stokes_coefficient.h.

Member Function Documentation

◆ add_observer()

virtual void FullPhysics::RadiativeTransferFixedStokesCoefficient::add_observer ( Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &  Obs)
inlinevirtual

◆ add_observer_and_keep_reference()

void FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::add_observer_and_keep_reference ( boost::shared_ptr< Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > > &  Obs)
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.

◆ add_observer_do() [1/2]

void FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::add_observer_do ( Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &  Obs,
std::vector< boost::shared_ptr< NamedSpectrum > > &  t 
)
inlineprotectedinherited

Add an observer.

Definition at line 148 of file observer.h.

◆ add_observer_do() [2/2]

void FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::add_observer_do ( Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &  Obs)
inlineprotectedinherited

Definition at line 159 of file observer.h.

◆ clean_dead_ptr()

void FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::clean_dead_ptr ( )
inlineprotectedinherited

Remove any dead pointers.

Definition at line 196 of file observer.h.

◆ notify_update_do()

void FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::notify_update_do ( const std::vector< boost::shared_ptr< NamedSpectrum > > &  Self)
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.

◆ number_spectrometer()

virtual int FullPhysics::RadiativeTransferFixedStokesCoefficient::number_spectrometer ( ) const
inlinevirtual

Number of spectrometer we have.

Implements FullPhysics::RadiativeTransfer.

Definition at line 31 of file radiative_transfer_fixed_stokes_coefficient.h.

◆ number_stokes()

virtual int FullPhysics::RadiativeTransfer::number_stokes ( ) const
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.

◆ print()

virtual void FullPhysics::RadiativeTransferFixedStokesCoefficient::print ( std::ostream &  Os,
bool  Short_form = false 
) const
inlinevirtual

◆ print_to_string()

std::string FullPhysics::Printable< RadiativeTransfer >::print_to_string ( ) const
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.

◆ progress_display()

boost::shared_ptr< boost::progress_display > RadiativeTransfer::progress_display ( const blitz::Array< double, 1 > &  wn) const
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.

◆ reflectance()

Spectrum RadiativeTransferFixedStokesCoefficient::reflectance ( const SpectralDomain Spec_domain,
int  Spec_index,
bool  Skip_jacobian = false 
) const
virtual

Calculate reflectance for the given set of wavenumbers/wavelengths.

Parameters
Spec_domainList of wavenumber/wavelength to calculate for.
Spec_indexThe Spectral index
Skip_jacobianIf true, don't do the Jacobian calculation. Often this is significantly faster to calculate.
Returns
The set of reflectance values.

Implements FullPhysics::RadiativeTransfer.

Definition at line 12 of file radiative_transfer_fixed_stokes_coefficient.cc.

◆ remove_observer()

virtual void FullPhysics::RadiativeTransferFixedStokesCoefficient::remove_observer ( Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &  Obs)
inlinevirtual

◆ remove_observer_do() [1/2]

void FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::remove_observer_do ( Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &  Obs,
std::vector< boost::shared_ptr< NamedSpectrum > > &  t 
)
inlineprotectedinherited

Remove an observer.

Definition at line 173 of file observer.h.

◆ remove_observer_do() [2/2]

void FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::remove_observer_do ( Observer< std::vector< boost::shared_ptr< NamedSpectrum > > > &  Obs)
inlineprotectedinherited

Definition at line 181 of file observer.h.

◆ stokes()

virtual blitz::Array<double, 2> FullPhysics::RadiativeTransfer::stokes ( const SpectralDomain Spec_domain,
int  Spec_index 
) const
pure virtualinherited

Calculate stokes vector for the given set of wavenumbers/wavelengths.

Parameters
Spec_domainList of wavenumber/wavelength to calculate for.
Spec_indexThe Spectral index
Returns
The set of stokes coefficients. This is Spec_domain.data().rows() x number_stokes() in size.

Implemented in FullPhysics::ChapmanBoaRT, FullPhysics::RadiativeTransferSingleWn, and FullPhysics::LsiRt.

◆ stokes_and_jacobian()

virtual ArrayAd<double, 2> FullPhysics::RadiativeTransfer::stokes_and_jacobian ( const SpectralDomain Spec_domain,
int  Spec_index 
) const
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.

Parameters
Spec_domainList of wavenumber/wavelength to calculate for.
Spec_indexThe Spectral index
Returns
The set of stokes coefficients, along with derivatives with respect to the state vector elements. This is Spec_domain.data().rows() x number_stokes() in size.

Implemented in FullPhysics::ChapmanBoaRT, FullPhysics::RadiativeTransferSingleWn, and FullPhysics::LsiRt.

◆ stokes_coefficient()

const boost::shared_ptr<StokesCoefficient>& FullPhysics::RadiativeTransferFixedStokesCoefficient::stokes_coefficient ( ) const
inline

Stokes coefficients used to go from Stokes vector to scalar reflectance.

Definition at line 24 of file radiative_transfer_fixed_stokes_coefficient.h.

Member Data Documentation

◆ olist

std::list<boost::weak_ptr<Observer<std::vector< boost::shared_ptr< NamedSpectrum > > > > > FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::olist
protectedinherited

Definition at line 200 of file observer.h.

◆ ref_list

std::vector<boost::shared_ptr<Observer<std::vector< boost::shared_ptr< NamedSpectrum > > > > > FullPhysics::Observable< std::vector< boost::shared_ptr< NamedSpectrum > > >::ref_list
protectedinherited

Definition at line 201 of file observer.h.

◆ stokes_coef

boost::shared_ptr<StokesCoefficient> FullPhysics::RadiativeTransferFixedStokesCoefficient::stokes_coef
protected

Object to go from stokes vector to reflectance.

Definition at line 65 of file radiative_transfer_fixed_stokes_coefficient.h.

◆ timer

AccumulatedTimer RadiativeTransfer::timer
staticprotectedinherited

Definition at line 92 of file radiative_transfer.h.


The documentation for this class was generated from the following files:

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