]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtIntegPdf1D.hh
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtIntegPdf1D.hh
1 /*******************************************************************************
2  * Project: BaBar detector at the SLAC PEP-II B-factory
3  * Package: EvtGenBase
4  *    File: $Id: EvtIntegPdf1D.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
5  *  Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
6  *
7  * Copyright (C) 2002 Caltech
8  *******************************************************************************/
9
10 // Analytically integrable one dimensional PDF.
11
12 #ifndef EVT_INTEG_PDF_1D_HH
13 #define EVT_INTEG_PDF_1D_HH
14
15 #include "EvtGenBase/EvtPdf.hh"
16 #include "EvtGenBase/EvtPoint1D.hh"
17
18 class EvtIntegPdf1D : public EvtPdf<EvtPoint1D> {
19
20 public:
21   
22   EvtIntegPdf1D(double min, double max);
23   EvtIntegPdf1D(const EvtIntegPdf1D&);
24   virtual ~EvtIntegPdf1D();
25
26   // Pdf integral function and its inverse to be defined in subclasses  
27
28   virtual double pdfIntegral(double x) const = 0;
29   virtual double pdfIntegralInverse(double x) const = 0;
30
31   virtual EvtValError compute_integral() const;
32   virtual EvtPoint1D randomPoint();
33
34 protected: 
35   
36   double _min;
37   double _max;
38 };
39
40
41 #endif
42
43