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