]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenBase/EvtIntegPdf1D.cpp
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtIntegPdf1D.cpp
CommitLineData
da0e9ce3 1#include "EvtGenBase/EvtPatches.hh"
2/*******************************************************************************
3 * Project: BaBar detector at the SLAC PEP-II B-factory
4 * Package: EvtGenBase
0ca57c2f 5 * File: $Id: EvtIntegPdf1D.cpp,v 1.3 2009-03-16 15:48:09 robbep Exp $
da0e9ce3 6 * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 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
16EvtIntegPdf1D::EvtIntegPdf1D(double min, double max)
17 : EvtPdf<EvtPoint1D>(), _min(min), _max(max)
18{
19 assert(min <= max);
20}
21
22EvtIntegPdf1D::EvtIntegPdf1D(const EvtIntegPdf1D& other)
23 : EvtPdf<EvtPoint1D>(other), _min(other._min), _max(other._max)
24{}
25
26EvtIntegPdf1D::~EvtIntegPdf1D()
27{}
28
29EvtValError EvtIntegPdf1D::compute_integral() const
30{
31 double x1 = pdfIntegral(_min);
32 double x2 = pdfIntegral(_max);
33 return EvtValError(x2-x1,0.);
34}
35
36
37EvtPoint1D EvtIntegPdf1D::randomPoint()
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