ROOT  6.06/09
Reference Guide
RooCFunction3Binding.cxx
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id$
5  * Authors: *
6  * WV, Wouter Verkerke, NIKHEF, verkerke@nikhef.nl *
7  * *
8  * Copyright (c) 2000-2008, NIKHEF, Regents of the University of California *
9  * and Stanford University. All rights reserved. *
10  * *
11  *****************************************************************************/
12 
13 //////////////////////////////////////////////////////////////////////////////
14 //
15 // BEGIN_HTML
16 // RooCFunction3Binding is a templated implementation of class RooAbsReal that binds
17 // generic C(++) functions to a RooAbsReal argument thus allowing generic C++
18 // functions to be used as RooFit functions. Instances of function binding
19 // classes are fully functional RooFit function objects with one exception:
20 // if the bound function is _not_ a standard TMath or MathMore function the
21 // class cannot be persisted in a RooWorkspace without registering the function
22 // pointer first using RooCFunction3Binding<T1,T2,T3,T4>::register().
23 // END_HTML
24 //
25 
26 #include "Riostream.h"
27 #include "RooCFunction3Binding.h"
28 #include "RooCintUtils.h"
29 
30 using namespace std ;
31 
32 #ifndef ROOFIT_R__NO_CLASS_TEMPLATE_SPECIALIZATION
33 #define ROOFIT_R__NO_CLASS_TEMPLATE_SPECIALIZATION
36 #endif
37 
38 
39 template<> RooCFunction3Map<double,double,double,double>* RooCFunction3Ref<double,double,double,double>::_fmap = 0 ;
40 template<> RooCFunction3Map<double,double,double,bool>* RooCFunction3Ref<double,double,double,bool>::_fmap = 0 ;
41 template<> RooCFunction3Map<double,double,int,int>* RooCFunction3Ref<double,double,int,int>::_fmap = 0 ;
42 template<> RooCFunction3Map<double,unsigned int,double,unsigned int>* RooCFunction3Ref<double,unsigned int,double,unsigned int>::_fmap = 0 ;
43 template<> RooCFunction3Map<double,unsigned int,double,double>* RooCFunction3Ref<double,unsigned int,double,double>::_fmap = 0 ;
44 template<> RooCFunction3Map<double,unsigned int,unsigned int,double>* RooCFunction3Ref<double,unsigned int,unsigned int,double>::_fmap = 0 ;
45 
46 namespace RooFit {
47 
50  }
51 
54  }
55 
58  }
59 
62  }
63 
66  }
67 
70  }
71 
74  }
75 
78  }
79 
82  }
83 
86  }
87 
90  }
91 
94  }
95 
96 }
Double_t(* CFUNCD3UDU)(UInt_t, Double_t, UInt_t)
RooAbsPdf * bindPdf(const char *name, CFUNCD1D func, RooAbsReal &x)
Double_t(* CFUNCD3DII)(Double_t, Int_t, Int_t)
STL namespace.
templateClassImp(RooCFunction3Binding) templateClassImp(RooCFunction3Ref) template<> RooCFunction3Map< double
RooAbsReal * bindFunction(const char *name, CFUNCD1D func, RooAbsReal &x)
Double_t x[n]
Definition: legend1.C:17
Double_t(* CFUNCD3UDD)(UInt_t, Double_t, Double_t)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
Double_t y[n]
Definition: legend1.C:17
double func(double *x, double *p)
Definition: stressTF1.cxx:213
#define name(a, b)
Definition: linkTestLib0.cpp:5
Double_t(* CFUNCD3UUD)(UInt_t, UInt_t, Double_t)
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
Definition: RooAbsPdf.h:41
Double_t(* CFUNCD3DDD)(Double_t, Double_t, Double_t)
Double_t(* CFUNCD3DDB)(Double_t, Double_t, Bool_t)