1 #ifndef AliL3_ClustFinderNew
2 #define AliL3_ClustFinderNew
4 #include "AliL3RootTypes.h"
14 UInt_t fChargeFalling; //for deconvolution
15 UInt_t fLastCharge; //for deconvolution
17 typedef struct ClusterData ClusterData;
19 class AliL3DigitRowData;
20 class AliL3SpacePointData;
22 class AliL3ClustFinderNew {
26 AliL3DigitRowData *fDigitRowData; //!
27 AliL3SpacePointData *fSpacePointData; //!
30 UInt_t fNDigitRowData;
45 void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
49 AliL3ClustFinderNew();
50 virtual ~AliL3ClustFinderNew();
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);
56 void ProcessRow(AliL3DigitRowData *tempPt);
57 void SetOutputArray(AliL3SpacePointData *pt);
58 void WriteClusters(Int_t n_clusters,ClusterData *list);
60 void SetXYError(Float_t f) {fXYErr=f;}
61 void SetZError(Float_t f) {fZErr=f;}
62 void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;}
63 void SetThreshold(UInt_t i) {fThreshold=i;}
64 void SetMatchWidth(UInt_t i) {fMatch=i;}
65 void SetSTDOutput(Bool_t f=kFALSE) {fstdout=f;}
67 Int_t GetNumberOfClusters() {return fNClusters;}
69 ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder