]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSstatistics2.h
New ITS code for new structure and simulations.
[u/mrichter/AliRoot.git] / ITS / AliITSstatistics2.h
1 #ifndef ALIITSSTATISTICS2_H
2 #define ALIITSSTATISTICS2_H
3 //////////////////////////////////////////////////////////////////////////
4 //  Alice ITS first detector alignment program.                         //
5 //                                                                      //
6 // version: 0.0.0 Draft.                                                //
7 // Date: April 18 1999                                                  //
8 // By: Bjorn S. Nilsen                                                  //
9 //                                                                      //
10 //////////////////////////////////////////////////////////////////////////
11 #include "TObject.h"
12
13 class AliITSstatistics2 : public TObject {
14 //
15
16  public:
17     AliITSstatistics2();
18     AliITSstatistics2(Int_t order);
19          AliITSstatistics2(AliITSstatistics2 &source); // copy  constructor
20          AliITSstatistics2& operator=(AliITSstatistics2 &source); // operator=   
21     virtual ~AliITSstatistics2();
22     void Reset();
23     void AddValue(Double_t y,Double_t x,Double_t w);
24     void AddValue(Double_t y,Double_t x){AddValue(y,x,1.0);} // default weight
25     void AddValue(Float_t y,Float_t x,Float_t w){
26              AddValue((Double_t)y,(Double_t)x,(Double_t)w);} // Floating point version
27     void AddValue(Float_t y,Float_t x){AddValue(y,x,1.0);}// default weight F.
28     Double_t GetXNth (Int_t order);
29     Double_t GetYNth (Int_t order);
30     Double_t GetYXNth(Int_t order);
31     Double_t GetMeanY()  {
32                                // return mean y
33                                return GetYNth(1);
34                                                                  };
35     Double_t GetMeanX()  {
36                                // return mean x
37                                return GetXNth(1);
38                                                                  };
39     Double_t GetMeanYX() {
40                                // return mean Y*X
41                                return GetYXNth(1);
42                                                                  };
43     Int_t GetN(){
44                       // retrun the number of entries
45                       return fN;
46                                          };
47     Int_t GetOrder(){
48                           // return the maximum moment order
49                           return fOrder;
50                                                   };
51     Double_t GetXN (Int_t order){
52                                       // returns x^n
53                                       return fx[order-1];
54                                                                                   };
55     Double_t GetYN (Int_t order){
56                                       // returns y^n
57                                       return fy[order-1];
58                                                                                   };
59     Double_t GetYXN(Int_t order){
60                                       // returns (yx)^n
61                                       return fyx[order-1];
62                                                                                   };
63     Double_t GetWN (Int_t order){
64                                       // returns w^n (weight)
65                                       return fw[order-1];
66                                                                                   };
67     Double_t GetRMSY();
68     Double_t GetRMSX();
69     Double_t GetRMSYX();
70     Double_t GetErrorMeanY();
71     Double_t GetErrorMeanX();
72     Double_t GetErrorMeanYX();
73     Double_t GetErrorRMSY();
74     Double_t GetErrorRMSX();
75     Double_t GetErrorRMSYX();
76     Double_t FitToLine(Double_t &a,Double_t &b);
77
78  private:
79     Double_t *fx;    // array of sums of x^n
80          Double_t *fyx;   // array of sums of (xy)^n
81          Double_t *fy;    // array of sums of y^n
82          Double_t *fw;    // array of sums of w^n (weights)
83     Int_t  fN;       // number of enetries
84          Int_t  fOrder;   // maximum moment of distributions (^n)
85
86
87     ClassDef(AliITSstatistics2,1)  //
88 };
89 #endif