]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | /******************************************************************************* |
2 | * Project: BaBar detector at the SLAC PEP-II B-factory | |
3 | * Package: EvtGenBase | |
4 | * File: $Id: EvtIntegPdf1D.hh,v 1.8 2003/06/20 17:20:06 dvoretsk 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 |