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
EvtItgFourCoeffFcn.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/EvtItgFourCoeffFcn.hh
"
22
23
//-------------
24
// C Headers --
25
//-------------
26
extern
"C"
{
27
}
28
29
EvtItgFourCoeffFcn::EvtItgFourCoeffFcn
(
30
double
( *theFunction )(
double
,
const
std::vector<double>&,
31
const
std::vector<double>&,
32
const
std::vector<double>&,
33
const
std::vector<double>& ),
34
double
lowerRange
,
double
upperRange
,
const
std::vector<double>& coeffs1,
35
const
std::vector<double>& coeffs2,
const
std::vector<double>& coeffs3,
36
const
std::vector<double>& coeffs4 ) :
37
EvtItgAbsFunction
(
lowerRange
,
upperRange
),
38
m_myFunction
( theFunction ),
39
m_coeffs1
( coeffs1 ),
40
m_coeffs2
( coeffs2 ),
41
m_coeffs3
( coeffs3 ),
42
m_coeffs4
( coeffs4 )
43
{
44
}
45
46
double
EvtItgFourCoeffFcn::myFunction
(
double
x )
const
47
{
48
return
m_myFunction
( x,
m_coeffs1
,
m_coeffs2
,
m_coeffs3
,
m_coeffs4
);
49
}
50
51
void
EvtItgFourCoeffFcn::setCoeff
(
int
vect,
int
which,
double
value
)
52
{
53
if
( vect == 1 )
54
m_coeffs1
[which] =
value
;
55
else
if
( vect == 2 )
56
m_coeffs2
[which] =
value
;
57
else
if
( vect == 3 )
58
m_coeffs3
[which] =
value
;
59
else
if
( vect == 4 )
60
m_coeffs4
[which] =
value
;
61
}
62
63
double
EvtItgFourCoeffFcn::getCoeff
(
int
vect,
int
which )
64
{
65
if
( vect == 1 )
66
return
m_coeffs1
[which];
67
else
if
( vect == 2 )
68
return
m_coeffs2
[which];
69
else
if
( vect == 3 )
70
return
m_coeffs3
[which];
71
else
if
( vect == 4 )
72
return
m_coeffs4
[which];
73
else
{
74
return
0;
75
}
76
}
EvtItgFourCoeffFcn.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
EvtItgFourCoeffFcn::getCoeff
double getCoeff(int, int) override
Definition
EvtItgFourCoeffFcn.cpp:63
EvtItgFourCoeffFcn::setCoeff
void setCoeff(int, int, double) override
Definition
EvtItgFourCoeffFcn.cpp:51
EvtItgFourCoeffFcn::myFunction
double myFunction(double x) const override
Definition
EvtItgFourCoeffFcn.cpp:46
EvtItgFourCoeffFcn::EvtItgFourCoeffFcn
EvtItgFourCoeffFcn(double(*theFunction)(double, const std::vector< 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, const std::vector< double > &coeffs4)
Definition
EvtItgFourCoeffFcn.cpp:29
EvtItgFourCoeffFcn::m_myFunction
double(* m_myFunction)(double x, const std::vector< double > &coeffs1, const std::vector< double > &coeffs2, const std::vector< double > &coeffs3, const std::vector< double > &coeffs4)
Definition
EvtItgFourCoeffFcn.hh:52
EvtItgFourCoeffFcn::m_coeffs2
std::vector< double > m_coeffs2
Definition
EvtItgFourCoeffFcn.hh:58
EvtItgFourCoeffFcn::m_coeffs3
std::vector< double > m_coeffs3
Definition
EvtItgFourCoeffFcn.hh:59
EvtItgFourCoeffFcn::m_coeffs1
std::vector< double > m_coeffs1
Definition
EvtItgFourCoeffFcn.hh:57
EvtItgFourCoeffFcn::m_coeffs4
std::vector< double > m_coeffs4
Definition
EvtItgFourCoeffFcn.hh:60
Generated by
1.17.0