Coding conventions (Annalisa)
[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 "TObject.h"
20
21 #include "AliHitMap.h"
22
23 class TClonesArray;
24 class AliTOFGeometry;
25
26 class AliTOFHitMap : public TObject
27 {
28  public:
29     AliTOFHitMap();
30     AliTOFHitMap(TClonesArray *sdig, AliTOFGeometry *tofGeom);
31     AliTOFHitMap(const AliTOFHitMap & hitMap);
32     
33     virtual ~AliTOFHitMap();
34     // Clear the hit map
35     virtual  void  Clear(const char *opt = "");
36     // Set a single hit
37     virtual  void  SetHit(Int_t *vol, Int_t idigit);
38     virtual  void  SetHit(Int_t *vol);
39     // Get index of hit in the list of digits
40     virtual Int_t  GetHitIndex(Int_t *vol) const;
41     // Get pointer to digit
42     virtual TObject*  GetHit(Int_t *vol) const;
43     // Test hit status
44     virtual FlagType TestHit(Int_t *vol) const;
45     // Assignment operator
46     AliTOFHitMap& operator = (const AliTOFHitMap& rhs);
47     
48  private:
49     // Check index
50     Int_t CheckedIndex(Int_t *vol) const;
51  private:
52     Int_t fNSector;                       // Number of sectors
53     Int_t fNplate;                        // Number of plates
54     Int_t fNstrip;                        // Maximum number of strips
55     Int_t fNpx;                           // Number of pads in x
56     Int_t fNpz;                           // Number of pads in z
57
58     TClonesArray *fSDigits;               // Pointer to sdigits
59     Int_t fMaxIndex;                      // maximum index in hit map
60     Int_t *fHitMap;                       // ! [fMaxIndex]         
61
62     AliTOFGeometry *fTOFGeometry;         // Pointer to the TOF geometry
63
64     ClassDef(AliTOFHitMap,0) // Implements HitMap as a 1-dim array
65 };
66 #endif