]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFDigitMap.h
New TOF geometry description (V5) -G. Cara Romeo and A. De Caro
[u/mrichter/AliRoot.git] / TOF / AliTOFDigitMap.h
1 #ifndef ALITOFDIGITMAP_H
2 #define ALITOFDIGITMAP_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7
8 ////////////////////////////////////////////////////////////////////////
9 //
10 // AliTOFDigitMap class
11 //
12 // digitmap enables fast check if the pad was already hit
13 //
14 // Author: F. Pierella | pierella@bo.infn.it
15 //
16 ////////////////////////////////////////////////////////////////////////
17
18 #include "AliHitMap.h"
19 #include "TObject.h"
20 #include "AliTOFGeometry.h"
21
22 class TClonesArray;
23 class AliTOFGeometry;
24
25 class AliTOFDigitMap : public TObject
26 {
27  public:
28     AliTOFDigitMap();
29     AliTOFDigitMap(TClonesArray *dig, AliTOFGeometry *tofGeom);
30     AliTOFDigitMap(const AliTOFDigitMap & digitMap);
31     
32     virtual ~AliTOFDigitMap();
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     AliTOFDigitMap& operator = (const AliTOFDigitMap& 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 *fDigits;                // Pointer to sdigits
58     Int_t fMaxIndex;                      // maximum index in hit map
59     Int_t *fDigitMap;                     // ! [fMaxIndex]         
60
61     AliTOFGeometry *fTOFGeometry;
62
63     ClassDef(AliTOFDigitMap,0) // Implements DigitMap as a 1-dim array
64 };
65 #endif