]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/comp/AliL3ModelTrack.h
Moved to the latest version of the HLT code in Bergen.
[u/mrichter/AliRoot.git] / HLT / comp / AliL3ModelTrack.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
735e167e 3#ifndef AliL3Model_Track
4#define AliL3Model_Track
5
6#include "AliL3Track.h"
95a00d93 7#include "AliL3Models.h"
92a876e2 8
735e167e 9class AliL3ModelTrack : public AliL3Track {
10
11 private:
12
13 Short_t fClusterCharge; //Average cluster charge
95a00d93 14 AliL3ClusterModel *fClusters; //!
15 AliL3TrackModel *fTrackModel; //!
735e167e 16 Short_t fNClusters;
3e87ef69 17 Int_t fMaxOverlaps;
18 Int_t *fNoverlaps; //!
19 Int_t **fOverlap; //!
20 Float_t *fParSigmaY2; //!
21 Float_t *fParSigmaZ2; //!
22 Float_t *fCrossingAngle; //!
029912b7 23 Int_t fPatch;
3e87ef69 24
735e167e 25 //Crossing points with padrows
1f1942b8 26 Float_t *fPad; //!
27 Float_t *fTime; //!
6f388e0d 28
735e167e 29 public:
30 AliL3ModelTrack();
31 virtual ~AliL3ModelTrack();
32
33 void Init(Int_t slice,Int_t patch);
3e87ef69 34 void CalculateClusterWidths(Int_t row,Bool_t parametrize=kFALSE);
4a838220 35 void SetCluster(Int_t row,Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2,Int_t npads);
95a00d93 36 void FillModel();
029912b7 37 void FillTrack();
3e87ef69 38 void Print(Bool_t everything=kTRUE);
39 void Set(AliL3Track *tpt);
40
029912b7 41 void SetPadHit(Int_t row,Float_t f);
42 void SetTimeHit(Int_t row,Float_t f);
3e87ef69 43 void SetCrossingAngleLUT(Int_t row,Float_t angle);
029912b7 44 void SetOverlap(Int_t row,Int_t id);
3e87ef69 45 void SetClusterLabel(Int_t row,Int_t *trackID);
46 void SetNClusters(Int_t i) {fNClusters = i;}
47
2357bb38 48 Int_t GetNPresentClusters();
f64c4364 49 Bool_t IsPresent(Int_t row);
3e87ef69 50 Bool_t IsSet(Int_t row);
f64c4364 51
95a00d93 52 AliL3ClusterModel *GetClusters() {return fClusters;}
95a00d93 53 AliL3TrackModel *GetModel() {return fTrackModel;}
029912b7 54 AliL3ClusterModel *GetClusterModel(Int_t row);
3e87ef69 55 Int_t *GetOverlaps(Int_t row);
56 Int_t GetNOverlaps(Int_t row);
4a838220 57 Int_t GetNPads(Int_t row);
3e87ef69 58 Int_t GetSlice(Int_t row);
029912b7 59 Float_t GetPadHit(Int_t row);
60 Float_t GetTimeHit(Int_t row);
3e87ef69 61 Float_t GetCrossingAngleLUT(Int_t row);
62 Float_t GetParSigmaY2(Int_t row);
63 Float_t GetParSigmaZ2(Int_t row);
029912b7 64 Bool_t GetPad(Int_t row,Float_t &pad);
65 Bool_t GetTime(Int_t row,Float_t &time);
66 Bool_t GetClusterCharge(Int_t row,Int_t &charge);
1f1942b8 67 Bool_t GetSigmaY2(Int_t row,Float_t &sigma2);
68 Bool_t GetSigmaZ2(Int_t row,Float_t &sigma2);
95a00d93 69 Bool_t GetPadResidual(Int_t row,Float_t &res);
70 Bool_t GetTimeResidual(Int_t row,Float_t &res);
4a838220 71 Bool_t GetXYWidthResidual(Int_t row,Float_t &res);
72 Bool_t GetZWidthResidual(Int_t row,Float_t &res);
95a00d93 73 Int_t GetNClusters() {return fNClusters;}
3e87ef69 74 void GetClusterLabel(Int_t row,Int_t *trackID);
75
735e167e 76 ClassDef(AliL3ModelTrack,1)
77
78};
79
80#endif