New version of SPD raw-data reconstruction. The format now correponds to the actual...
[u/mrichter/AliRoot.git] / HLT / src / AliHLTConfMapTrack.h
1 // @(#) $Id$
2
3 #ifndef ALIL3_ConfMapTrack
4 #define ALIL3_ConfMapTrack
5
6 #include <string.h>
7
8 #include "AliHLTTrack.h"
9
10 #include "AliHLTRootTypes.h"
11 #include "AliHLTConfMapPoint.h"
12
13 class AliHLTVertex;
14
15 class AliHLTConfMapTrack :public AliHLTTrack {
16
17  public:
18   
19   AliHLTConfMapTrack();
20   virtual ~AliHLTConfMapTrack();
21   void Fill(AliHLTVertex *vertex,Double_t max_Dca);
22   void Reset();
23   void UpdateParam(AliHLTConfMapPoint *hit);
24   void DeleteCandidate();
25
26   void StartLoop() {fCurrentHit = fFirstHit;}
27   void GetNextHit() {fCurrentHit = ((AliHLTConfMapPoint*)fCurrentHit)->GetNextTrackHit();}
28   Int_t LoopDone() const {return fCurrentHit != 0;}
29
30   // setter   
31   void  SetChiSq1(Double_t f) {fChiSq[0]=f;} 
32   void  SetChiSq2(Double_t f) {fChiSq[1]=f;}
33   void  SetProperties(Bool_t fUsage);
34
35   // getter
36   Double_t const  *GetChiSq()   const { return fChiSq;}
37   Double_t GetChiSq1() const { return fChiSq[0]; }
38   Double_t GetChiSq2() const { return fChiSq[1]; }
39
40   /*
41   Double_t GetS11Xy() const {return fs11Xy;}
42   Double_t GetS12Xy() const {return fs12Xy;}
43   Double_t GetS22Xy() const {return fs22Xy;}
44   Double_t GetG1Xy()  const {return fg1Xy;}
45   Double_t GetG2Xy()  const {return fg2Xy;}
46   Double_t GetS11Sz() const {return fs11Sz;}
47   Double_t GetS12Sz() const {return fs12Sz;}
48   Double_t GetS22z()  const {return fs22Sz;}
49   Double_t GetG1Sz()  const {return fg1Sz;}
50   Double_t GetG2Sz()  const { return fg2Sz;}
51   */
52
53   Double_t GetDDXy() const {return fddXy;} 
54   Double_t GetA1Xy() const {return fa1Xy;} 
55   Double_t GetA2Xy() const {return fa2Xy;}   
56   Double_t GetDDSz() const {return fddSz;} 
57   Double_t GetA1Sz() const {return fa1Sz;} 
58   Double_t GetA2Sz() const {return fa2Sz;}  
59
60   AliHLTConfMapPoint* GetFirstHit()   const {return fFirstHit;}
61   AliHLTConfMapPoint* GetLastHit()    const {return fLastHit;}
62   AliHLTConfMapPoint* GetCurrentHit() const {return fCurrentHit;}
63   Int_t GetMCLabel();
64
65  protected:
66
67   AliHLTConfMapPoint *fCurrentHit;  //!
68   AliHLTConfMapPoint *fLastHit;  //!
69   AliHLTConfMapPoint *fFirstHit;  //!
70
71
72   Double_t fChiSq[2]; //chi squared
73   
74   //fit parameters. Bad naming convention, i know...
75   Double_t    fs11Xy; //helper
76   Double_t    fs12Xy; //helper
77   Double_t    fs22Xy; //helper
78   Double_t    fg1Xy;  //helper
79   Double_t    fg2Xy;  //helper       
80   Double_t    fs11Sz; //helper
81   Double_t    fs12Sz; //helper
82   Double_t    fs22Sz; //helper
83   Double_t    fg1Sz;  //helper
84   Double_t    fg2Sz;  //helper 
85   
86   Double_t    fddXy, fa1Xy, fa2Xy ;    /*fit par in xy */
87   Double_t    fddSz, fa1Sz, fa2Sz ;    /*fit par in sz */
88   
89   ClassDef(AliHLTConfMapTrack,1) //Conformal mapping track class
90 };
91
92 typedef AliHLTConfMapTrack AliL3ConfMapTrack; // for backward compatibility
93     
94 #endif
95