]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDigitMapA1.h
Spliting Map for hit and digit (to be continued, Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitMapA1.h
1 #ifndef ALIMUONDIGITMAPA1_H
2 #define ALIMUONDIGITMAPA1_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 /// \ingroup base
11 /// \class AliMUONDigitMapA1
12 /// \brief Implements cluster Map as a 1-dim array
13
14 #include "AliMpPlaneType.h"
15 #include "AliHitMap.h"
16
17 class TObjArray;
18
19 class AliMUONDigitMapA1 : public TObject
20 {
21  public:
22     AliMUONDigitMapA1();
23     AliMUONDigitMapA1(Int_t idDE, AliMpPlaneType plane);
24     virtual ~AliMUONDigitMapA1();
25
26     // Fill hits from list of digits into hit map
27     virtual  void  FillHits(TObjArray* dig);
28     // Clear the hit map
29     virtual  void  Clear(const char *opt = "");
30     // Set a single hit
31     virtual  void  SetHit(Int_t ix, Int_t iy, Int_t idigit);
32     // Delete a single hit
33     virtual  void  DeleteHit(Int_t ix, Int_t iy);
34     // Get index of hit in the list of digits
35     virtual Int_t  GetHitIndex(Int_t ix, Int_t iy) const;
36     // Get pointer to digit
37     virtual TObject*  GetHit(Int_t ix, Int_t iy) const;
38     // Flag a hit as used
39     virtual  void  FlagHit(Int_t ix, Int_t iy);
40     // Test hit status
41     virtual FlagType TestHit(Int_t ix, Int_t iy);
42
43  protected:
44     AliMUONDigitMapA1(const AliMUONDigitMapA1 & hitMap);
45     // Assignment operator
46     AliMUONDigitMapA1& operator = (const AliMUONDigitMapA1& rhs);
47     
48  private:
49     // Check index
50     Int_t CheckedIndex(Int_t ix, Int_t iy) const;
51  private:
52     Int_t fIdDE;                          // id DE
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(AliMUONDigitMapA1,0) // Implements HitMap as a 1-dim array
60 };
61 #endif