#ifndef ALITOFDIGITMAP_H
#define ALITOFDIGITMAP_H
#include "TObject.h"
#include "AliHitMap.h"
class AliTOFDigitMap : public TObject
{
public:
AliTOFDigitMap();
AliTOFDigitMap(const AliTOFDigitMap & digitMap);
virtual ~AliTOFDigitMap();
virtual void Clear(const Option_t* opt = "");
void AddDigit(Int_t *vol, Int_t idigit);
Int_t GetDigitIndex(Int_t *vol, Int_t index) const;
void GetDigitIndex(Int_t *vol, Int_t *index) const;
virtual FlagType TestDigit(Int_t *vol) const;
AliTOFDigitMap& operator = (const AliTOFDigitMap& rhs);
Int_t GetFilledCellNumber() const;
Bool_t StripDigitCheck(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
Int_t DigitInStrip(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
Int_t FilledCellsInStrip(Int_t iSector, Int_t iPlate, Int_t iStrip) const;
void ResetDigitNumber(Int_t *vol, Int_t dig);
void ResetDigit(Int_t *vol, Int_t dig);
void ResetDigit(Int_t *vol);
Int_t GetNumberOfDigits(Int_t *vol);
enum {
kMaxDigitsPerPad = 10
};
private:
Int_t CheckedIndex(Int_t * const vol) const;
Int_t fNSector;
Int_t fNplate;
Int_t fNstrip;
Int_t fNpx;
Int_t fNpz;
Int_t fMaxIndex;
Int_t **fDigitMap;
ClassDef(AliTOFDigitMap,2)
};
#endif