]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCkalmanFit.h
Compilation warnings
[u/mrichter/AliRoot.git] / TPC / AliTPCkalmanFit.h
1 #ifndef ALITPCKALMANFIT_H
2 #define ALITPCKALMANFIT_H
3
4
5
6 #include "TNamed.h"
7 #include "TMatrixD.h"
8 #include "TVectorD.h"
9 #include "TObjArray.h"
10 class TTreeSRedirector;
11 class AliTrackPointArray;
12 class AliTrackPoint;
13 class TFormula;
14 class TBits;
15 class THnSparse;
16 //
17
18 class AliTPCkalmanFit: public TNamed{
19 public:
20   AliTPCkalmanFit();
21   void Init();
22   void InitTransformation();
23   void  AddCalibration(AliTPCTransformation * calib);
24   AliTPCTransformation * GetTransformation(Int_t i){return (fCalibration)? (AliTPCTransformation *)fCalibration->At(i):0;}
25   //
26   void FitTrackLinear(AliTrackPointArray& points, Int_t step=1,  TTreeSRedirector *debug=0);
27   void DumpTrackLinear(AliTrackPointArray& points, TTreeSRedirector *debug);
28   void UpdateLinear(AliTrackPoint &point, TTreeSRedirector *debug=0);
29
30   void Propagate(TTreeSRedirector *debug=0);
31   void PropagateTime(Int_t time);
32
33   static AliTrackPointArray * MakePointArrayLinear(Double_t alpha, Double_t y0, Double_t z0, Double_t ky, Double_t kz, Double_t err=0.02); 
34   void  ApplyCalibration(AliTrackPointArray *array, Double_t csign);
35   Bool_t  CheckCovariance(TMatrixD &covar, Float_t maxEl);
36   Bool_t DumpCorelation(Double_t threshold);
37   Bool_t DumpCalib();
38   //
39   Double_t GetTPCDeltaXYZ(Int_t coord, Int_t volID, Double_t x, Double_t y, Double_t z);
40   static Double_t SGetTPCDeltaXYZ(Int_t coord, Int_t volID, Double_t x, Double_t y, Double_t z);
41   AliTPCkalmanFit *Test(Int_t ntracks);
42  public:
43   //
44   // Calibration parameters
45   //
46   TObjArray *fCalibration;  // array of calibrations
47   TMatrixD  *fCalibParam;   // calibration parameters 
48   TMatrixD  *fCalibCovar;   // calibration parameters 
49   //
50   // Linear track
51   //
52   TMatrixD  *fLinearParam;      // linear parameters
53   TMatrixD  *fLinearCovar;      // linear covariance
54   THnSparse *fLinearTrackDelta[8];   // linear tracks matching residuals - delta 
55   THnSparse *fLinearTrackPull[8];    // linear tracks matching residuals  - pull
56   //
57   //
58   //
59   Int_t      fLastTimeStamp; // last time stamp - used for propagation of parameters
60   //static AliTPCkalmanFit* Instance();
61   void SetInstance(AliTPCkalmanFit*param){fgInstance = param;}
62   static AliTPCkalmanFit*   fgInstance; //! Instance of this class (singleton implementation)
63  private:  
64   Double_t   fCurrentAlpha; //! current rotation frame
65   Double_t   fCA;           //! cosine of current angle
66   Double_t   fSA;           //! sinus of current angle  
67 //   AliTPCkalmanFit&  operator=(const AliTPCkalmanFit&){;}// not implemented
68 //   AliTPCkalmanFit(const AliTPCkalmanFit&){;} //not implemented
69   ClassDef(AliTPCkalmanFit,1);
70 };
71
72
73
74 #endif
75