51 IlsTable(
const blitz::Array<double, 1>& Wavenumber,
52 const blitz::Array<double, 2>& Delta_lambda,
53 const blitz::Array<double, 2>& Response,
54 const std::string& Band_name,
const std::string& Hdf_band_name,
55 bool Interpolate_wavenumber =
false)
56 : band_name_(Band_name),
57 hdf_band_name_(Hdf_band_name),
58 interpolate_wavenumber(Interpolate_wavenumber),
64 const std::string& Band_name,
const std::string& Hdf_band_name,
65 const std::string& Hdf_group =
"Instrument/ILS");
70 const blitz::Array<double, 1>&
wn,
73 virtual void print(std::ostream& Os)
const;
74 virtual std::string
band_name()
const {
return band_name_;}
78 virtual blitz::Array<double, 1>
wavenumber()
const {
return wavenumber_; }
79 virtual blitz::Array<double, 2>
delta_lambda()
const {
return delta_lambda_; }
80 virtual blitz::Array<double, 2>
response()
const {
return response_; }
85 const blitz::Array<double, 2>& Delta_lambda,
86 const blitz::Array<double, 2>& Response);
91 typedef typename std::map<double, Lint>::const_iterator it;
96 std::map<double, Lint> delta_lambda_to_response;
100 blitz::Array<double, 1> wavenumber_;
101 blitz::Array<double, 2> delta_lambda_;
102 blitz::Array<double, 2> response_;
104 std::string band_name_, hdf_band_name_;
105 bool interpolate_wavenumber;
109 std::string hdf_file_name;
110 std::string hdf_group;
virtual std::string band_name() const
Descriptive name of the band.
virtual void print(std::ostream &Os) const
This class models an Instrument Line Shape (ILS) function.
This class reads and writes a HDF5 file.
void create_delta_lambda_to_response(const blitz::Array< double, 1 > &Wavenumber, const blitz::Array< double, 2 > &Delta_lambda, const blitz::Array< double, 2 > &Response)
Creates the datastructures needed for setting up the ILS table, only necessary to rerun if modifying ...
IlsTable(const blitz::Array< double, 1 > &Wavenumber, const blitz::Array< double, 2 > &Delta_lambda, const blitz::Array< double, 2 > &Response, const std::string &Band_name, const std::string &Hdf_band_name, bool Interpolate_wavenumber=false)
Constructor where we just supply the wavenumber, delta_lambda and response values.
virtual blitz::Array< double, 1 > wavenumber() const
Accessors for retrieving arrays used to create table.
IlsTable< LinearInterpolate< AutoDerivative< double >, AutoDerivative< double > > > IlsTableLinear
virtual void ils(const AutoDerivative< double > &wn_center, const blitz::Array< double, 1 > &wn, ArrayAd< double, 1 > &res) const
Return response function.
virtual blitz::Array< double, 2 > response() const
virtual blitz::Array< double, 2 > delta_lambda() const
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...
This class in a IlsFunction where we get the ILS response by using a table of measured values...
IlsTable< LinearLogInterpolate< AutoDerivative< double >, AutoDerivative< double > > > IlsTableLog
Contains classes to abstract away details in various Spurr Radiative Transfer software.