Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooFunctor1DBinding.h
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#ifndef ROOFUNCTOR1DBINDING
14#define ROOFUNCTOR1DBINDING
15
16#include "RooAbsReal.h"
17#include "RooArgList.h"
18#include "RooListProxy.h"
19#include "RooAbsPdf.h"
20#include "RooRealProxy.h"
21#include "Math/IFunction.h"
22
23
24namespace RooFit {
25
28
29}
30
31
33public:
35 RooFunctor1DBinding(const char *name, const char *title, const ROOT::Math::IBaseFunctionOneDim& ftor, RooAbsReal& var);
36 RooFunctor1DBinding(const RooFunctor1DBinding& other, const char* name=nullptr) ;
37 TObject* clone(const char* newname=nullptr) const override { return new RooFunctor1DBinding(*this,newname); }
38 void printArgs(std::ostream& os) const override ;
39
41 RooAbsReal const &variable() const { return *var; }
42
43protected:
44
45 double evaluate() const override ;
46
47 const ROOT::Math::IBaseFunctionOneDim *func = nullptr; // Functor
48 RooRealProxy var ; // Argument reference
49
50 ClassDefOverride(RooFunctor1DBinding,1) // RooAbsReal binding to a ROOT::Math::IBaseFunctionOneDim
51};
52
53
54
56public:
58 RooFunctor1DPdfBinding(const char *name, const char *title, const ROOT::Math::IBaseFunctionOneDim& ftor, RooAbsReal& vars);
59 RooFunctor1DPdfBinding(const RooFunctor1DPdfBinding& other, const char* name=nullptr) ;
60 TObject* clone(const char* newname=nullptr) const override { return new RooFunctor1DPdfBinding(*this,newname); }
61 void printArgs(std::ostream& os) const override ;
62
64 RooAbsReal const &variable() const { return *var; }
65
66protected:
67
68 double evaluate() const override ;
69
70 ROOT::Math::IBaseFunctionOneDim const *func = nullptr; // Functor
71 RooRealProxy var ; // Argument reference
72
73 ClassDefOverride(RooFunctor1DPdfBinding,1) // RooAbsPdf binding to a ROOT::Math::IBaseFunctionOneDim
74};
75
76
77#endif
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
char name[80]
Definition TGX11.cxx:110
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Definition IFunction.h:157
Abstract interface for all probability density functions.
Definition RooAbsPdf.h:32
Abstract base class for objects that represent a real value and implements functionality common to al...
Definition RooAbsReal.h:63
RooCFunction1Binding 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.
const ROOT::Math::IBaseFunctionOneDim * func
TObject * clone(const char *newname=nullptr) const override
ROOT::Math::IBaseFunctionOneDim const * function() const
RooFunctor1DBinding()=default
RooAbsReal const & variable() const
ROOT::Math::IBaseFunctionOneDim const * func
RooFunctor1DPdfBinding()=default
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.
RooAbsReal const & variable() const
ROOT::Math::IBaseFunctionOneDim const * function() const
Mother of all ROOT objects.
Definition TObject.h:42
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition CodegenImpl.h:71
RooAbsPdf * bindPdf(const char *name, CFUNCD1D func, RooAbsReal &x)
RooAbsReal * bindFunction(const char *name, CFUNCD1D func, RooAbsReal &x)