Line data Source code
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 0 : virtual ~AliHLTITSClusterFinderSPD(){
26 0 : delete[] fSignal2Bin;
27 0 : delete[] fBin2Signal;
28 0 : }
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 6 : ClassDef(AliHLTITSClusterFinderSPD,0) // ITS cluster finder V2 for SPD
69 : };
70 :
71 : #endif
|