]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/AliMath.h
22-nov-2003 NvE Support for various computation modes introduced in AliMath::Prob.
[u/mrichter/AliRoot.git] / RALICE / AliMath.h
1 #ifndef ALIMATH_H
2 #define ALIMATH_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7
8 #include <math.h>
9  
10 #include "TObject.h"
11  
12 class AliMath : public TObject
13 {
14  public:
15   AliMath();                                           // Default constructor
16   virtual ~AliMath();                                  // Destructor
17   AliMath(AliMath& m);                                 // Copy constructor
18   Double_t Gamma(Double_t z);                          // Standard gamma function Gamma(z)
19   Double_t Gamma(Double_t a,Double_t x);               // Incomplete gamma function P(a,x)
20   Double_t LnGamma(Double_t z);                        // Compute ln[Gamma(z)]
21   Double_t Erf(Double_t x);                            // Error function erf(x)
22   Double_t Erfc(Double_t x);                           // Complementary error function erfc(x)
23   Double_t Prob(Double_t chi2,Int_t ndf,Int_t mode=1); // Compute Chi-squared probability
24   Double_t BesselI(Int_t n,Double_t x);                // Compute integer order modified Bessel function I_n(x)
25   Double_t BesselK(Int_t n,Double_t x);                // Compute integer order modified Bessel function K_n(x)
26  
27  protected:
28   Double_t GamSer(Double_t a,Double_t x); // Compute P(a,x) via serial representation
29   Double_t GamCf(Double_t a,Double_t x);  // Compute P(a,x) via continued fractions
30   Double_t BesselI0(Double_t x);          // Compute modified Bessel function I_0(x)
31   Double_t BesselK0(Double_t x);          // Compute modified Bessel function K_0(x)
32   Double_t BesselI1(Double_t x);          // Compute modified Bessel function I_1(x)
33   Double_t BesselK1(Double_t x);          // Compute modified Bessel function K_1(x)
34  
35  ClassDef(AliMath,2) // Various mathematical tools for physics analysis.
36  
37 };
38 #endif