evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtIntegPdf1D.hh
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #ifndef EVT_INTEG_PDF_1D_HH
22 #define EVT_INTEG_PDF_1D_HH
23 
24 #include "EvtGenBase/EvtPdf.hh"
25 #include "EvtGenBase/EvtPoint1D.hh"
26 
27 // Analytically integrable one dimensional PDF.
28 
29 class EvtIntegPdf1D : public EvtPdf<EvtPoint1D> {
30  public:
31  EvtIntegPdf1D( double min, double max );
32  EvtIntegPdf1D( const EvtIntegPdf1D& );
33 
34  // Pdf integral function and its inverse to be defined in subclasses
35 
36  virtual double pdfIntegral( double x ) const = 0;
37  virtual double pdfIntegralInverse( double x ) const = 0;
38 
40  EvtValError compute_integral() const override;
41  EvtPoint1D randomPoint() override;
42 
43  protected:
44  double _min;
45  double _max;
46 };
47 
48 #endif
virtual double pdfIntegral(double x) const =0
EvtIntegPdf1D(double min, double max)
EvtPoint1D randomPoint() override
virtual double pdfIntegralInverse(double x) const =0
Definition: EvtPdf.hh:72
EvtValError compute_integral() const override