]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCModelTrack.h
fixing warnings
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCModelTrack.h
1 // @(#) $Id$
2 // Original: AliHLTModelTrack.h,v 1.13 2004/06/15 10:26:57 hristov 
3
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
8 #ifndef AliHLTTPCModel_Track
9 #define AliHLTTPCModel_Track
10
11 #include "AliHLTTPCTrack.h"
12 #include "AliHLTTPCModels.h"
13
14 /**
15  * @class AliHLTTPCModelTrack
16  *
17  * @ingroup alihlt_tpc
18  */
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);
31   using AliHLTTPCTrack::Print;
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:
70   /** copy constructor prohibited */
71   AliHLTTPCModelTrack(const AliHLTTPCModelTrack&);
72   /** assignment operator prohibited */
73   AliHLTTPCModelTrack& operator=(const AliHLTTPCModelTrack&);
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