]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 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 |