]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFHitMap.h
75b8886dee091d157354ae82bee715b86b20d4e1
[u/mrichter/AliRoot.git] / TOF / AliTOFHitMap.h
1 #ifndef ALITOFHITMAP_H
2 #define ALITOFHITMAP_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 ////////////////////////////////////////////////////////////////////////
10 //
11 // AliTOFHitMap class
12 //
13 // hitmap enables fast check if the pad was already hit
14 //
15 // Author: Jiri Chudoba (CERN)
16 //
17 ////////////////////////////////////////////////////////////////////////
18
19 #include "AliHitMap.h"
20 #include "TObject.h"
21
22 class TClonesArray;
23 class AliTOFGeometry;
24
25 class AliTOFHitMap : public TObject
26 {
27  public:
28     AliTOFHitMap();
29     AliTOFHitMap(TClonesArray *sdig, AliTOFGeometry *tofGeom);
30     AliTOFHitMap(const AliTOFHitMap & hitMap);
31     
32     virtual ~AliTOFHitMap();
33     // Clear the hit map
34     virtual  void  Clear(const char *opt = "");
35     // Set a single hit
36     virtual  void  SetHit(Int_t *vol, Int_t idigit);
37     virtual  void  SetHit(Int_t *vol);
38     // Get index of hit in the list of digits
39     virtual Int_t  GetHitIndex(Int_t *vol) const;
40     // Get pointer to digit
41     virtual TObject*  GetHit(Int_t *vol) const;
42     // Test hit status
43     virtual FlagType TestHit(Int_t *vol) const;
44     // Assignment operator
45     AliTOFHitMap& operator = (const AliTOFHitMap& rhs);
46     
47  private:
48     // Check index
49     Int_t CheckedIndex(Int_t *vol) const;
50  private:
51     Int_t fNSector;                       // Number of sectors
52     Int_t fNplate;                        // Number of plates
53     Int_t fNstrip;                        // Maximum number of strips
54     Int_t fNpx;                           // Number of pads in x
55     Int_t fNpz;                           // Number of pads in z
56
57     TClonesArray *fSDigits;               // Pointer to sdigits
58     Int_t fMaxIndex;                      // maximum index in hit map
59     Int_t *fHitMap;                       // ! [fMaxIndex]         
60
61     AliTOFGeometry *fTOFGeometry;
62
63     ClassDef(AliTOFHitMap,0) // Implements HitMap as a 1-dim array
64 };
65 #endif