00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __RegularFormula__
00010 #define __RegularFormula__
00011
00012 #include "TFormula.h"
00013 #include "TString.h"
00014 #include <list>
00015
00016 namespace Root {
00017
00018 class RegularFormula : public TFormula {
00019
00020 public:
00021
00022 RegularFormula();
00023 RegularFormula(const char* name, const char* expression);
00024 virtual ~RegularFormula();
00025
00026 RegularFormula(const Root::RegularFormula& other) ;
00027 RegularFormula& operator=(const RegularFormula& other) ;
00028
00029 Int_t setFormula(const char *expression);
00030
00031 inline unsigned int getNPars() const { return m_par.size(); }
00032 const std::list<TString>& getParNames() const { return m_par; }
00033
00034 private:
00035
00036 void parseExpression(const char* expression, TString& expr) ;
00037
00038 TString m_expr;
00039 std::list<TString> m_par;
00040
00041 ClassDef(RegularFormula,0)
00042 };
00043 }
00044
00045 #endif
00046