]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/comp/AliHLTModelTrack.h
bugfix, added missing header file
[u/mrichter/AliRoot.git] / HLT / comp / AliHLTModelTrack.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
4aa41877 3#ifndef AliHLTModel_Track
4#define AliHLTModel_Track
735e167e 5
4aa41877 6#include "AliHLTTrack.h"
7#include "AliHLTModels.h"
92a876e2 8
4aa41877 9class AliHLTModelTrack : public AliHLTTrack {
735e167e 10
735e167e 11 public:
4aa41877 12 AliHLTModelTrack();
13 virtual ~AliHLTModelTrack();
735e167e 14
15 void Init(Int_t slice,Int_t patch);
3e87ef69 16 void CalculateClusterWidths(Int_t row,Bool_t parametrize=kFALSE);
4a838220 17 void SetCluster(Int_t row,Float_t dpad,Float_t dtime,Float_t charge,Float_t sigmaY2,Float_t sigmaZ2,Int_t npads);
95a00d93 18 void FillModel();
029912b7 19 void FillTrack();
3e87ef69 20 void Print(Bool_t everything=kTRUE);
4aa41877 21 void Set(AliHLTTrack *tpt);
3e87ef69 22
029912b7 23 void SetPadHit(Int_t row,Float_t f);
24 void SetTimeHit(Int_t row,Float_t f);
3e87ef69 25 void SetCrossingAngleLUT(Int_t row,Float_t angle);
029912b7 26 void SetOverlap(Int_t row,Int_t id);
3e87ef69 27 void SetClusterLabel(Int_t row,Int_t *trackID);
28 void SetNClusters(Int_t i) {fNClusters = i;}
29
2357bb38 30 Int_t GetNPresentClusters();
f64c4364 31 Bool_t IsPresent(Int_t row);
3e87ef69 32 Bool_t IsSet(Int_t row);
f64c4364 33
4aa41877 34 AliHLTClusterModel *GetClusters() {return fClusters;}
35 AliHLTTrackModel *GetModel() {return fTrackModel;}
36 AliHLTClusterModel *GetClusterModel(Int_t row);
3e87ef69 37 Int_t *GetOverlaps(Int_t row);
38 Int_t GetNOverlaps(Int_t row);
4a838220 39 Int_t GetNPads(Int_t row);
3e87ef69 40 Int_t GetSlice(Int_t row);
029912b7 41 Float_t GetPadHit(Int_t row);
42 Float_t GetTimeHit(Int_t row);
3e87ef69 43 Float_t GetCrossingAngleLUT(Int_t row);
44 Float_t GetParSigmaY2(Int_t row);
45 Float_t GetParSigmaZ2(Int_t row);
029912b7 46 Bool_t GetPad(Int_t row,Float_t &pad);
47 Bool_t GetTime(Int_t row,Float_t &time);
48 Bool_t GetClusterCharge(Int_t row,Int_t &charge);
1f1942b8 49 Bool_t GetSigmaY2(Int_t row,Float_t &sigma2);
50 Bool_t GetSigmaZ2(Int_t row,Float_t &sigma2);
95a00d93 51 Bool_t GetPadResidual(Int_t row,Float_t &res);
52 Bool_t GetTimeResidual(Int_t row,Float_t &res);
5a31e9df 53 Bool_t GetSigmaYResidual(Int_t row,Float_t &res);
54 Bool_t GetSigmaZResidual(Int_t row,Float_t &res);
b4686276 55 Int_t GetNClusters() const {return fNClusters;}
3e87ef69 56 void GetClusterLabel(Int_t row,Int_t *trackID);
57
b4686276 58 private:
59
60 Short_t fClusterCharge; //Average cluster charge
4aa41877 61 AliHLTClusterModel *fClusters; //! Clusters
62 AliHLTTrackModel *fTrackModel; //! Track model
b4686276 63 Short_t fNClusters; // Number of clusters
64 Int_t fMaxOverlaps; // Max overlaps (?)
65 Int_t *fNoverlaps; //! Number of overlaps
66 Int_t **fOverlap; //! Table of overlaps(?)
67 Float_t *fParSigmaY2; //! Parameter SigmaY2 (?)
68 Float_t *fParSigmaZ2; //! Parameter SigmaZ2 (?)
69 Float_t *fCrossingAngle; //! Crossing angle
70 Int_t fPatch; // Current patch
71 Bool_t fArraysCreated; // Flag if arrays were created
72
73 //Crossing points with padrows
74 Float_t *fPad; //! Current pad
75 Float_t *fTime; //! Current time
76
77 void DeleteArrays();
78
4aa41877 79 ClassDef(AliHLTModelTrack,1)
735e167e 80
81};
82
4aa41877 83typedef AliHLTModelTrack AliL3ModelTrack; // for backward compatibility
84
735e167e 85#endif