Release version of ITS code
[u/mrichter/AliRoot.git] / ITS / AliITSMapA2.h
1 #ifndef ALIITSMAPA2_H
2 #define ALIITSMAPA2_H
3
4
5 #include "AliITSMapA1.h"
6
7 class AliITSMapA2 :
8 public AliITSMapA1 
9 {
10
11 public:
12   AliITSMapA2(AliITSsegmentation *seg);
13   AliITSMapA2(AliITSsegmentation *seg,Int_t scalesizeX,Int_t scalesizeZ);
14   AliITSMapA2(AliITSsegmentation *seg, TObjArray *hist,Double_t thresh);
15   virtual ~AliITSMapA2();
16   AliITSMapA2(const AliITSMapA2 &source); // copy constructor
17    // assignment operator
18   AliITSMapA2& operator=(const AliITSMapA2 &source);
19    // fill pad signals into map 
20   virtual  void  FillMap();
21    // clear map
22   virtual  void  ClearMap();    
23    // set hit
24   virtual  void  SetHit(Int_t iz, Int_t ix, Int_t signal){}
25     // Flag a hit as used
26   virtual  void  FlagHit(Int_t iz, Int_t ix);    
27   virtual  void  DeleteHit(Int_t iz, Int_t ix);
28     // Get index in the map
29   virtual Int_t  GetHitIndex(Int_t iz, Int_t ix);
30     // Get object (1D histogram)
31   virtual TObject *GetHit(Int_t iz, Int_t dummy);
32     // Test hit status
33   virtual FlagType TestHit(Int_t iz, Int_t ix);
34     // Get signal
35   virtual Double_t  GetSignal(Int_t iz, Int_t ix);
36    // set hit
37   void  SetHit(Int_t iz, Int_t ix, Double_t signal);
38     // Get signal
39   Double_t  GetSignal(Int_t index);
40
41 private:
42   void  FillMapFromHist();
43   void  FillHist();
44   void  ResetHist();
45
46   Double_t *fHitMap;         //! [fMaxIndex]
47   Double_t fMapThreshold;    // threshold for signal
48   Int_t    fScaleSizeX;      // scale factor on x
49   Int_t    fScaleSizeZ;      // scale factor on z
50
51   ClassDef(AliITSMapA2,1) // Implements Signal Map
52 };
53
54
55 #endif