Logo ROOT  
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
16RooCFunction1Binding is a templated implementation of class RooAbsReal that binds
17generic C(++) functions to a RooAbsReal argument thus allowing generic C++
18functions to be used as RooFit functions. Instances of function binding
19classes are fully functional RooFit function objects with one exception:
20if the bound function is _not_ a standard TMath or MathMore function the
21class cannot be persisted in a RooWorkspace without registering the function
22pointer first using RooCFunction1Binding<T1,T2>::register().
23**/
24
25#include "Riostream.h"
27
28using namespace std ;
29
30#ifndef ROOFIT_R__NO_CLASS_TEMPLATE_SPECIALIZATION
31#define ROOFIT_R__NO_CLASS_TEMPLATE_SPECIALIZATION
34#endif
35
36
37template<>
39 {
40 // Return reference to function pointer-to-name mapping service
41 if (!_fmap) {
43 }
44 return *_fmap ;
45 }
46
47template<>
49 {
50 // Return reference to function pointer-to-name mapping service
51 if (!_fmap) {
53 }
54 return *_fmap ;
55 }
56
57namespace RooFit {
58
61 }
62
65 }
66
67 RooAbsPdf* bindPdf(const char* name,CFUNCD1D func,RooAbsReal& x) {
69 }
70
71 RooAbsPdf* bindPdf(const char* name,CFUNCD1I func,RooAbsReal& x) {
73 }
74
75}
#define templateClassImp(name)
Definition: Rtypes.h:409
char name[80]
Definition: TGX11.cxx:109
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:59
RooCFunction1Binding is a templated implementation of class RooAbsReal that binds generic C(++) funct...
static RooCFunction1Map< VO, VI > & fmap()
Double_t x[n]
Definition: legend1.C:17
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
RooAbsPdf * bindPdf(const char *name, CFUNCD1D func, RooAbsReal &x)
Double_t(* CFUNCD1D)(Double_t)
Double_t(* CFUNCD1I)(Int_t)
RooAbsReal * bindFunction(const char *name, CFUNCD1D func, RooAbsReal &x)