]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtBtoXsgammaFermiUtil.hh
use eta-phi cuts instead of R-z cuts for track matching, add track momentum cut ...
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtBtoXsgammaFermiUtil.hh
CommitLineData
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
28class EvtBtoXsgammaFermiUtil {
29
30//--------------------
31// Instance Members --
32//--------------------
33
34public:
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