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