13#ifndef ROOCFUNCTION2BINDING
14#define ROOCFUNCTION2BINDING
43template <
class VO,
class VI1,
class VI2>
48template<
class VO,
class VI1,
class VI2>
69 return fmap().lookupArgName(
_ptr,iarg) ;
97template<
class VO,
class VI1,
class VI2>
101template<
class VO,
class VI1,
class VI2>
109template<
class VO,
class VI1,
class VI2>
140template<
class VO,
class VI1,
class VI2>
145 x(func.argName(0),func.argName(0),this,_x),
146 y(func.argName(1),func.argName(1),this,_y)
155template<
class VO,
class VI1,
class VI2>
168template<
class VO,
class VI1,
class VI2>
199template<
class VO,
class VI1,
class VI2>
204 x(func.argName(0),func.argName(0),this,_x),
205 y(func.argName(1),func.argName(1),this,_y)
214template<
class VO,
class VI1,
class VI2>
int Int_t
Signed integer 4 bytes (int)
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int)
#define ClassDefOverride(name, id)
Abstract interface for all probability density functions.
Abstract base class for objects that represent a real value and implements functionality common to al...
RooCFunction2Binding is a templated implementation of class RooAbsReal that binds generic C(++) funct...
RooCFunction2Ref< VO, VI1, VI2 > func
TObject * clone(const char *newname=nullptr) const override
void printArgs(std::ostream &os) const override
Print object arguments, ie its proxies.
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
TObject * clone(const char *newname=nullptr) const override
void printArgs(std::ostream &os) const override
Print object arguments, ie its proxies.
RooCFunction2PdfBinding()
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
RooCFunction2Ref< VO, VI1, VI2 > func
const char * argName(Int_t iarg)
VO operator()(VI1 x, VI2 y) const
RooCFunction2Ref(VO(*ptr)(VI1, VI2)=nullptr)
static RooCFunction2Map< VO, VI1, VI2 > & fmap()
static VO dummyFunction(VI1, VI2)
void Streamer(TBuffer &) override
Stream an object of class TObject.
func_t _ptr
! Pointer to embedded function
const char * name() const
static RooCFunction2Map< VO, VI1, VI2 > * _fmap
Name <-> pointer mapping service for C functions of type Func, used to persist the RooCFunction[1-4]R...
Buffer base class used for serializing objects.
Mother of all ROOT objects.
void printCFunctionArgs(std::ostream &os, RooAbsArg const &arg, const char *funcName)
Print arguments of a function binding and name/address of the function pointer.
void streamCFunctionRef(TBuffer &R__b, TObject const &self, Func &ptr, Func dummyFunction, CFunctionMap< Func > &fmap)
Custom streamer for function pointer reference objects.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
double(* CFUNCD2ID)(Int_t, double)
double(* CFUNCD2DD)(double, double)
double(* CFUNCD2DI)(double, Int_t)
RooAbsPdf * bindPdf(const char *name, CFUNCD1D func, RooAbsReal &x)
RooAbsReal * bindFunction(const char *name, CFUNCD1D func, RooAbsReal &x)
double(* CFUNCD2UD)(UInt_t, double)
double(* CFUNCD2II)(Int_t, Int_t)