]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3ClustFinderNew.h
Minor changes to make tracking work with new Aliroot version v3.07.03
[u/mrichter/AliRoot.git] / HLT / src / AliL3ClustFinderNew.h
CommitLineData
46fbeb8a 1#ifndef AliL3_ClustFinderNew
2#define AliL3_ClustFinderNew
3
4#include "AliL3RootTypes.h"
5
6
7struct ClusterData
8{
9
10 UInt_t fTotalCharge;
11 UInt_t fPad;
12 UInt_t fTime;
13 UInt_t fMean;
14 UInt_t fFlags;
99a6d5c9 15 UInt_t fChargeFalling; //for deconvolution
16 UInt_t fLastCharge; //for deconvolution
46fbeb8a 17};
18typedef struct ClusterData ClusterData;
19
20class AliL3DigitRowData;
46fbeb8a 21class AliL3SpacePointData;
22
23class AliL3ClustFinderNew {
24
25 private:
26
27 AliL3DigitRowData *fDigitRowData; //!
46fbeb8a 28 AliL3SpacePointData *fSpacePointData; //!
99a6d5c9 29 Bool_t fDeconvTime;
30 Bool_t fDeconvPad;
46fbeb8a 31 UInt_t fNDigitRowData;
32 Int_t fFirstRow;
33 Int_t fLastRow;
34 Int_t fCurrentRow;
35 Int_t fCurrentSlice;
36 Int_t fCurrentPatch;
37 Int_t fMatch;
38 UInt_t fThreshold;
39 Int_t fNClusters;
40 Int_t fMaxNClusters;
41 Float_t fXYErr;
42 Float_t fZErr;
10f815d9 43
44#ifdef do_mc
45 void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
46#endif
46fbeb8a 47
48 public:
49 AliL3ClustFinderNew();
46fbeb8a 50 virtual ~AliL3ClustFinderNew();
51
52 void Read(UInt_t ndigits,AliL3DigitRowData *ptr);
53 void InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t maxpoints);
54 void InitSlice(Int_t slice,Int_t patch,Int_t maxpoints);
55 void ProcessDigits();
56 void ProcessRow(AliL3DigitRowData *tempPt);
57 void SetOutputArray(AliL3SpacePointData *pt);
58 void WriteClusters(Int_t n_clusters,ClusterData *list);
59
60 void SetXYError(Float_t f) {fXYErr = f;}
61 void SetZError(Float_t f) {fZErr = f;}
4ec96209 62 void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;}
46fbeb8a 63
64 Int_t GetNumberOfClusters() {return fNClusters;}
65
b661165c 66 ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder
46fbeb8a 67
68};
69
70#endif