]>
Commit | Line | Data |
---|---|---|
a6c02c85 | 1 | // @(#) $Id$ |
c2f37813 | 2 | // Original: AliL3ModelTrack.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); | |
22 | void Set(AliHLTTPCTrack *tpt); | |
23 | ||
24 | void SetPadHit(Int_t row,Float_t f); | |
25 | void SetTimeHit(Int_t row,Float_t f); | |
26 | void SetCrossingAngleLUT(Int_t row,Float_t angle); | |
27 | void SetOverlap(Int_t row,Int_t id); | |
28 | void SetClusterLabel(Int_t row,Int_t *trackID); | |
29 | void SetNClusters(Int_t i) {fNClusters = i;} | |
30 | ||
31 | Int_t GetNPresentClusters(); | |
32 | Bool_t IsPresent(Int_t row); | |
33 | Bool_t IsSet(Int_t row); | |
34 | ||
35 | AliHLTTPCClusterModel *GetClusters() {return fClusters;} | |
36 | AliHLTTPCTrackModel *GetModel() {return fTrackModel;} | |
37 | AliHLTTPCClusterModel *GetClusterModel(Int_t row); | |
38 | Int_t *GetOverlaps(Int_t row); | |
39 | Int_t GetNOverlaps(Int_t row); | |
40 | Int_t GetNPads(Int_t row); | |
41 | Int_t GetSlice(Int_t row); | |
42 | Float_t GetPadHit(Int_t row); | |
43 | Float_t GetTimeHit(Int_t row); | |
44 | Float_t GetCrossingAngleLUT(Int_t row); | |
45 | Float_t GetParSigmaY2(Int_t row); | |
46 | Float_t GetParSigmaZ2(Int_t row); | |
47 | Bool_t GetPad(Int_t row,Float_t &pad); | |
48 | Bool_t GetTime(Int_t row,Float_t &time); | |
49 | Bool_t GetClusterCharge(Int_t row,Int_t &charge); | |
50 | Bool_t GetSigmaY2(Int_t row,Float_t &sigma2); | |
51 | Bool_t GetSigmaZ2(Int_t row,Float_t &sigma2); | |
52 | Bool_t GetPadResidual(Int_t row,Float_t &res); | |
53 | Bool_t GetTimeResidual(Int_t row,Float_t &res); | |
54 | Bool_t GetSigmaYResidual(Int_t row,Float_t &res); | |
55 | Bool_t GetSigmaZResidual(Int_t row,Float_t &res); | |
56 | Int_t GetNClusters() const {return fNClusters;} | |
57 | void GetClusterLabel(Int_t row,Int_t *trackID); | |
58 | ||
59 | private: | |
60 | ||
61 | Short_t fClusterCharge; //Average cluster charge | |
62 | AliHLTTPCClusterModel *fClusters; //! Clusters | |
63 | AliHLTTPCTrackModel *fTrackModel; //! Track model | |
64 | Short_t fNClusters; // Number of clusters | |
65 | Int_t fMaxOverlaps; // Max overlaps (?) | |
66 | Int_t *fNoverlaps; //! Number of overlaps | |
67 | Int_t **fOverlap; //! Table of overlaps(?) | |
68 | Float_t *fParSigmaY2; //! Parameter SigmaY2 (?) | |
69 | Float_t *fParSigmaZ2; //! Parameter SigmaZ2 (?) | |
70 | Float_t *fCrossingAngle; //! Crossing angle | |
71 | Int_t fPatch; // Current patch | |
72 | Bool_t fArraysCreated; // Flag if arrays were created | |
73 | ||
74 | //Crossing points with padrows | |
75 | Float_t *fPad; //! Current pad | |
76 | Float_t *fTime; //! Current time | |
77 | ||
78 | void DeleteArrays(); | |
79 | ||
80 | ClassDef(AliHLTTPCModelTrack,1) | |
81 | ||
82 | }; | |
83 | ||
84 | #endif |