A fast HLT version of the SPD clusterfinder implemented.
[u/mrichter/AliRoot.git] / HLT / ITS / clusterfinders / AliHLTITSClusterFinderSPD.h
CommitLineData
3f61e9ce 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 "AliHLTITSClusterFinder.h"
13
14class TClonesArray;
15class AliRawReader;
16class AliITSRawStream;
17class AliITSRawStreamSPD;
18class AliITSDetTypeRec;
19class AliITSRecoParam;
20
21class AliHLTITSClusterFinderSPD : public TObject
22{
23public:
24 AliHLTITSClusterFinderSPD(AliITSDetTypeRec* dettyp);
25
26 virtual ~AliHLTITSClusterFinderSPD(){
27 delete[] fSignal2Bin;
28 delete[] fBin2Signal;
29 }
30
31 void RawdataToClusters(AliRawReader* rawReader,std::vector<AliITSRecPoint> & clusters);
32
33 protected:
34
35 void FindClustersSPD(AliITSRawStreamSPD* input,std::vector<AliITSRecPoint> & clusters);
36 Int_t ClustersSPD( std::vector<AliITSRecPoint> & clusters,Int_t iModule );
37 void FindCluster(Int_t k,Int_t &n,Int_t *idx);
38
39 AliITSRecoParam *fRecoParam;
40 AliITSDetTypeRec* fDetTypeRec; //ITS object for reconstruction
41 // Data members needed to fill AliCluster objects
42 Int_t fNdet[2200]; // detector index
43 Int_t fNlayer[2200]; // detector layer
44 Int_t fNModules; // total number of modules
45
46 Int_t fLastSPD1; //index of the last SPD1 detector
47 Int_t fNySPD; //number of pixels in Y
48 Int_t fNzSPD; //number of pixels in Z
49 Int_t fNzBins;
50 Int_t fNyBins;
51 Int_t fMaxBin;
52
53 Float_t fYpitchSPD; //pixel size in Y
54 Float_t fZ1pitchSPD,fZ2pitchSPD; //pixel sizes in Z
55 Float_t fHwSPD; //half width of the SPD detector
56 Float_t fHlSPD; //half length of the SPD detector
57 Float_t fYSPD[260]; //Y-coordinates of pixel centers
58 Float_t fZSPD[170]; //Z-coordinates of pixel centers
59
60 Int_t fNSignals;
61 UShort_t *fSignal2Bin; // array of input SPD signals
62 UShort_t *fBin2Signal; // 2D map of SPD signals;
63
64 ClassDef(AliHLTITSClusterFinderSPD,0) // ITS cluster finder V2 for SPD
65};
66
67#endif