00001 #ifndef ROOTFITSTRATEGY_H 00002 #define ROOTFITSTRATEGY_H 00003 #include "FitStrategy.h" 00004 00005 using namespace Sct; 00006 namespace SctFitter{ 00013 class RootFitStrategy : public FitStrategy { 00014 public: 00016 RootFitStrategy(string opt=string("")) throw(); 00018 ~RootFitStrategy() throw(); 00020 virtual void fitTH1(const TH1& hist, TF1& fit) const throw(LogicError, MathsError); 00022 virtual void fitTGraph(const TGraph& graph, TF1& fit) const throw(LogicError, MathsError); 00024 virtual void fitTGraphErrors(const TGraphErrors& graph, TF1& fit) const throw(LogicError, MathsError); 00026 virtual void fitTGraphAsymmErrors(const TGraphAsymmErrors& graph, TF1& fit) const throw(LogicError, MathsError); 00027 00029 virtual const string& getName() const throw(); 00030 private: 00031 RootFitStrategy( const RootFitStrategy& ); 00032 const string name; 00033 static bool inMap; 00034 }; 00035 00036 } // end of namespace SctFitter; 00037 #endif // #ifndef ROOTFITSTRATEGY_H