StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 
29 
30 //--------------------
31 // Instance Members --
32 //--------------------
33 
34 public:
35 
36  // Constructors
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