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
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
22
23//-------------
24// C Headers --
25//-------------
26extern "C" {
27}
28
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 ) :
36 m_myFunction( theFunction ),
37 m_coeffs1( coeffs1 ),
38 m_coeffs2( coeffs2 ),
39 m_coeffs3( coeffs3 )
40{
41}
42
43double EvtItgThreeCoeffFcn::myFunction( double x ) const
44{
46}
47
48void 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
58double 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}
EvtItgAbsFunction(double lowerRange, double upperRange)
double lowerRange() const
double upperRange() const
virtual double value(double x) const
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)
std::vector< double > m_coeffs2
double getCoeff(int, int) override
std::vector< double > m_coeffs1
void setCoeff(int, int, double) override
double(* m_myFunction)(double x, const std::vector< double > &coeffs1, const std::vector< double > &coeffs2, const std::vector< double > &coeffs3)
double myFunction(double x) const override
std::vector< double > m_coeffs3