]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliL3ClustFinderNew.h
cfbd68b48b94a206b1d3c06ac7d5f1a5fcb3a2b8
[u/mrichter/AliRoot.git] / HLT / src / AliL3ClustFinderNew.h
1 #ifndef AliL3_ClustFinderNew
2 #define AliL3_ClustFinderNew
3
4 #include "AliL3RootTypes.h"
5
6
7 struct ClusterData
8 {
9   UInt_t fTotalCharge;
10   UInt_t fPad;
11   UInt_t fTime;
12   UInt_t fMean;
13   UInt_t fFlags;
14   UInt_t fChargeFalling; //for deconvolution
15   UInt_t fLastCharge;    //for deconvolution
16 };
17 typedef struct ClusterData ClusterData;
18
19 class AliL3DigitRowData;
20 class AliL3SpacePointData;
21
22 class AliL3ClustFinderNew {
23  
24  private:
25   
26   AliL3DigitRowData *fDigitRowData; //!
27   AliL3SpacePointData *fSpacePointData; //!
28   Bool_t fDeconvTime;
29   Bool_t fDeconvPad;
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;
42   Bool_t fstdout;
43
44 #ifdef do_mc
45   void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
46 #endif
47   
48  public:
49   AliL3ClustFinderNew();
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
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;}
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
67   Int_t GetNumberOfClusters() {return fNClusters;}
68   
69   ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder
70
71 };
72
73 #endif
74