Added output containers for theta-dep histograms
[u/mrichter/AliRoot.git] / TOF / AliTOFDigitMap.h
CommitLineData
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 24class 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
ec5fb3e4 48 Int_t GetFilledCellNumber() const;
49 Bool_t StripDigitCheck(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
818b5e8c 50 Int_t DigitInStrip(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
51 void ResetDigitNumber(Int_t *vol, Int_t dig);
ec5fb3e4 52 void ResetDigit(Int_t *vol, Int_t dig);
53 void ResetDigit(Int_t *vol);
818b5e8c 54 Int_t GetNumberOfDigits(Int_t *vol);
dfa56f14 55
d0eb8f39 56 enum {
cc7a1acd 57 kMaxDigitsPerPad = 10
d0eb8f39 58 };
59
2dc6d650 60 private:
61 // Check index
0e74c396 62 Int_t CheckedIndex(Int_t * const vol) const;
2dc6d650 63
bf6bf84c 64 Int_t fNSector; // Number of sectors
65 Int_t fNplate; // Number of plates
66 Int_t fNstrip; // Maximum number of strips
67 Int_t fNpx; // Number of pads in x
a06668b9 68 Int_t fNpz; // Number of pads in z
bf6bf84c 69
bf6bf84c 70 Int_t fMaxIndex; // maximum index in hit map
d0eb8f39 71 Int_t **fDigitMap; // ! [fMaxIndex][kMaxDigitsPerPad]
d3c7bfac 72
10056aa6 73 ClassDef(AliTOFDigitMap,2) // Implements DigitMap as a 1-dim array
bf6bf84c 74};
75#endif