Introduction of the reference to Copyright and cvs Id
[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 ///////////////////////////////////////////////////////////////////////////
9 // Class AliMath
10 // Various mathematical tools which may be very convenient while
11 // performing physics analysis.
12 //
13 // Example : Probability of a Chi-squared value
14 // =========
15 //
16 // AliMath M;
17 // Float_t chi2=20  ;          // The chi-squared value
18 // Int_t ndf=12;               // The number of degrees of freedom
19 // Float_t p=M.Prob(chi2,ndf); // The probability that at least a Chi-squared
20 //                             // value of chi2 will be observed, even for a
21 //                             // correct model
22 //
23 //--- NvE 14-nov-1998 UU-SAP Utrecht
24 ///////////////////////////////////////////////////////////////////////////
25  
26 #include <iostream.h>
27 #include <math.h>
28  
29 #include "TObject.h"
30  
31 class AliMath : public TObject
32 {
33  public:
34   AliMath();                            // Default constructor
35   ~AliMath();                           // Destructor
36   Float_t Gamma(Float_t z);             // Standard gamma function Gamma(z)
37   Float_t Gamma(Float_t a,Float_t x);   // Incomplete gamma function P(a,x)
38   Float_t LnGamma(Float_t z);           // Compute ln[Gamma(z)]
39   Float_t Erf(Float_t x);               // Error function erf(x)
40   Float_t Erfc(Float_t x);              // Complementary error function erfc(x)
41   Float_t Prob(Float_t chi2,Int_t ndf); // Compute Chi-squared probability
42  
43  protected:
44   Float_t GamSer(Float_t a,Float_t x);  // Compute P(a,x) via serial representation
45   Float_t GamCf(Float_t a,Float_t x);   // Compute P(a,x) via continued fractions
46  
47  ClassDef(AliMath,1) // Class definition to enable ROOT I/O
48  
49 };
50 #endif