]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3ClustFinderNew.h
Added missing files and defines, compilation should now work again.
[u/mrichter/AliRoot.git] / HLT / src / AliL3ClustFinderNew.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
46fbeb8a 3#ifndef AliL3_ClustFinderNew
4#define AliL3_ClustFinderNew
5
6#include "AliL3RootTypes.h"
7
8
9struct ClusterData
10{
46fbeb8a 11 UInt_t fTotalCharge;
12 UInt_t fPad;
13 UInt_t fTime;
3e87ef69 14 UInt_t fPad2; //for error in XY direction
15 ULong64_t fTime2; //for error in Z direction
46fbeb8a 16 UInt_t fMean;
17 UInt_t fFlags;
99a6d5c9 18 UInt_t fChargeFalling; //for deconvolution
19 UInt_t fLastCharge; //for deconvolution
b62fa469 20 UInt_t fLastMergedPad; //dont merge twice per pad
46fbeb8a 21};
22typedef struct ClusterData ClusterData;
23
24class AliL3DigitRowData;
46fbeb8a 25class AliL3SpacePointData;
26
27class AliL3ClustFinderNew {
28
29 private:
30
31 AliL3DigitRowData *fDigitRowData; //!
46fbeb8a 32 AliL3SpacePointData *fSpacePointData; //!
3e87ef69 33 Bool_t fDeconvTime; //deconv in time direction
34 Bool_t fDeconvPad; //deconv in pad direction
35 Bool_t fStdout; //have print out in write clusters
36 Bool_t fCalcerr; //calculate centroid sigmas
37 Bool_t fRawSP; //store centroids in raw system
c3dd27a3 38
46fbeb8a 39 UInt_t fNDigitRowData;
40 Int_t fFirstRow;
41 Int_t fLastRow;
42 Int_t fCurrentRow;
43 Int_t fCurrentSlice;
44 Int_t fCurrentPatch;
45 Int_t fMatch;
46 UInt_t fThreshold;
47 Int_t fNClusters;
48 Int_t fMaxNClusters;
49 Float_t fXYErr;
50 Float_t fZErr;
10f815d9 51
52#ifdef do_mc
53 void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
54#endif
46fbeb8a 55
56 public:
57 AliL3ClustFinderNew();
46fbeb8a 58 virtual ~AliL3ClustFinderNew();
59
60 void Read(UInt_t ndigits,AliL3DigitRowData *ptr);
61 void InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t maxpoints);
62 void InitSlice(Int_t slice,Int_t patch,Int_t maxpoints);
63 void ProcessDigits();
64 void ProcessRow(AliL3DigitRowData *tempPt);
65 void SetOutputArray(AliL3SpacePointData *pt);
66 void WriteClusters(Int_t n_clusters,ClusterData *list);
67
77f08cd3 68 void SetXYError(Float_t f) {fXYErr=f;}
69 void SetZError(Float_t f) {fZErr=f;}
4ec96209 70 void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;}
77f08cd3 71 void SetThreshold(UInt_t i) {fThreshold=i;}
72 void SetMatchWidth(UInt_t i) {fMatch=i;}
3e87ef69 73 void SetSTDOutput(Bool_t f=kFALSE) {fStdout=f;}
74 void SetCalcErr(Bool_t f=kTRUE) {fCalcerr=f;}
75 void SetRawSP(Bool_t f=kFALSE) {fRawSP=f;}
46fbeb8a 76 Int_t GetNumberOfClusters() {return fNClusters;}
77
b661165c 78 ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder
46fbeb8a 79
80};
81
82#endif
b62fa469 83
84