1 #ifndef PRESSURE_IMP_BASE_H 2 #define PRESSURE_IMP_BASE_H 30 { fill_cache();
return pgrid; }
41 virtual void print(std::ostream& Os)
const { Os <<
desc(); }
47 virtual std::string
desc()
const {
return "PressureImpBase"; }
78 const blitz::Array<bool, 1>& Used_flag)
82 void fill_cache()
const virtual boost::shared_ptr< Pressure > clone() const =0
Clone a Pressure object.
void resize_number_variable(int nvar)
ArrayAdWithUnit< double, 1 > pgrid
The cached pressure grid.
PressureImpBase(const blitz::Array< double, 1 > &Coeff, const blitz::Array< bool, 1 > &Used_flag)
Constructor that sets the coefficient() and used_flag() values.
virtual ArrayAdWithUnit< double, 1 > pressure_grid() const
This returns the pressure grid to use for layer retrieval, along with the gradient of each of the pre...
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
virtual std::string desc() const
Description of object, to be printed to stream.
bool cache_stale
If this is true, the recalculate the pressure_grid the next time we need it.
int number_variable() const
This class maintains the pressure portion of the state.
virtual ~PressureImpBase()
It is common to have a class that is an Observable with a set of coefficients, a subset of which are ...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual void update_sub_state_hook()
Hook for anything a derived class needs to do after coefficient is updated and before notify_update...
PressureImpBase()
Default constructor, derived class should call init if they use this constructor. ...
ArrayAd< double, 1 > coeff
Coefficients.
virtual void print(std::ostream &Os) const
Print to stream.
virtual void calc_pressure_grid() const =0
Derived classes should provide a function to fill in pgrid when this is called.