]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCConfMapTrack.h
additional boundary checks (Kenneth)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCConfMapTrack.h
1 // @(#) $Id$
2 // Original: AliHLTConfMapTrack.h,v 1.4 2004/06/16 11:25:06 loizides 
3
4 #ifndef ALIHLTTPCCONFMAPTRACK_H
5 #define ALIHLTTPCCONFMAPTRACK_H
6
7 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
8  * See cxx source for full Copyright notice                               */
9
10 /** @file   AliHLTTPCConfMapTrack.h
11     @author Anders Vestbo, maintained by Matthias Richter
12     @date   
13     @brief  Track class for conformal mapper
14 */
15
16 #include <string.h>
17
18 #include "AliHLTTPCTrack.h"
19
20 #include "AliHLTTPCRootTypes.h"
21 #include "AliHLTTPCConfMapPoint.h"
22
23 class AliHLTTPCVertex;
24
25 /** 
26  * @class AliHLTTPCConfMapTrack
27  * Track class for conformal mapper
28  *
29  */
30 class AliHLTTPCConfMapTrack :public AliHLTTPCTrack {
31
32  public:
33   
34   AliHLTTPCConfMapTrack();
35   /** destructor */
36   virtual ~AliHLTTPCConfMapTrack();
37   void Fill(AliHLTTPCVertex *vertex,Double_t max_Dca);
38   void Reset();
39   void UpdateParam(AliHLTTPCConfMapPoint *hit);
40   void DeleteCandidate();
41
42   void StartLoop() {fCurrentHit = fFirstHit;}
43   void GetNextHit() {fCurrentHit = ((AliHLTTPCConfMapPoint*)fCurrentHit)->GetNextTrackHit();}
44   Int_t LoopDone() const {return fCurrentHit != 0;}
45
46   // setter   
47   void  SetChiSq1(Double_t f) {fChiSq[0]=f;} 
48   void  SetChiSq2(Double_t f) {fChiSq[1]=f;}
49   void  SetProperties(Bool_t fUsage);
50
51   // getter
52   Double_t const  *GetChiSq()   const { return fChiSq;}
53   Double_t GetChiSq1() const { return fChiSq[0]; }
54   Double_t GetChiSq2() const { return fChiSq[1]; }
55
56   /*
57   Double_t GetS11Xy() const {return fs11Xy;}
58   Double_t GetS12Xy() const {return fs12Xy;}
59   Double_t GetS22Xy() const {return fs22Xy;}
60   Double_t GetG1Xy()  const {return fg1Xy;}
61   Double_t GetG2Xy()  const {return fg2Xy;}
62   Double_t GetS11Sz() const {return fs11Sz;}
63   Double_t GetS12Sz() const {return fs12Sz;}
64   Double_t GetS22z()  const {return fs22Sz;}
65   Double_t GetG1Sz()  const {return fg1Sz;}
66   Double_t GetG2Sz()  const { return fg2Sz;}
67   */
68
69   Double_t GetDDXy() const {return fddXy;} 
70   Double_t GetA1Xy() const {return fa1Xy;} 
71   Double_t GetA2Xy() const {return fa2Xy;}   
72   Double_t GetDDSz() const {return fddSz;} 
73   Double_t GetA1Sz() const {return fa1Sz;} 
74   Double_t GetA2Sz() const {return fa2Sz;}  
75
76   AliHLTTPCConfMapPoint* GetFirstHit()   const {return fFirstHit;}
77   AliHLTTPCConfMapPoint* GetLastHit()    const {return fLastHit;}
78   AliHLTTPCConfMapPoint* GetCurrentHit() const {return fCurrentHit;}
79   Int_t GetMCLabel();
80
81  protected:
82
83   AliHLTTPCConfMapPoint *fCurrentHit;  //!
84   AliHLTTPCConfMapPoint *fLastHit;  //!
85   AliHLTTPCConfMapPoint *fFirstHit;  //!
86
87
88   Double_t fChiSq[2]; //chi squared
89   
90   //fit parameters. Bad naming convention, i know...
91   Double_t    fs11Xy; //helper
92   Double_t    fs12Xy; //helper
93   Double_t    fs22Xy; //helper
94   Double_t    fg1Xy;  //helper
95   Double_t    fg2Xy;  //helper       
96   Double_t    fs11Sz; //helper
97   Double_t    fs12Sz; //helper
98   Double_t    fs22Sz; //helper
99   Double_t    fg1Sz;  //helper
100   Double_t    fg2Sz;  //helper 
101   
102   Double_t    fddXy, fa1Xy, fa2Xy ;    /*fit par in xy */
103   Double_t    fddSz, fa1Sz, fa2Sz ;    /*fit par in sz */
104
105  private:
106   /** copy constructor prohibited */
107   AliHLTTPCConfMapTrack(const AliHLTTPCConfMapTrack&);
108   /** assignment operator prohibited */
109   AliHLTTPCConfMapTrack& operator=(const AliHLTTPCConfMapTrack&);
110   
111   ClassDef(AliHLTTPCConfMapTrack,1) //Conformal mapping track class
112 };
113     
114 #endif // ALIHLTTPCCONFMAPTRACK_H
115