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 void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
51 AliL3ClustFinderNew();
52 AliL3ClustFinderNew(AliL3Transform *transform);
53 virtual ~AliL3ClustFinderNew();
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);
59 void ProcessRow(AliL3DigitRowData *tempPt);
60 void SetOutputArray(AliL3SpacePointData *pt);
61 void WriteClusters(Int_t n_clusters,ClusterData *list);
63 void SetXYError(Float_t f) {fXYErr = f;}
64 void SetZError(Float_t f) {fZErr = f;}
65 void SetTransformer(AliL3Transform *transform) {fTransform = transform;}
66 void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;}
68 Int_t GetNumberOfClusters() {return fNClusters;}
70 ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder