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