]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONHitMap.h
Printing removed
[u/mrichter/AliRoot.git] / MUON / AliMUONHitMap.h
1 #ifndef AliMUONHitMap_H
2 #define AliMUONHitMap_H
3
4 #include "AliMUON.h"
5 #include "TArrayI.h"
6 typedef enum {empty, used, unused} Flag_t;
7 const Int_t kMaxNpadx=1200, kMaxNpady=1200;
8
9 class AliMUONHitMap :
10 public TObject {
11  public:
12     virtual  void  FillHits()                                      =0;
13     virtual  void  Clear()                                         =0;
14     virtual  void  SetHit(Int_t ix, Int_t iy, Int_t idigit)        =0;
15     virtual  void  DeleteHit(Int_t ix, Int_t iy)                   =0;
16     virtual Int_t  GetHitIndex(Int_t ix, Int_t iy)                 =0;
17     virtual TObject * GetHit(Int_t ix, Int_t iy)                   =0;
18     virtual void   FlagHit(Int_t ix, Int_t iy)                     =0;    
19     virtual Flag_t TestHit(Int_t ix, Int_t iy)                     =0;
20     
21     ClassDef(AliMUONHitMap,1) //virtual base class for muon HitMap
22 };
23
24 class AliMUONHitMapA1 :
25 public AliMUONHitMap 
26 {
27  private:
28     AliMUONsegmentation *fSegmentation;
29     Int_t fNpx;
30     Int_t fNpy;
31     TObjArray *fDigits;
32     Int_t fNdigits;
33     Int_t *fHitMap;
34     Int_t fMaxIndex;
35     
36  public:
37     AliMUONHitMapA1(AliMUONsegmentation *seg, TObjArray *dig);
38     virtual ~AliMUONHitMapA1();
39     virtual  void  FillHits();
40     virtual  void  Clear();    
41     virtual  void  SetHit(Int_t ix, Int_t iy, Int_t idigit);
42     virtual  void  DeleteHit(Int_t ix, Int_t iy);
43     virtual Int_t  GetHitIndex(Int_t ix, Int_t iy);
44     virtual TObject*  GetHit(Int_t ix, Int_t);
45     virtual  void  FlagHit(Int_t ix, Int_t iy);    
46     virtual Flag_t TestHit(Int_t ix, Int_t iy);
47     private:
48     Int_t CheckedIndex(Int_t ix, Int_t iy);
49     ClassDef(AliMUONHitMapA1,1) // Implements HitMap as a 2-dim array
50 };
51 #endif  
52
53