34 ClassImp(RooFunctor1DBinding);
35 ClassImp(RooFunctor1DPdfBinding);
39 RooFunctor1DBinding::RooFunctor1DBinding(
const char *name,
const char *title,
const ROOT::Math::IBaseFunctionOneDim& ftor, RooAbsReal& x) :
40 RooAbsReal(name,title),
48 RooFunctor1DBinding::RooFunctor1DBinding(
const RooFunctor1DBinding& other,
const char* name) :
49 RooAbsReal(other,name),
51 var(
"x",this,other.var)
58 void RooFunctor1DBinding::printArgs(ostream& os)
const {
60 os <<
"[ function=" << func <<
" " ;
61 for (Int_t i=0 ; i<numProxies() ; i++) {
62 RooAbsProxy* p = getProxy(i) ;
63 if (!TString(p->name()).BeginsWith(
"!")) {
73 Double_t RooFunctor1DBinding::evaluate()
const {
75 return (*func)(var.arg().getVal()) ;
80 RooFunctor1DPdfBinding::RooFunctor1DPdfBinding(
const char *name,
const char *title,
const ROOT::Math::IBaseFunctionOneDim& ftor, RooAbsReal& x) :
81 RooAbsPdf(name,title),
89 RooFunctor1DPdfBinding::RooFunctor1DPdfBinding(
const RooFunctor1DPdfBinding& other,
const char* name) :
90 RooAbsPdf(other,name),
92 var(
"x",this,other.var)
99 void RooFunctor1DPdfBinding::printArgs(ostream& os)
const {
101 os <<
"[ function=" << func <<
" " ;
102 for (Int_t i=0 ; i<numProxies() ; i++) {
103 RooAbsProxy* p = getProxy(i) ;
104 if (!TString(p->name()).BeginsWith(
"!")) {
114 Double_t RooFunctor1DPdfBinding::evaluate()
const {
116 return (*func)(var.arg().getVal()) ;
121 RooAbsReal* bindFunction(
const char* name,
const ROOT::Math::IBaseFunctionOneDim& ftor, RooAbsReal& var) {
122 return new RooFunctor1DBinding(name,name,ftor,var) ;
125 RooAbsPdf* bindPdf(
const char* name,
const ROOT::Math::IBaseFunctionOneDim& ftor, RooAbsReal& var) {
126 return new RooFunctor1DPdfBinding(name,name,ftor,var) ;