]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3ClustFinderNew.h
Possible to switch onoff deconv
[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;
21class AliL3Transform;
22class AliL3SpacePointData;
23
24class AliL3ClustFinderNew {
25
26 private:
27
28 AliL3DigitRowData *fDigitRowData; //!
29 AliL3Transform *fTransform; //!
30 AliL3SpacePointData *fSpacePointData; //!
99a6d5c9 31 Bool_t fDeconvTime;
32 Bool_t fDeconvPad;
46fbeb8a 33 UInt_t fNDigitRowData;
34 Int_t fFirstRow;
35 Int_t fLastRow;
36 Int_t fCurrentRow;
37 Int_t fCurrentSlice;
38 Int_t fCurrentPatch;
39 Int_t fMatch;
40 UInt_t fThreshold;
41 Int_t fNClusters;
42 Int_t fMaxNClusters;
43 Float_t fXYErr;
44 Float_t fZErr;
45
46 public:
47 AliL3ClustFinderNew();
48 AliL3ClustFinderNew(AliL3Transform *transform);
49 virtual ~AliL3ClustFinderNew();
50
51 void Read(UInt_t ndigits,AliL3DigitRowData *ptr);
52 void InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t maxpoints);
53 void InitSlice(Int_t slice,Int_t patch,Int_t maxpoints);
54 void ProcessDigits();
55 void ProcessRow(AliL3DigitRowData *tempPt);
56 void SetOutputArray(AliL3SpacePointData *pt);
57 void WriteClusters(Int_t n_clusters,ClusterData *list);
58
59 void SetXYError(Float_t f) {fXYErr = f;}
60 void SetZError(Float_t f) {fZErr = f;}
61 void SetTransformer(AliL3Transform *transform) {fTransform = transform;}
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