ReFRACtor
FullPhysics::ForwardModel Class Referenceabstract

The forward model represents the encapsulation of modeling spectra from an atmospheric state then applying instrument specific effects to it. More...

#include <forward_model.h>

+ Inheritance diagram for FullPhysics::ForwardModel:
+ Collaboration diagram for FullPhysics::ForwardModel:

Public Member Functions

virtual ~ForwardModel ()
 
virtual int num_channels () const =0
 The number of spectral channels associated with forward model. More...
 
virtual void print (std::ostream &Os) const
 
std::string print_to_string () const
 Print to string. More...
 
virtual Spectrum radiance (int channel_index, bool skip_jacobian=false) const =0
 Spectrum for the given spectral band. More...
 
virtual Spectrum radiance_all (bool skip_jacobian=false) const
 Radiance data all stacked together as one long spectrum (so band 0, followed by band 1, etc.). More...
 
virtual void setup_grid ()=0
 This notifies the forward model that it should setup the grid. More...
 
virtual const SpectralDomain spectral_domain (int channel_index) const =0
 Spectral domain for the given spectral band. More...
 
virtual SpectralDomain::TypePreference spectral_domain_type_preference () const =0
 Type preference for spectral domain. More...
 
virtual const boost::optional< blitz::Range > stacked_pixel_range (int channel_index) const
 The range of indicies that corresponds to a particular band in the stacked radiances. More...
 

Detailed Description

The forward model represents the encapsulation of modeling spectra from an atmospheric state then applying instrument specific effects to it.

Definition at line 14 of file forward_model.h.

Constructor & Destructor Documentation

◆ ~ForwardModel()

virtual FullPhysics::ForwardModel::~ForwardModel ( )
inlinevirtual

Definition at line 16 of file forward_model.h.

Member Function Documentation

◆ num_channels()

virtual int FullPhysics::ForwardModel::num_channels ( ) const
pure virtual

The number of spectral channels associated with forward model.

Implements FullPhysics::StackedRadianceMixin.

Implemented in FullPhysics::StandardForwardModel, and FullPhysics::FdForwardModel.

◆ print()

virtual void FullPhysics::ForwardModel::print ( std::ostream &  Os) const
inlinevirtual

Reimplemented in FullPhysics::StandardForwardModel, and FullPhysics::FdForwardModel.

Definition at line 55 of file forward_model.h.

◆ print_to_string()

std::string FullPhysics::Printable< ForwardModel >::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.

◆ radiance()

virtual Spectrum FullPhysics::ForwardModel::radiance ( int  channel_index,
bool  skip_jacobian = false 
) const
pure virtual

Spectrum for the given spectral band.

Note that this may be empty.

Parameters
channel_indexBand to give value for
skip_jacobianIf true, don't do the Jacobian calculation. Often this is significantly faster to calculate.
Returns
The set of radiances, possibly empty.

Implements FullPhysics::StackedRadianceMixin.

Implemented in FullPhysics::StandardForwardModel, and FullPhysics::FdForwardModel.

◆ radiance_all()

Spectrum StackedRadianceMixin::radiance_all ( bool  skip_jacobian = false) const
virtualinherited

Radiance data all stacked together as one long spectrum (so band 0, followed by band 1, etc.).

Definition at line 25 of file stacked_radiance_mixin.cc.

◆ setup_grid()

virtual void FullPhysics::ForwardModel::setup_grid ( )
pure virtual

This notifies the forward model that it should setup the grid.

Implemented in FullPhysics::StandardForwardModel.

◆ spectral_domain()

virtual const SpectralDomain FullPhysics::ForwardModel::spectral_domain ( int  channel_index) const
pure virtual

Spectral domain for the given spectral band.

Note that this may be empty.

Implements FullPhysics::StackedRadianceMixin.

Implemented in FullPhysics::StandardForwardModel, and FullPhysics::FdForwardModel.

◆ spectral_domain_type_preference()

virtual SpectralDomain::TypePreference FullPhysics::ForwardModel::spectral_domain_type_preference ( ) const
pure virtual

Type preference for spectral domain.

This may seem an odd thing to have a function for, but this is needed by ForwardModelOutput.

Implemented in FullPhysics::StandardForwardModel.

◆ stacked_pixel_range()

const boost::optional< Range > StackedRadianceMixin::stacked_pixel_range ( int  channel_index) const
virtualinherited

The range of indicies that corresponds to a particular band in the stacked radiances.

The range may well be empty if a band is not used at all. This is a useful edge case, but unfortunately blitz::Range does not support empty ranges. As a simple work around, we use the boost::optional class to return a value only if the range is not empty.

Definition at line 6 of file stacked_radiance_mixin.cc.


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

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