1 #ifndef AliL3_ClustFinderNew
2 #define AliL3_ClustFinderNew
4 #include "AliL3RootTypes.h"
15 UInt_t fChargeFalling; //for deconvolution
16 UInt_t fLastCharge; //for deconvolution
18 typedef struct ClusterData ClusterData;
20 class AliL3DigitRowData;
21 class AliL3SpacePointData;
23 class AliL3ClustFinderNew {
27 AliL3DigitRowData *fDigitRowData; //!
28 AliL3SpacePointData *fSpacePointData; //!
31 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;}
64 Int_t GetNumberOfClusters() {return fNClusters;}
66 ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder