]>
Commit | Line | Data |
---|---|---|
bf6bf84c | 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 | ||
0e46b9ae | 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 | // // | |
d0eb8f39 | 16 | // Modified by A. De Caro | decaro@sa.infn.it // |
17 | // // | |
0e46b9ae | 18 | ////////////////////////////////////////////////////////////// |
bf6bf84c | 19 | |
bf6bf84c | 20 | #include "TObject.h" |
0e46b9ae | 21 | |
22 | #include "AliHitMap.h" | |
d3c7bfac | 23 | |
bf6bf84c | 24 | class AliTOFDigitMap : public TObject |
25 | { | |
26 | public: | |
27 | AliTOFDigitMap(); | |
bf6bf84c | 28 | AliTOFDigitMap(const AliTOFDigitMap & digitMap); |
29 | ||
30 | virtual ~AliTOFDigitMap(); | |
d0eb8f39 | 31 | |
32 | // Clear the digit map | |
33 | virtual void Clear(const Option_t* opt = ""); | |
34 | // Add a single digit | |
35 | void AddDigit(Int_t *vol, Int_t idigit); | |
36 | ||
37 | // Get index of digit in the cell labelled by vol | |
38 | Int_t GetDigitIndex(Int_t *vol, Int_t index) const; | |
39 | // Get indices of digits in the cell labelled by vol | |
40 | void GetDigitIndex(Int_t *vol, Int_t *index) const; | |
41 | ||
42 | // Test digit status | |
43 | virtual FlagType TestDigit(Int_t *vol) const; | |
44 | ||
bf6bf84c | 45 | // Assignment operator |
46 | AliTOFDigitMap& operator = (const AliTOFDigitMap& rhs); | |
47 | ||
15ec34b9 | 48 | Int_t GetFilledCellNumber() const; |
49 | ||
bf6bf84c | 50 | private: |
51 | // Check index | |
52 | Int_t CheckedIndex(Int_t *vol) const; | |
53 | private: | |
d0eb8f39 | 54 | enum { |
55 | kMaxDigitsPerPad = 3 | |
56 | }; | |
57 | ||
bf6bf84c | 58 | Int_t fNSector; // Number of sectors |
59 | Int_t fNplate; // Number of plates | |
60 | Int_t fNstrip; // Maximum number of strips | |
61 | Int_t fNpx; // Number of pads in x | |
a06668b9 | 62 | Int_t fNpz; // Number of pads in z |
bf6bf84c | 63 | |
bf6bf84c | 64 | Int_t fMaxIndex; // maximum index in hit map |
d0eb8f39 | 65 | Int_t **fDigitMap; // ! [fMaxIndex][kMaxDigitsPerPad] |
d3c7bfac | 66 | |
10056aa6 | 67 | ClassDef(AliTOFDigitMap,2) // Implements DigitMap as a 1-dim array |
bf6bf84c | 68 | }; |
69 | #endif |