1 #ifndef ALIL3_ClustFinder
2 #define ALIL3_ClustFinder
4 #include "AliL3RootTypes.h"
7 #define FLAG_ONEPAD 1 //cluster had only one pad
8 #define FLAG_DOUBLE_PAD 2
9 #define FLAG_DOUBLE_T 1//4
11 #define MAX_C 112 //Maximum number of clusters on 1 pad.
27 typedef struct resx resx;
29 class AliL3DigitRowData;
30 class AliL3SpacePointData;
32 class AliL3ClustFinder {
36 AliL3Transform *fTransform; //!
38 UInt_t fNDigitRowData;
39 AliL3DigitRowData *fDigitRowData; //!
42 AliL3SpacePointData *fSpacePointData; //!
59 AliL3ClustFinder(AliL3Transform *transform);
60 virtual ~AliL3ClustFinder();
62 void SetTransformer( AliL3Transform *transform );
63 void InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t maxpoints);
64 void InitSlice(Int_t slice,Int_t patch,Int_t maxpoints);
65 void Read(UInt_t ndigits,AliL3DigitRowData *ptr);
67 void ProcessRow(AliL3DigitRowData *tempPt);
68 void SetOutputArray(AliL3SpacePointData *pt);
70 void memcpy7(UInt_t *dst, UInt_t *src);
71 void mstore(UInt_t *r,UInt_t av,UInt_t pad,UInt_t ch,UInt_t flags,UInt_t mean,Int_t *trackID);
72 void WriteClusters(Int_t ncl,resx *r);
74 void SetXYError(Float_t f) {fXYErr = f;}
75 void SetZError(Float_t f) {fZErr = f;}
78 Int_t GetNumberOfClusters() {return fNClusters;}
80 ClassDef(AliL3ClustFinder,1)