]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIHLTITSCLUSTERFINDERSPD_H | |
2 | #define ALIHLTITSCLUSTERFINDERSPD_H | |
3 | //-------------------------------------------------------------- | |
4 | // ITS clusterer V2 for SPD | |
5 | // | |
6 | // This can be a "wrapping" for the V1 cluster finding classes | |
7 | // if compiled with uncommented "#define V1" line | |
8 | // in the AliITSclustererV2.cxx file. | |
9 | // | |
10 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch | |
11 | //-------------------------------------------------------------- | |
12 | #include "AliITSDetTypeRec.h" | |
13 | class TClonesArray; | |
14 | class AliRawReader; | |
15 | class AliITSRawStream; | |
16 | class AliITSRawStreamSPD; | |
17 | class AliITSDetTypeRec; | |
18 | class AliITSRecoParam; | |
19 | ||
20 | class AliHLTITSClusterFinderSPD : public TObject | |
21 | { | |
22 | public: | |
23 | AliHLTITSClusterFinderSPD(AliITSDetTypeRec* dettyp); | |
24 | ||
25 | virtual ~AliHLTITSClusterFinderSPD(){ | |
26 | delete[] fSignal2Bin; | |
27 | delete[] fBin2Signal; | |
28 | } | |
29 | ||
30 | void RawdataToClusters(AliRawReader* rawReader,std::vector<AliITSRecPoint> & clusters); | |
31 | ||
32 | protected: | |
33 | ||
34 | void FindClustersSPD(AliITSRawStreamSPD* input,std::vector<AliITSRecPoint> & clusters); | |
35 | Int_t ClustersSPD( std::vector<AliITSRecPoint> & clusters,Int_t iModule ); | |
36 | void FindCluster(Int_t k,Int_t &n,Int_t *idx); | |
37 | ||
38 | AliITSRecoParam *fRecoParam; | |
39 | AliITSDetTypeRec* fDetTypeRec; //ITS object for reconstruction | |
40 | // Data members needed to fill AliCluster objects | |
41 | Int_t fNdet[2200]; // detector index | |
42 | Int_t fNlayer[2200]; // detector layer | |
43 | Int_t fNModules; // total number of modules | |
44 | ||
45 | Int_t fLastSPD1; //index of the last SPD1 detector | |
46 | Int_t fNySPD; //number of pixels in Y | |
47 | Int_t fNzSPD; //number of pixels in Z | |
48 | Int_t fNzBins; | |
49 | Int_t fNyBins; | |
50 | Int_t fMaxBin; | |
51 | ||
52 | Float_t fYpitchSPD; //pixel size in Y | |
53 | Float_t fZ1pitchSPD,fZ2pitchSPD; //pixel sizes in Z | |
54 | Float_t fHwSPD; //half width of the SPD detector | |
55 | Float_t fHlSPD; //half length of the SPD detector | |
56 | Float_t fYSPD[260]; //Y-coordinates of pixel centers | |
57 | Float_t fZSPD[170]; //Z-coordinates of pixel centers | |
58 | ||
59 | Int_t fNSignals; | |
60 | UShort_t *fSignal2Bin; // array of input SPD signals | |
61 | UShort_t *fBin2Signal; // 2D map of SPD signals; | |
62 | ||
63 | private: | |
64 | ||
65 | AliHLTITSClusterFinderSPD(const AliHLTITSClusterFinderSPD&); | |
66 | AliHLTITSClusterFinderSPD &operator=( const AliHLTITSClusterFinderSPD &); | |
67 | ||
68 | ClassDef(AliHLTITSClusterFinderSPD,0) // ITS cluster finder V2 for SPD | |
69 | }; | |
70 | ||
71 | #endif |