]>
Commit | Line | Data |
---|---|---|
a6c02c85 | 1 | // @(#) $Id$ |
4aa41877 | 2 | // Original: AliHLTModelTrack.h,v 1.13 2004/06/15 10:26:57 hristov |
a6c02c85 | 3 | |
4 | #ifndef AliHLTTPCModel_Track | |
5 | #define AliHLTTPCModel_Track | |
6 | ||
7 | #include "AliHLTTPCTrack.h" | |
8 | #include "AliHLTTPCModels.h" | |
9 | ||
10 | class AliHLTTPCModelTrack : public AliHLTTPCTrack { | |
11 | ||
12 | public: | |
13 | AliHLTTPCModelTrack(); | |
14 | virtual ~AliHLTTPCModelTrack(); | |
15 | ||
16 | void Init(Int_t slice,Int_t patch); | |
17 | void CalculateClusterWidths(Int_t row,Bool_t parametrize=kFALSE); | |
18 | void SetCluster(Int_t row,Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2,Int_t npads); | |
19 | void FillModel(); | |
20 | void FillTrack(); | |
21 | void Print(Bool_t everything=kTRUE); | |
5d2abf3b | 22 | using AliHLTTPCTrack::Print; |
a6c02c85 | 23 | void Set(AliHLTTPCTrack *tpt); |
24 | ||
25 | void SetPadHit(Int_t row,Float_t f); | |
26 | void SetTimeHit(Int_t row,Float_t f); | |
27 | void SetCrossingAngleLUT(Int_t row,Float_t angle); | |
28 | void SetOverlap(Int_t row,Int_t id); | |
29 | void SetClusterLabel(Int_t row,Int_t *trackID); | |
30 | void SetNClusters(Int_t i) {fNClusters = i;} | |
31 | ||
32 | Int_t GetNPresentClusters(); | |
33 | Bool_t IsPresent(Int_t row); | |
34 | Bool_t IsSet(Int_t row); | |
35 | ||
36 | AliHLTTPCClusterModel *GetClusters() {return fClusters;} | |
37 | AliHLTTPCTrackModel *GetModel() {return fTrackModel;} | |
38 | AliHLTTPCClusterModel *GetClusterModel(Int_t row); | |
39 | Int_t *GetOverlaps(Int_t row); | |
40 | Int_t GetNOverlaps(Int_t row); | |
41 | Int_t GetNPads(Int_t row); | |
42 | Int_t GetSlice(Int_t row); | |
43 | Float_t GetPadHit(Int_t row); | |
44 | Float_t GetTimeHit(Int_t row); | |
45 | Float_t GetCrossingAngleLUT(Int_t row); | |
46 | Float_t GetParSigmaY2(Int_t row); | |
47 | Float_t GetParSigmaZ2(Int_t row); | |
48 | Bool_t GetPad(Int_t row,Float_t &pad); | |
49 | Bool_t GetTime(Int_t row,Float_t &time); | |
50 | Bool_t GetClusterCharge(Int_t row,Int_t &charge); | |
51 | Bool_t GetSigmaY2(Int_t row,Float_t &sigma2); | |
52 | Bool_t GetSigmaZ2(Int_t row,Float_t &sigma2); | |
53 | Bool_t GetPadResidual(Int_t row,Float_t &res); | |
54 | Bool_t GetTimeResidual(Int_t row,Float_t &res); | |
55 | Bool_t GetSigmaYResidual(Int_t row,Float_t &res); | |
56 | Bool_t GetSigmaZResidual(Int_t row,Float_t &res); | |
57 | Int_t GetNClusters() const {return fNClusters;} | |
58 | void GetClusterLabel(Int_t row,Int_t *trackID); | |
59 | ||
60 | private: | |
8f8bf0af | 61 | /** copy constructor prohibited */ |
e419b223 | 62 | AliHLTTPCModelTrack(const AliHLTTPCModelTrack&); |
8f8bf0af | 63 | /** assignment operator prohibited */ |
e419b223 | 64 | AliHLTTPCModelTrack& operator=(const AliHLTTPCModelTrack&); |
a6c02c85 | 65 | |
66 | Short_t fClusterCharge; //Average cluster charge | |
67 | AliHLTTPCClusterModel *fClusters; //! Clusters | |
68 | AliHLTTPCTrackModel *fTrackModel; //! Track model | |
69 | Short_t fNClusters; // Number of clusters | |
70 | Int_t fMaxOverlaps; // Max overlaps (?) | |
71 | Int_t *fNoverlaps; //! Number of overlaps | |
72 | Int_t **fOverlap; //! Table of overlaps(?) | |
73 | Float_t *fParSigmaY2; //! Parameter SigmaY2 (?) | |
74 | Float_t *fParSigmaZ2; //! Parameter SigmaZ2 (?) | |
75 | Float_t *fCrossingAngle; //! Crossing angle | |
76 | Int_t fPatch; // Current patch | |
77 | Bool_t fArraysCreated; // Flag if arrays were created | |
78 | ||
79 | //Crossing points with padrows | |
80 | Float_t *fPad; //! Current pad | |
81 | Float_t *fTime; //! Current time | |
82 | ||
83 | void DeleteArrays(); | |
84 | ||
85 | ClassDef(AliHLTTPCModelTrack,1) | |
86 | ||
87 | }; | |
88 | ||
89 | #endif |