From Laurent:
[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 // Revision of includes 07/05/2004
9
10 #include "AliHitMap.h"
11
12 class TObjArray;
13
14 class AliMUONGeometrySegmentation;
15
16 class AliMUONHitMapA1 : public AliHitMap 
17 {
18  public:
19     AliMUONHitMapA1();
20     AliMUONHitMapA1(Int_t idDE, AliMUONGeometrySegmentation* seg, TObjArray* dig);
21     virtual ~AliMUONHitMapA1();
22
23     // Fill hits from list of digits into hit map
24     virtual  void  FillHits();
25     // Clear the hit map
26     virtual  void  Clear(const char *opt = "");
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) const;
33     // Get pointer to digit
34     virtual TObject*  GetHit(Int_t ix, Int_t iy) const;
35     // Flag a hit as used
36     virtual  void  FlagHit(Int_t ix, Int_t iy);
37     // Validate
38     virtual  Bool_t ValidateHit(Int_t ix, Int_t iy);
39     // Test hit status
40     virtual FlagType TestHit(Int_t ix, Int_t iy);
41
42  protected:
43     AliMUONHitMapA1(const AliMUONHitMapA1 & hitMap);
44     // Assignment operator
45     AliMUONHitMapA1& operator = (const AliMUONHitMapA1& rhs);
46     
47  private:
48     // Check index
49     Int_t CheckedIndex(Int_t ix, Int_t iy) const;
50  private:
51     Int_t fNpx;                           // Maximum number of pads in x
52     Int_t fNpy;                           // Maximum number of pads in y
53     TObjArray *fDigits;                   // Pointer to digits
54     Int_t fMaxIndex;                      // maximum index in hit map
55     Int_t *fHitMap;                       // ! [fMaxIndex]         
56
57     ClassDef(AliMUONHitMapA1,0) // Implements HitMap as a 1-dim array
58 };
59 #endif