]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3ClustFinder.h
Added virtual function Init for setting the slice, patch and n_eta_seg information...
[u/mrichter/AliRoot.git] / HLT / src / AliL3ClustFinder.h
CommitLineData
108615fc 1#ifndef ALIL3_ClustFinder
2#define ALIL3_ClustFinder
3
4#include "AliL3RootTypes.h"
5class AliL3Transform;
6
7#define FLAG_ONEPAD 1 //cluster had only one pad
8#define FLAG_DOUBLE_PAD 2
9#define FLAG_DOUBLE_T 1//4
10#define PARAM1 1//4
11#define MAX_C 112 //Maximum number of clusters on 1 pad.
12
13
14
15struct resx
16{
17 UInt_t t ;
18 UInt_t pad ;
19 UInt_t charge ;
20 UInt_t flags ;
21 Int_t mean ;
22 UInt_t falling ;
23 UInt_t scharge ;
24
25 Int_t trackID[3];
26};
27typedef struct resx resx;
28
29class AliL3DigitRowData;
30class AliL3SpacePointData;
31
32class AliL3ClustFinder {
33
34 private:
35
36 AliL3Transform *fTransform; //!
37
38 UInt_t fNDigitRowData;
39 AliL3DigitRowData *fDigitRowData; //!
40
41
42 AliL3SpacePointData *fSpacePointData; //!
43 Int_t fNClusters;
44 Int_t fMaxNClusters;
45 Int_t fFirstRow;
46 Int_t fLastRow;
47 Int_t fCurrentSlice;
48 Int_t fCurrentPatch;
49 Int_t fCurrentRow;
50 Bool_t fDeconvTime;
51 Bool_t fDeconvPad;
52 UInt_t fThreshold;
53
54 Float_t fXYErr;
55 Float_t fZErr;
56
57 public:
58 AliL3ClustFinder();
59 AliL3ClustFinder(AliL3Transform *transform);
60 virtual ~AliL3ClustFinder();
61
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);
66 void ProcessDigits();
67 void ProcessRow(AliL3DigitRowData *tempPt);
68 void SetOutputArray(AliL3SpacePointData *pt);
69
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);
73
74 void SetXYError(Float_t f) {fXYErr = f;}
75 void SetZError(Float_t f) {fZErr = f;}
76
77 //Getters
78 Int_t GetNumberOfClusters() {return fNClusters;}
79
80 ClassDef(AliL3ClustFinder,1)
81};
82
83#endif