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.