]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtItgFourCoeffFcn.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtItgFourCoeffFcn.cxx
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   EvtItgAbsFunction(lowerRange, upperRange),
31   _myFunction(theFunction),
32   _coeffs1(coeffs1),
33   _coeffs2(coeffs2), 
34   _coeffs3(coeffs3),
35   _coeffs4(coeffs4)
36 {}
37
38 EvtItgFourCoeffFcn::~EvtItgFourCoeffFcn( )
39 {}
40
41
42 double
43 EvtItgFourCoeffFcn::myFunction(double x) const{
44   return _myFunction(x, _coeffs1, _coeffs2, _coeffs3, _coeffs4);
45 }
46
47 void
48 EvtItgFourCoeffFcn::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
56 double
57 EvtItgFourCoeffFcn::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 }