Logo ROOT   6.12/07
Reference Guide
RooCFunction1Binding.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 /** \class RooCFunction1Binding
14  \ingroup Roofit
15 
16 RooCFunction1Binding 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 RooCFunction1Binding<T1,T2>::register().
23 **/
24 
25 #include "Riostream.h"
26 #include "RooCFunction1Binding.h"
27 #include "RooCintUtils.h"
28 
29 using namespace std ;
30 
31 #ifndef ROOFIT_R__NO_CLASS_TEMPLATE_SPECIALIZATION
32 #define ROOFIT_R__NO_CLASS_TEMPLATE_SPECIALIZATION
35 #endif
36 
37 
38 template<>
40  {
41  // Return reference to function pointer-to-name mapping service
42  if (!_fmap) {
44  }
45  return *_fmap ;
46  }
47 
48 template<>
50  {
51  // Return reference to function pointer-to-name mapping service
52  if (!_fmap) {
53  _fmap = new RooCFunction1Map<double,int> ;
54  }
55  return *_fmap ;
56  }
57 
58 namespace RooFit {
59 
62  }
63 
66  }
67 
68  RooAbsPdf* bindPdf(const char* name,CFUNCD1D func,RooAbsReal& x) {
70  }
71 
72  RooAbsPdf* bindPdf(const char* name,CFUNCD1I func,RooAbsReal& x) {
74  }
75 
76 }
RooAbsPdf * bindPdf(const char *name, CFUNCD1D func, RooAbsReal &x)
STL namespace.
static RooCFunction1Map< VO, VI > & fmap()
RooAbsReal * bindFunction(const char *name, CFUNCD1D func, RooAbsReal &x)
Double_t(* CFUNCD1I)(Int_t)
#define templateClassImp(name)
Definition: Rtypes.h:403
Double_t x[n]
Definition: legend1.C:17
Double_t(* CFUNCD1D)(Double_t)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
RooCFunction1Binding is a templated implementation of class RooAbsReal that binds generic C(++) funct...
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
Definition: RooAbsPdf.h:41
char name[80]
Definition: TGX11.cxx:109