/***************************************************************************** * Authors: * * MC, Mathieu Chrétien, LPNHE Paris , chretien@lpnhe.in2p3.fr * *****************************************************************************/ #ifndef ROOGRAPHVAR #define ROOGRAPHVAR #include "RooAbsReal.h" #include "RooGraphVar.h" #include "RooArgList.h" #include "RooRealProxy.h" #include "RooTrace.h" class RooArgSet ; class RooGraphVar : public RooAbsReal { public: // Constructors, assignment etc RooGraphVar(const char *name, const char* title, TGraph TGraphObj, RooAbsReal& x,TSpline* spline, Option_t* option) ; RooGraphVar(const RooGraphVar& other, const char* name=0); virtual TObject* clone(const char* newname) const { return new RooGraphVar(*this,newname); } virtual ~RooGraphVar(); // Function evaluation virtual Double_t evaluate() const ; Double_t getRangeMin() const; Double_t getRangeMax() const; protected: TGraph _graph ; // TGraph object RooRealProxy _x ; // Actual parameter used by TGraph mutable RooArgSet* _nset ; //! Normalization set to be passed along to contents TSpline* _spline; // spline implementation Option_t* _option; // Option string ClassDef(RooGraphVar,1) // Real-valued function of other RooAbsArg calculated by a TGraph object }; #endif