Code from MUON-dev joined
[u/mrichter/AliRoot.git] / MUON / AliMUONHitMapA1.h
1 #ifndef ALIMUONHITMAPA1_H
2 #define ALIMUONHITMAPA1_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 #include "AliMUONHitMap.h"
10 class AliMUONSegmentation;
11 class TObjArray;
12
13
14
15 class AliMUONHitMapA1 :
16 public AliMUONHitMap 
17 {
18  public:
19     AliMUONHitMapA1(AliMUONSegmentation *seg, TObjArray *dig);
20     AliMUONHitMapA1(const AliMUONHitMapA1 & hitMap);
21     
22     virtual ~AliMUONHitMapA1();
23     // Fill hits from list of digits into hit map
24     virtual  void  FillHits();
25     // Clear the hit map
26     virtual  void  Clear();
27     // Set a single hit
28     virtual  void  SetHit(Int_t ix, Int_t iy, Int_t idigit);
29     // Delete a single hit
30     virtual  void  DeleteHit(Int_t ix, Int_t iy);
31     // Get index of hit in the list of digits
32     virtual Int_t  GetHitIndex(Int_t ix, Int_t iy);
33     // Get pointer to digit
34     virtual TObject*  GetHit(Int_t ix, Int_t iy);
35     // Flag a hit as used
36     virtual  void  FlagHit(Int_t ix, Int_t iy);
37     // Test hit status
38     virtual FlagType TestHit(Int_t ix, Int_t iy);
39     // Assignment operator
40     AliMUONHitMapA1& operator = (const AliMUONHitMapA1& rhs);
41     
42  private:
43     // Check index
44     Int_t CheckedIndex(Int_t ix, Int_t iy);
45  private:
46     AliMUONSegmentation *fSegmentation;   // Chamber segmentation
47     Int_t fNpx;                           // Maximum number of pads in x
48     Int_t fNpy;                           // Maximum number of pads in y
49     TObjArray *fDigits;                   // Pointer to digits
50     Int_t fNdigits;                       // Number of digits
51     Int_t *fHitMap;                       // [fMaxIndex]     
52     Int_t fMaxIndex;                      // maximum index in hit map
53     
54
55     ClassDef(AliMUONHitMapA1,1) // Implements HitMap as a 1-dim array
56 };
57 #endif