]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtBtoXsgammaFermiUtil.hh
added a histogram
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtBtoXsgammaFermiUtil.hh
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 //      This software is part of the EvtGen package developed jointly
5 //      for the BaBar and CLEO collaborations.  If you use all or part
6 //      of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 //      Copyright (C) 2001      Brunel University
10 //
11 // Module: EvtGen/EvtBtoXsgammaFermiUtil.hh
12 //
13 // Description:
14 //       Class to hold various fermi functions and their helper functions. The 
15 //       fermi functions are used in EvtBtoXsgammaKagan.
16 //
17 // Modification history:
18 //
19 //       Jane Tinslay     March 21, 2001         Module created
20 //
21 //------------------------------------------------------------------------
22
23 #ifndef EVTBTOXSGAMMAFERMIUTIL_HH
24 #define EVTBTOXSGAMMAFERMIUTIL_HH
25
26 #include <vector>
27
28 class EvtBtoXsgammaFermiUtil {
29
30 //--------------------
31 // Instance Members --
32 //--------------------
33
34 public:
35
36   // Constructors
37   EvtBtoXsgammaFermiUtil() { };
38   virtual ~EvtBtoXsgammaFermiUtil() { };
39
40   //Exponential function
41   static double FermiExpFunc(double var, const std::vector<double> &coeffs);
42
43   //Gaussian function and its helper functions
44   static double FermiGaussFunc(double, std::vector<double> const &coeffs);
45   static double FermiGaussFuncRoot(double, double, double, std::vector<double> &coeffs);
46   static double FermiGaussRootFcnA(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
47   static double FermiGaussRootFcnB(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
48   static double Gamma(double, const std::vector<double> &coeffs);
49
50   //Roman function and its helper functions
51   static double BesselI1(double);
52   static double BesselK1(double);
53   static double FermiRomanFuncRoot(double, double);
54   static double FermiRomanRootFcnA(double);
55   static double FermiRomanFunc(double, std::vector<double> const &coeffs);
56
57 };
58
59 #endif