13 #ifndef ROOFUNCTORBINDING
14 #define ROOFUNCTORBINDING
30 RooAbsReal* bindFunction(
const char* name,
const ROOT::Math::IBaseFunctionMultiDim& ftor,
const RooArgList& vars) ;
31 RooAbsPdf* bindPdf(
const char* name,
const ROOT::Math::IBaseFunctionMultiDim& ftor,
const RooArgList& vars) ;
35 class RooFunctorBinding :
public RooAbsReal {
37 RooFunctorBinding() : func(0), x(0) {
40 RooFunctorBinding(
const char *name,
const char *title,
const ROOT::Math::IBaseFunctionMultiDim& ftor,
const RooArgList& vars);
41 RooFunctorBinding(
const RooFunctorBinding& other,
const char* name=0) ;
42 virtual TObject* clone(
const char* newname)
const {
return new RooFunctorBinding(*
this,newname); }
43 inline virtual ~RooFunctorBinding() {
delete[] x ; }
44 void printArgs(std::ostream& os)
const ;
48 Double_t evaluate()
const ;
50 const ROOT::Math::IBaseFunctionMultiDim* func ;
57 ClassDef(RooFunctorBinding,1)
62 class RooFunctorPdfBinding :
public RooAbsPdf {
64 RooFunctorPdfBinding() : func(0), x(0) {
67 RooFunctorPdfBinding(
const char *name,
const char *title,
const ROOT::Math::IBaseFunctionMultiDim& ftor,
const RooArgList& vars);
68 RooFunctorPdfBinding(
const RooFunctorPdfBinding& other,
const char* name=0) ;
69 virtual TObject* clone(
const char* newname)
const {
return new RooFunctorPdfBinding(*
this,newname); }
70 inline virtual ~RooFunctorPdfBinding() {
delete[] x ; }
71 void printArgs(std::ostream& os)
const ;
75 Double_t evaluate()
const ;
77 const ROOT::Math::IBaseFunctionMultiDim* func ;
84 ClassDef(RooFunctorPdfBinding,1)