00001 00005 #ifndef sphericalformula_hh 00006 #define sphericalformula_hh 00007 00008 #include "parsedFormula.hh" 00009 00010 namespace concepts { 00011 00012 00013 // ****************************************************** SphericalFormula ** 00014 00027 class SphericalFormula : public ParsedFormula<> { 00028 public: 00030 SphericalFormula(const char* formula) : ParsedFormula<>(formula) {} 00032 SphericalFormula(const SphericalFormula& frm) : ParsedFormula<>(frm) {} 00033 virtual ~SphericalFormula(); 00034 virtual SphericalFormula* clone() const; 00035 00036 virtual Real operator() (const Real p, const Real t = 0.0) const; 00037 virtual Real operator() (const Real2d& p, const Real t = 0.0) const; 00038 virtual Real operator() (const Real3d& p, const Real t = 0.0) const; 00039 protected: 00040 virtual std::ostream& info(std::ostream& os) const; 00041 }; 00042 00043 } // namespace concepts 00044 00045 #endif // sphericalformula_hh