]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONHitMapA1.h
Go on with new segmentation (Ch. Finck)
[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 AliSegmentation;
15 class AliMUONGeometrySegmentation;
16
17 class AliMUONHitMapA1 : public AliHitMap 
18 {
19  public:
20     AliMUONHitMapA1();
21     AliMUONHitMapA1(AliSegmentation* seg, TObjArray* dig);
22     AliMUONHitMapA1(Int_t idDE, AliMUONGeometrySegmentation* seg, TObjArray* dig);
23     virtual ~AliMUONHitMapA1();
24
25     // Fill hits from list of digits into hit map
26     virtual  void  FillHits();
27     // Clear the hit map
28     virtual  void  Clear(const char *opt = "");
29     // Set a single hit
30     virtual  void  SetHit(Int_t ix, Int_t iy, Int_t idigit);
31     // Delete a single hit
32     virtual  void  DeleteHit(Int_t ix, Int_t iy);
33     // Get index of hit in the list of digits
34     virtual Int_t  GetHitIndex(Int_t ix, Int_t iy) const;
35     // Get pointer to digit
36     virtual TObject*  GetHit(Int_t ix, Int_t iy) const;
37     // Flag a hit as used
38     virtual  void  FlagHit(Int_t ix, Int_t iy);
39     // Validate
40     virtual  Bool_t ValidateHit(Int_t ix, Int_t iy);
41     // Test hit status
42     virtual FlagType TestHit(Int_t ix, Int_t iy);
43
44  protected:
45     AliMUONHitMapA1(const AliMUONHitMapA1 & hitMap);
46     // Assignment operator
47     AliMUONHitMapA1& operator = (const AliMUONHitMapA1& rhs);
48     
49  private:
50     // Check index
51     Int_t CheckedIndex(Int_t ix, Int_t iy) const;
52  private:
53     Int_t fNpx;                           // Maximum number of pads in x
54     Int_t fNpy;                           // Maximum number of pads in y
55     TObjArray *fDigits;                   // Pointer to digits
56     Int_t fMaxIndex;                      // maximum index in hit map
57     Int_t *fHitMap;                       // ! [fMaxIndex]         
58
59     ClassDef(AliMUONHitMapA1,0) // Implements HitMap as a 1-dim array
60 };
61 #endif