]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCModelTrack.h
code documentation
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCModelTrack.h
CommitLineData
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
10class 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