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;
22 class AliL3SpacePointData;
24 class AliL3ClustFinderNew {
28 AliL3DigitRowData *fDigitRowData; //!
29 AliL3Transform *fTransform; //!
30 AliL3SpacePointData *fSpacePointData; //!
33 UInt_t fNDigitRowData;
47 AliL3ClustFinderNew();
48 AliL3ClustFinderNew(AliL3Transform *transform);
49 virtual ~AliL3ClustFinderNew();
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);
55 void ProcessRow(AliL3DigitRowData *tempPt);
56 void SetOutputArray(AliL3SpacePointData *pt);
57 void WriteClusters(Int_t n_clusters,ClusterData *list);
59 void SetXYError(Float_t f) {fXYErr = f;}
60 void SetZError(Float_t f) {fZErr = f;}
61 void SetTransformer(AliL3Transform *transform) {fTransform = transform;}
62 void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;}
64 Int_t GetNumberOfClusters() {return fNClusters;}
66 ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder