00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef EVTBTOXSGAMMAFERMIUTIL_HH
00024 #define EVTBTOXSGAMMAFERMIUTIL_HH
00025
00026 #include <vector>
00027
00028 class EvtBtoXsgammaFermiUtil {
00029
00030
00031
00032
00033
00034 public:
00035
00036
00037 EvtBtoXsgammaFermiUtil() { };
00038 virtual ~EvtBtoXsgammaFermiUtil() { };
00039
00040
00041 static double FermiExpFunc(double var, const std::vector<double> &coeffs);
00042
00043
00044 static double FermiGaussFunc(double, std::vector<double> const &coeffs);
00045 static double FermiGaussFuncRoot(double, double, double, std::vector<double> &coeffs);
00046 static double FermiGaussRootFcnA(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
00047 static double FermiGaussRootFcnB(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
00048 static double Gamma(double, const std::vector<double> &coeffs);
00049
00050
00051 static double BesselI1(double);
00052 static double BesselK1(double);
00053 static double FermiRomanFuncRoot(double, double);
00054 static double FermiRomanRootFcnA(double);
00055 static double FermiRomanFunc(double, std::vector<double> const &coeffs);
00056
00057 };
00058
00059 #endif