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