1 #ifndef ALIMUONPADSTATUSMAPMAKER_H
2 #define ALIMUONPADSTATUSMAPMAKER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONPadStatusMapMaker
11 /// \brief Convert a pad status container into a pad status *map* container
13 /// \author Laurent Aphecetche
19 class AliMUONV2DStore;
22 class AliMpVSegmentation;
26 class AliMUONPadStatusMapMaker : public TObject
29 AliMUONPadStatusMapMaker();
30 virtual ~AliMUONPadStatusMapMaker();
32 static Int_t SelfDeadMask() { return fgkSelfDead; }
34 AliMUONV2DStore* MakePadStatusMap(const AliMUONV2DStore& status,
38 AliMUONPadStatusMapMaker(const AliMUONPadStatusMapMaker&);
39 AliMUONPadStatusMapMaker& operator=(const AliMUONPadStatusMapMaker&);
43 Int_t BitNumber(const AliMpPad& centerPad, const AliMpPad& testPad) const;
45 Int_t ComputeStatusMap(const TObjArray& neighbours, Int_t detElemId) const;
47 Int_t GetPadStatus(Int_t detElemId, const AliMpPad& pad) const;
49 Bool_t IsValid(const AliMpPad& pad, const TVector2& shift) const;
52 static Int_t fgkSelfDead; //!< status bit map to tell a pad is bad
53 const AliMUONV2DStore* fStatus; //!< status store
54 Int_t fMask; //!< mask to be tested
55 const AliMpVSegmentation* fSegmentation; //!< segmentation of current de
70 TStopwatch* fTimerComputeStatusMap; //!< to time the ComputeStatusMap() method
72 ClassDef(AliMUONPadStatusMapMaker,0) // Pad status map maker