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