Line data Source code
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 : //-------------
26 : extern "C" {
27 : }
28 :
29 : 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):
30 0 : EvtItgAbsFunction(lowerRange, upperRange),
31 0 : _myFunction(theFunction),
32 0 : _coeffs1(coeffs1),
33 0 : _coeffs2(coeffs2),
34 0 : _coeffs3(coeffs3),
35 0 : _coeffs4(coeffs4)
36 0 : {}
37 :
38 : EvtItgFourCoeffFcn::~EvtItgFourCoeffFcn( )
39 0 : {}
40 :
41 :
42 : double
43 : EvtItgFourCoeffFcn::myFunction(double x) const{
44 0 : return _myFunction(x, _coeffs1, _coeffs2, _coeffs3, _coeffs4);
45 : }
46 :
47 : void
48 : EvtItgFourCoeffFcn::setCoeff(int vect, int which, double value)
49 : {
50 0 : if (vect == 1) _coeffs1[which] = value;
51 0 : else if (vect == 2) _coeffs2[which] = value;
52 0 : else if (vect == 3) _coeffs3[which] = value;
53 0 : else if (vect == 4) _coeffs4[which] = value;
54 0 : }
55 :
56 : double
57 : EvtItgFourCoeffFcn::getCoeff(int vect, int which)
58 : {
59 0 : if (vect == 1) return _coeffs1[which];
60 0 : else if (vect == 2) return _coeffs2[which];
61 0 : else if (vect == 3) return _coeffs3[which];
62 0 : else if (vect == 4) return _coeffs4[which];
63 0 : else {return 0;}
64 0 : }
|