Logo ROOT   6.10/09
Reference Guide
RooChebychev.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooChebychev.h,v 1.6 2007/05/11 09:13:07 verkerke Exp $
5  * Authors: *
6  * GR, Gerhard Raven, UC San Diego, Gerhard.Raven@slac.stanford.edu
7  * *
8  * Copyright (c) 2000-2005, Regents of the University of California *
9  * and Stanford University. All rights reserved. *
10  * *
11  * Redistribution and use in source and binary forms, *
12  * with or without modification, are permitted according to the terms *
13  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
14  *****************************************************************************/
15 #ifndef ROO_CHEBYCHEV
16 #define ROO_CHEBYCHEV
17 
18 #include "RooAbsPdf.h"
19 #include "RooRealProxy.h"
20 #include "RooListProxy.h"
21 
22 class RooRealVar;
23 class RooArgList ;
24 
25 class RooChebychev : public RooAbsPdf {
26 public:
27 
28  RooChebychev() ;
29  RooChebychev(const char *name, const char *title,
30  RooAbsReal& _x, const RooArgList& _coefList) ;
31 
32  RooChebychev(const RooChebychev& other, const char* name = 0);
33  virtual TObject* clone(const char* newname) const { return new RooChebychev(*this, newname); }
34  inline virtual ~RooChebychev() { }
35 
36  Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
37  Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
38 
39  virtual void selectNormalizationRange(const char* rangeName=0, Bool_t force=kFALSE) ;
40 
41 private:
42 
45  mutable TNamed* _refRangeName ;
46 
47  Double_t evaluate() const;
48  Double_t evalAnaInt(const Double_t x) const;
49 
50  ClassDef(RooChebychev,2) // Chebychev polynomial PDF
51 };
52 
53 #endif
Double_t evalAnaInt(const Double_t x) const
RooRealProxy _x
Definition: RooChebychev.h:43
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. ...
Double_t x[n]
Definition: legend1.C:17
#define ClassDef(name, id)
Definition: Rtypes.h:297
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
TNamed * _refRangeName
Definition: RooChebychev.h:45
RooRealVar represents a fundamental (non-derived) real valued object.
Definition: RooRealVar.h:36
RooListProxy _coefList
Definition: RooChebychev.h:44
Double_t evaluate() const
virtual TObject * clone(const char *newname) const
Definition: RooChebychev.h:33
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported...
RooListProxy is the concrete proxy for RooArgList objects.
Definition: RooListProxy.h:25
const Bool_t kFALSE
Definition: RtypesCore.h:92
double Double_t
Definition: RtypesCore.h:55
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
virtual ~RooChebychev()
Definition: RooChebychev.h:34
Mother of all ROOT objects.
Definition: TObject.h:37
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
Definition: RooAbsPdf.h:41
virtual void selectNormalizationRange(const char *rangeName=0, Bool_t force=kFALSE)
Interface function to force use of a given normalization range to interpret function value...
RooRealProxy is the concrete proxy for RooAbsReal objects A RooRealProxy is the general mechanism to ...
Definition: RooRealProxy.h:23
Chebychev polynomial p.d.f.
Definition: RooChebychev.h:25