12#ifndef ROOCFUNCTION3BINDING
13#define ROOCFUNCTION3BINDING
45template <
class VO,
class VI1,
class VI2,
class VI3>
49template<
class VO,
class VI1,
class VI2,
class VI3>
70 return fmap().lookupArgName(
_ptr,iarg) ;
99template<
class VO,
class VI1,
class VI2,
class VI3>
104template<
class VO,
class VI1,
class VI2,
class VI3>
112template<
class VO,
class VI1,
class VI2,
class VI3>
146template<
class VO,
class VI1,
class VI2,
class VI3>
151 x(func.argName(0),func.argName(0),this,_x),
152 y(func.argName(1),func.argName(1),this,_y),
153 z(func.argName(2),func.argName(2),this,_z)
162template<
class VO,
class VI1,
class VI2,
class VI3>
174template<
class VO,
class VI1,
class VI2,
class VI3>
208template<
class VO,
class VI1,
class VI2,
class VI3>
213 x(func.argName(0),func.argName(0),this,_x),
214 y(func.argName(1),func.argName(1),this,_y),
215 z(func.argName(2),func.argName(2),this,_z)
224template<
class VO,
class VI1,
class VI2,
class VI3>
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...
RooCFunction3Binding is a templated implementation of class RooAbsReal that binds generic C(++) funct...
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
void printArgs(std::ostream &os) const override
Print object arguments, ie its proxies.
RooCFunction3Ref< VO, VI1, VI2, VI3 > func
TObject * clone(const char *newname=nullptr) const override
RooCFunction3Ref< VO, VI1, VI2, VI3 > func
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
void printArgs(std::ostream &os) const override
Print object arguments, ie its proxies.
RooCFunction3PdfBinding()
TObject * clone(const char *newname=nullptr) const override
const char * name() const
static RooCFunction3Map< VO, VI1, VI2, VI3 > * _fmap
static RooCFunction3Map< VO, VI1, VI2, VI3 > & fmap()
void Streamer(TBuffer &) override
Stream an object of class TObject.
static VO dummyFunction(VI1, VI2, VI3)
VO(* func_t)(VI1, VI2, VI3)
! Pointer to embedded function
const char * argName(Int_t iarg)
RooCFunction3Ref(VO(*ptr)(VI1, VI2, VI3)=nullptr)
VO operator()(VI1 x, VI2 y, VI3 z) const
func_t _ptr
! Pointer to embedded function
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(* CFUNCD3DDD)(double, double, double)
RooAbsPdf * bindPdf(const char *name, CFUNCD1D func, RooAbsReal &x)
double(* CFUNCD3DDB)(double, double, bool)
double(* CFUNCD3UDD)(UInt_t, double, double)
double(* CFUNCD3DII)(double, Int_t, Int_t)
RooAbsReal * bindFunction(const char *name, CFUNCD1D func, RooAbsReal &x)
double(* CFUNCD3UDU)(UInt_t, double, UInt_t)
double(* CFUNCD3UUD)(UInt_t, UInt_t, double)