]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSMapA2.h
MevSim interfaced through AliGenerator, first commit (Sylwester Radomski et al.)
[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();
13   AliITSMapA2(AliITSsegmentation *seg);
14   AliITSMapA2(AliITSsegmentation *seg,Int_t scalesizeX,Int_t scalesizeZ);
15   AliITSMapA2(AliITSsegmentation *seg, TObjArray *hist,Double_t thresh);
16   virtual ~AliITSMapA2();
17   AliITSMapA2(const AliITSMapA2 &source); // copy constructor
18    // assignment operator
19   AliITSMapA2& operator=(const AliITSMapA2 &source);
20    // fill pad signals into map 
21   virtual  void  FillMap();
22    // clear map
23   virtual  void  ClearMap();    
24    // set hit
25   virtual  void  SetHit(Int_t iz, Int_t ix, Int_t signal){}
26     // Flag a hit as used
27     // Set threshold for the signal
28   virtual  void  SetThreshold(Int_t thresh) {fMapThresholdD=(double)thresh;}
29   virtual  void  FlagHit(Int_t iz, Int_t ix);    
30   virtual  void  DeleteHit(Int_t iz, Int_t ix);
31     // Get index in the map
32   virtual Int_t  GetHitIndex(Int_t iz, Int_t ix);
33     // Get object (1D histogram)
34   virtual TObject *GetHit(Int_t iz, Int_t dummy);
35     // Test hit status
36   virtual FlagType TestHit(Int_t iz, Int_t ix);
37     // Get signal
38   virtual Double_t  GetSignal(Int_t iz, Int_t ix);
39    // set hit
40   void  SetHit(Int_t iz, Int_t ix, Double_t signal);
41     // Get signal
42   Double_t  GetSignal(Int_t index);
43
44 private:
45   void  FillMapFromHist();
46   void  FillHist();
47   void  ResetHist();
48
49   Double_t *fHitMapD;         //! [fMaxIndex]
50   Double_t fMapThresholdD;    // threshold for signal
51   Int_t    fScaleSizeX;      // scale factor on x
52   Int_t    fScaleSizeZ;      // scale factor on z
53
54   ClassDef(AliITSMapA2,1) // Implements Signal Map
55 };
56
57
58 #endif