EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
src
EvtGenModels
EvtItgThreeCoeffFcn.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 "
EvtGenModels/EvtItgThreeCoeffFcn.hh
"
22
23
//-------------
24
// C Headers --
25
//-------------
26
extern
"C"
{
27
}
28
29
EvtItgThreeCoeffFcn::EvtItgThreeCoeffFcn
(
30
double
( *theFunction )(
double
,
const
std::vector<double>&,
31
const
std::vector<double>&,
32
const
std::vector<double>& ),
33
double
lowerRange
,
double
upperRange
,
const
std::vector<double>& coeffs1,
34
const
std::vector<double>& coeffs2,
const
std::vector<double>& coeffs3 ) :
35
EvtItgAbsFunction
(
lowerRange
,
upperRange
),
36
m_myFunction
( theFunction ),
37
m_coeffs1
( coeffs1 ),
38
m_coeffs2
( coeffs2 ),
39
m_coeffs3
( coeffs3 )
40
{
41
}
42
43
double
EvtItgThreeCoeffFcn::myFunction
(
double
x )
const
44
{
45
return
m_myFunction
( x,
m_coeffs1
,
m_coeffs2
,
m_coeffs3
);
46
}
47
48
void
EvtItgThreeCoeffFcn::setCoeff
(
int
vect,
int
which,
double
value
)
49
{
50
if
( vect == 1 )
51
m_coeffs1
[which] =
value
;
52
else
if
( vect == 2 )
53
m_coeffs2
[which] =
value
;
54
else
if
( vect == 3 )
55
m_coeffs3
[which] =
value
;
56
}
57
58
double
EvtItgThreeCoeffFcn::getCoeff
(
int
vect,
int
which )
59
{
60
if
( vect == 1 )
61
return
m_coeffs1
[which];
62
else
if
( vect == 2 )
63
return
m_coeffs2
[which];
64
else
if
( vect == 3 )
65
return
m_coeffs3
[which];
66
else
{
67
return
0;
68
}
69
}
EvtItgThreeCoeffFcn.hh
EvtItgAbsFunction::EvtItgAbsFunction
EvtItgAbsFunction(double lowerRange, double upperRange)
Definition
EvtItgAbsFunction.cpp:33
EvtItgAbsFunction::lowerRange
double lowerRange() const
Definition
EvtItgAbsFunction.hh:51
EvtItgAbsFunction::upperRange
double upperRange() const
Definition
EvtItgAbsFunction.hh:50
EvtItgAbsFunction::value
virtual double value(double x) const
Definition
EvtItgAbsFunction.cpp:38
EvtItgThreeCoeffFcn::EvtItgThreeCoeffFcn
EvtItgThreeCoeffFcn(double(*theFunction)(double, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &), double lowerRange, double upperRange, const std::vector< double > &coeffs1, const std::vector< double > &coeffs2, const std::vector< double > &coeffs3)
Definition
EvtItgThreeCoeffFcn.cpp:29
EvtItgThreeCoeffFcn::m_coeffs2
std::vector< double > m_coeffs2
Definition
EvtItgThreeCoeffFcn.hh:61
EvtItgThreeCoeffFcn::getCoeff
double getCoeff(int, int) override
Definition
EvtItgThreeCoeffFcn.cpp:58
EvtItgThreeCoeffFcn::m_coeffs1
std::vector< double > m_coeffs1
Definition
EvtItgThreeCoeffFcn.hh:60
EvtItgThreeCoeffFcn::setCoeff
void setCoeff(int, int, double) override
Definition
EvtItgThreeCoeffFcn.cpp:48
EvtItgThreeCoeffFcn::m_myFunction
double(* m_myFunction)(double x, const std::vector< double > &coeffs1, const std::vector< double > &coeffs2, const std::vector< double > &coeffs3)
Definition
EvtItgThreeCoeffFcn.hh:56
EvtItgThreeCoeffFcn::myFunction
double myFunction(double x) const override
Definition
EvtItgThreeCoeffFcn.cpp:43
EvtItgThreeCoeffFcn::m_coeffs3
std::vector< double > m_coeffs3
Definition
EvtItgThreeCoeffFcn.hh:62
Generated by
1.17.0