BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtIntegPdf1D.cc
Go to the documentation of this file.
1#include "EvtGenBase/EvtPatches.hh"
2/*******************************************************************************
3 * Project: BaBar detector at the SLAC PEP-II B-factory
4 * Package: EvtGenBase
5 * File: $Id: EvtIntegPdf1D.cc,v 1.1.1.2 2007/10/26 05:03:14 pingrg Exp $
6 * Author: Alexei Dvoretskii, [email protected], 2001-2002
7 *
8 * Copyright (C) 2002 Caltech
9 *******************************************************************************/
10
11#include <assert.h>
12#include "EvtGenBase/EvtPatches.hh"
13#include "EvtGenBase/EvtMacros.hh"
14#include "EvtGenBase/EvtIntegPdf1D.hh"
15
17 : EvtPdf<EvtPoint1D>(), _min(min), _max(max)
18{
19 assert(min <= max);
20}
21
23 : EvtPdf<EvtPoint1D>(other), _min(other._min), _max(other._max)
24{}
25
27{}
28
30{
31 double x1 = pdfIntegral(_min);
32 double x2 = pdfIntegral(_max);
33 return EvtValError(x2-x1,0.);
34}
35
36
38{
39 double itgmin = pdfIntegral(_min);
40 double itgmax = pdfIntegral(_max);
41 double itgrnd = EvtRandom::Flat(itgmin,itgmax);
42
43 return EvtPoint1D(_min,_max,pdfIntegralInverse(itgrnd));
44}
45
46
virtual double pdfIntegral(double x) const =0
virtual double pdfIntegralInverse(double x) const =0