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