adding map include file to solve compilation issue (bug https://savannah.cern.ch...
[u/mrichter/AliRoot.git] / HLT / ITS / clusterfinders / AliHLTITSClusterFinderSPD.h
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