ReFRACtor
|
This class models an Instrument Line Shape (ILS) function. More...
#include <ils_function.h>
Public Member Functions | |
virtual | ~IlsFunction () |
virtual std::string | band_name () const =0 |
Descriptive name of the band. More... | |
virtual std::string | hdf_band_name () const |
In general, the name used in HDF files for a particular band is similar but not identical to the more human readable band_name. More... | |
virtual void | ils (const AutoDerivative< double > &wn_center, const blitz::Array< double, 1 > &wn, ArrayAd< double, 1 > &res) const =0 |
Return response function. More... | |
virtual void | print (std::ostream &os) const |
std::string | print_to_string () const |
Print to string. More... | |
This class models an Instrument Line Shape (ILS) function.
This returns the response around a given wave number, for a given set of wavenumbers. This class is use by IlsConvolution.
It is not guaranteed that the function is normalized, the calling class should normalize this if needed.
Definition at line 17 of file ils_function.h.
|
inlinevirtual |
Definition at line 19 of file ils_function.h.
|
pure virtual |
Descriptive name of the band.
Implemented in FullPhysics::IlsTable< Lint >, and FullPhysics::IlsGaussian.
|
inlinevirtual |
In general, the name used in HDF files for a particular band is similar but not identical to the more human readable band_name.
For example, with GOSAT we use the HDF field name "weak_co2", but the band name is "WC-Band". This gives the HDF name to use.
The default implementation just returns the same string as the band name.
Reimplemented in FullPhysics::IlsTable< Lint >, and FullPhysics::IlsGaussian.
Definition at line 59 of file ils_function.h.
|
pure virtual |
Return response function.
Note that is function turns out to be a bit of a bottle neck because it is called so many times. Most of the time the results are the same size from one call to the next, so we pass in the results rather than having this be a return value like we normally do. This avoids recreating the array multiple times. We resize the output, so it is fine if it doesn't happen to be the final result size. But much of the time we avoid and extra allocation and destruction.
wn_center | The wave number of the center of the response function |
wn | The wavenumbers to return response function for. |
res | Return the response function for each of the wn value. |
Implemented in FullPhysics::IlsTable< Lint >, and FullPhysics::IlsGaussian.
|
inlinevirtual |
Reimplemented in FullPhysics::IlsTable< Lint >, and FullPhysics::IlsGaussian.
Definition at line 61 of file ils_function.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.