Logo ROOT   6.12/07
Reference Guide
RooVoigtian.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooVoigtian.h,v 1.7 2007/07/12 20:30:49 wouter Exp $
5  * Authors: *
6  * TS, Thomas Schietinger, SLAC, schieti@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 
16 #ifndef ROO_VOIGTIAN
17 #define ROO_VOIGTIAN
18 
19 #include "RooAbsPdf.h"
20 #include "RooRealProxy.h"
21 
22 class RooRealVar;
23 
24 class RooVoigtian : public RooAbsPdf {
25 public:
26  RooVoigtian() {} ;
27  RooVoigtian(const char *name, const char *title,
28  RooAbsReal& _x, RooAbsReal& _mean,
29  RooAbsReal& _width, RooAbsReal& _sigma,
30  Bool_t doFast = kFALSE);
31  RooVoigtian(const RooVoigtian& other, const char* name=0) ;
32  virtual TObject* clone(const char* newname) const { return new RooVoigtian(*this,newname); }
33  inline virtual ~RooVoigtian() { }
34 
35 // These methods allow the user to select the fast evaluation
36 // of the complex error function using look-up tables
37 // (default is the "slow" CERNlib algorithm)
38 
39  inline void selectFastAlgorithm() { _doFast = kTRUE; }
40  inline void selectDefaultAlgorithm() { _doFast = kFALSE; }
41 
42 protected:
43 
48 
49  Double_t evaluate() const ;
50 
51 private:
52 
55  ClassDef(RooVoigtian,1) // Voigtian PDF (Gauss (x) BreitWigner)
56 };
57 
58 #endif
59 
RooRealProxy mean
Definition: RooVoigtian.h:45
Double_t _invRootPi
Definition: RooVoigtian.h:53
Bool_t _doFast
Definition: RooVoigtian.h:54
virtual TObject * clone(const char *newname) const
Definition: RooVoigtian.h:32
bool Bool_t
Definition: RtypesCore.h:59
RooRealProxy width
Definition: RooVoigtian.h:46
#define ClassDef(name, id)
Definition: Rtypes.h:320
void selectFastAlgorithm()
Definition: RooVoigtian.h:39
RooRealVar represents a fundamental (non-derived) real valued object.
Definition: RooRealVar.h:36
const Bool_t kFALSE
Definition: RtypesCore.h:88
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
Double_t evaluate() const
Definition: RooVoigtian.cxx:72
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
RooRealProxy sigma
Definition: RooVoigtian.h:47
RooRealProxy is the concrete proxy for RooAbsReal objects A RooRealProxy is the general mechanism to ...
Definition: RooRealProxy.h:23
virtual ~RooVoigtian()
Definition: RooVoigtian.h:33
void selectDefaultAlgorithm()
Definition: RooVoigtian.h:40
RooRealProxy x
Definition: RooVoigtian.h:44
RooVoigtian is an efficient implementation of the convolution of a Breit-Wigner with a Gaussian...
Definition: RooVoigtian.h:24
const Bool_t kTRUE
Definition: RtypesCore.h:87
char name[80]
Definition: TGX11.cxx:109