]>
Commit | Line | Data |
---|---|---|
46fbeb8a | 1 | #ifndef AliL3_ClustFinderNew |
2 | #define AliL3_ClustFinderNew | |
3 | ||
4 | #include "AliL3RootTypes.h" | |
5 | ||
6 | ||
7 | struct ClusterData | |
8 | { | |
46fbeb8a | 9 | UInt_t fTotalCharge; |
10 | UInt_t fPad; | |
11 | UInt_t fTime; | |
12 | UInt_t fMean; | |
13 | UInt_t fFlags; | |
99a6d5c9 | 14 | UInt_t fChargeFalling; //for deconvolution |
15 | UInt_t fLastCharge; //for deconvolution | |
46fbeb8a | 16 | }; |
17 | typedef struct ClusterData ClusterData; | |
18 | ||
19 | class AliL3DigitRowData; | |
46fbeb8a | 20 | class AliL3SpacePointData; |
21 | ||
22 | class AliL3ClustFinderNew { | |
23 | ||
24 | private: | |
25 | ||
26 | AliL3DigitRowData *fDigitRowData; //! | |
46fbeb8a | 27 | AliL3SpacePointData *fSpacePointData; //! |
99a6d5c9 | 28 | Bool_t fDeconvTime; |
29 | Bool_t fDeconvPad; | |
46fbeb8a | 30 | UInt_t fNDigitRowData; |
31 | Int_t fFirstRow; | |
32 | Int_t fLastRow; | |
33 | Int_t fCurrentRow; | |
34 | Int_t fCurrentSlice; | |
35 | Int_t fCurrentPatch; | |
36 | Int_t fMatch; | |
37 | UInt_t fThreshold; | |
38 | Int_t fNClusters; | |
39 | Int_t fMaxNClusters; | |
40 | Float_t fXYErr; | |
41 | Float_t fZErr; | |
77f08cd3 | 42 | Bool_t fstdout; |
10f815d9 | 43 | |
44 | #ifdef do_mc | |
45 | void GetTrackID(Int_t pad,Int_t time,Int_t *trackID); | |
46 | #endif | |
46fbeb8a | 47 | |
48 | public: | |
49 | AliL3ClustFinderNew(); | |
46fbeb8a | 50 | virtual ~AliL3ClustFinderNew(); |
51 | ||
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); | |
55 | void ProcessDigits(); | |
56 | void ProcessRow(AliL3DigitRowData *tempPt); | |
57 | void SetOutputArray(AliL3SpacePointData *pt); | |
58 | void WriteClusters(Int_t n_clusters,ClusterData *list); | |
59 | ||
77f08cd3 | 60 | void SetXYError(Float_t f) {fXYErr=f;} |
61 | void SetZError(Float_t f) {fZErr=f;} | |
4ec96209 | 62 | void SetDeconv(Bool_t f) {fDeconvPad=f; fDeconvTime=f;} |
77f08cd3 | 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;} | |
66 | ||
46fbeb8a | 67 | Int_t GetNumberOfClusters() {return fNClusters;} |
68 | ||
b661165c | 69 | ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder |
46fbeb8a | 70 | |
71 | }; | |
72 | ||
73 | #endif | |
77f08cd3 | 74 |