Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooTFnBinding.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * *
4  * This code was autogenerated by RooClassFactory *
5  *****************************************************************************/
6 
7 #ifndef ROOTFNBINDING
8 #define ROOTFNBINDING
9 
10 #include "RooAbsReal.h"
11 #include "RooListProxy.h"
12 #include "RooAbsReal.h"
13 class TF1 ;
14 class TF2 ;
15 class TF3 ;
16 
17 class RooTFnBinding : public RooAbsReal {
18 public:
19  RooTFnBinding() : _func(0) {} ;
20  RooTFnBinding(const char *name, const char *title, TF1* func, const RooArgList& list);
21  RooTFnBinding(const char *name, const char *title, TF1* func, const RooArgList& list, const RooArgList& plist);
22  RooTFnBinding(const RooTFnBinding& other, const char* name=0) ;
23  virtual TObject* clone(const char* newname) const { return new RooTFnBinding(*this,newname); }
24  inline virtual ~RooTFnBinding() { }
25 
26  void printArgs(std::ostream& os) const ;
27 
28 protected:
29 
30  RooListProxy _olist ;
31  RooListProxy _plist ;
32  TF1* _func ;
33 
34  Double_t evaluate() const ;
35 
36 private:
37 
38  ClassDef(RooTFnBinding,1) // RooAbsReal binding to ROOT TF[123] functions
39 };
40 
41 
42 namespace RooFit {
43 
44 RooAbsReal* bindFunction(TF1* func,RooAbsReal& x) ;
45 RooAbsReal* bindFunction(TF2* func,RooAbsReal& x, RooAbsReal& y) ;
46 RooAbsReal* bindFunction(TF3* func,RooAbsReal& x, RooAbsReal& y, RooAbsReal& z) ;
47 
48 RooAbsReal* bindFunction(TF1* func,RooAbsReal& x, const RooArgList& params) ;
49 RooAbsReal* bindFunction(TF2* func,RooAbsReal& x, RooAbsReal& y, const RooArgList& params) ;
50 RooAbsReal* bindFunction(TF3* func,RooAbsReal& x, RooAbsReal& y, RooAbsReal& z, const RooArgList& params) ;
51 
52 }
53 
54 
55 #endif