Added the possibility to save the particle id's through the chain, if detailed effici...
[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;
10f815d9 45
46#ifdef do_mc
47 void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
48#endif
46fbeb8a 49
50 public:
51 AliL3ClustFinderNew();
52 AliL3ClustFinderNew(AliL3Transform *transform);
53 virtual ~AliL3ClustFinderNew();
54
55 void Read(UInt_t ndigits,AliL3DigitRowData *ptr);
56 void InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t maxpoints);
57 void InitSlice(Int_t slice,Int_t patch,Int_t maxpoints);
58 void ProcessDigits();
59 void ProcessRow(AliL3DigitRowData *tempPt);
60 void SetOutputArray(AliL3SpacePointData *pt);
61 void WriteClusters(Int_t n_clusters,ClusterData *list);
62
63 void SetXYError(Float_t f) {fXYErr = f;}
64 void SetZError(Float_t f) {fZErr = f;}
65 void SetTransformer(AliL3Transform *transform) {fTransform = transform;}
4ec96209 66 void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;}
46fbeb8a 67
68 Int_t GetNumberOfClusters() {return fNClusters;}
69
b661165c 70 ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder
46fbeb8a 71
72};
73
74#endif