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