EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
src
EvtGenBase
EvtIntervalFlatPdf.cpp
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
#include "
EvtGenBase/EvtIntervalFlatPdf.hh
"
22
23
#include "
EvtGenBase/EvtRandom.hh
"
24
25
#include <assert.h>
26
27
EvtIntervalFlatPdf::EvtIntervalFlatPdf
(
double
min,
double
max ) :
28
EvtPdf
<
EvtPoint1D
>(),
m_min
( min ),
m_max
( max )
29
{
30
assert( max >= min );
31
}
32
33
EvtIntervalFlatPdf::EvtIntervalFlatPdf
(
const
EvtIntervalFlatPdf
& other ) :
34
EvtPdf
<
EvtPoint1D
>( other ),
m_min
( other.
m_min
),
m_max
( other.
m_max
)
35
{
36
}
37
38
EvtPdf<EvtPoint1D>
*
EvtIntervalFlatPdf::clone
()
const
39
{
40
return
new
EvtIntervalFlatPdf
( *
this
);
41
}
42
43
double
EvtIntervalFlatPdf::pdf
(
const
EvtPoint1D
& )
const
44
{
45
return
1.;
46
}
47
48
EvtValError
EvtIntervalFlatPdf::compute_integral
()
const
49
{
50
return
EvtValError
(
m_max
-
m_min
, 0. );
51
}
52
53
EvtPoint1D
EvtIntervalFlatPdf::randomPoint
()
54
{
55
return
EvtPoint1D
(
m_min
,
m_max
,
EvtRandom::Flat
(
m_min
,
m_max
) );
56
}
EvtIntervalFlatPdf.hh
EvtRandom.hh
EvtIntervalFlatPdf::clone
EvtPdf< EvtPoint1D > * clone() const override
Definition
EvtIntervalFlatPdf.cpp:38
EvtIntervalFlatPdf::m_min
double m_min
Definition
EvtIntervalFlatPdf.hh:46
EvtIntervalFlatPdf::pdf
double pdf(const EvtPoint1D &) const override
Definition
EvtIntervalFlatPdf.cpp:43
EvtIntervalFlatPdf::compute_integral
EvtValError compute_integral() const override
Definition
EvtIntervalFlatPdf.cpp:48
EvtIntervalFlatPdf::randomPoint
EvtPoint1D randomPoint() override
Definition
EvtIntervalFlatPdf.cpp:53
EvtIntervalFlatPdf::m_max
double m_max
Definition
EvtIntervalFlatPdf.hh:47
EvtIntervalFlatPdf::EvtIntervalFlatPdf
EvtIntervalFlatPdf(double min, double max)
Definition
EvtIntervalFlatPdf.cpp:27
EvtPdf< EvtPoint1D >::EvtPdf
EvtPdf()
Definition
EvtPdf.hh:74
EvtPoint1D
Definition
EvtPoint1D.hh:27
EvtRandom::Flat
static double Flat()
Definition
EvtRandom.cpp:95
EvtValError
Definition
EvtValError.hh:31
Generated by
1.16.1