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
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
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 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 ) :
38 m_myFunction( theFunction ),
39 m_coeffs1( coeffs1 ),
40 m_coeffs2( coeffs2 ),
41 m_coeffs3( coeffs3 ),
42 m_coeffs4( coeffs4 )
43{
44}
45
46double EvtItgFourCoeffFcn::myFunction( double x ) const
47{
49}
50
51void 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
63double 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}
EvtItgAbsFunction(double lowerRange, double upperRange)
double lowerRange() const
double upperRange() const
virtual double value(double x) const
double getCoeff(int, int) override
void setCoeff(int, int, double) override
double myFunction(double x) const override
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)
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)
std::vector< double > m_coeffs2
std::vector< double > m_coeffs3
std::vector< double > m_coeffs1
std::vector< double > m_coeffs4