BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtItgFourCoeffFcn.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Copyright Information: See EvtGen/COPYRIGHT
4//
5// Environment:
6// This software is part of the EvtGen package developed jointly
7// for the BaBar and CLEO collaborations. If you use all or part
8// of it, please give an appropriate acknowledgement.
9//
10// Module: EvtItgFourCoeffFcn.cc
11//
12// Description:
13// Class describing a function with four vectors of coefficients.
14//
15// Modification history:
16//
17// Jane Tinslay March 21, 2001 Module created
18//
19//------------------------------------------------------------------------
20#include "EvtGenBase/EvtPatches.hh"
21#include "EvtGenModels/EvtItgFourCoeffFcn.hh"
22
23//-------------
24// C Headers --
25//-------------
26extern "C" {
27}
28
29EvtItgFourCoeffFcn::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):
30 EvtItgAbsFunction(lowerRange, upperRange),
31 _myFunction(theFunction),
32 _coeffs1(coeffs1),
33 _coeffs2(coeffs2),
34 _coeffs3(coeffs3),
35 _coeffs4(coeffs4)
36{}
37
39{}
40
41
42double
43EvtItgFourCoeffFcn::myFunction(double x) const{
44 return _myFunction(x, _coeffs1, _coeffs2, _coeffs3, _coeffs4);
45}
46
47void
48EvtItgFourCoeffFcn::setCoeff(int vect, int which, double value)
49{
50 if (vect == 1) _coeffs1[which] = value;
51 else if (vect == 2) _coeffs2[which] = value;
52 else if (vect == 3) _coeffs3[which] = value;
53 else if (vect == 4) _coeffs4[which] = value;
54}
55
56double
57EvtItgFourCoeffFcn::getCoeff(int vect, int which)
58{
59 if (vect == 1) return _coeffs1[which];
60 else if (vect == 2) return _coeffs2[which];
61 else if (vect == 3) return _coeffs3[which];
62 else if (vect == 4) return _coeffs4[which];
63 else {return 0;}
64}
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)