New class AliESDEvent, backward compatibility with the old AliESD (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONPadStatusMapMaker.h
CommitLineData
2c780493 1#ifndef ALIMUONPADSTATUSMAPMAKER_H
2#define ALIMUONPADSTATUSMAPMAKER_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
78649106 9/// \ingroup rec
2c780493 10/// \class AliMUONPadStatusMapMaker
11/// \brief Convert a pad status container into a pad status *map* container
12///
78649106 13// Author Laurent Aphecetche
2c780493 14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
5eeebd4b 19class AliMUONCalibrationData;
8d8e920c 20class AliMUONVStore;
5eeebd4b 21class AliMUONVCalibParam;
2c780493 22class AliMpPad;
2c780493 23class AliMpVSegmentation;
5eeebd4b 24class TObjArray;
2c780493 25class TVector2;
2c780493 26
27class AliMUONPadStatusMapMaker : public TObject
28{
29public:
5eeebd4b 30 AliMUONPadStatusMapMaker(const AliMUONCalibrationData& calibData);
2c780493 31 virtual ~AliMUONPadStatusMapMaker();
32
86e9b40d 33 /// Return status bit map to tell a pad is bad
2c780493 34 static Int_t SelfDeadMask() { return fgkSelfDead; }
35
8d8e920c 36 AliMUONVStore* MakePadStatusMap(const AliMUONVStore& status,
2c780493 37 Int_t mask);
4f8ed2e4 38
8d8e920c 39 static AliMUONVStore* MakeEmptyPadStatusMap();
4f8ed2e4 40
2c780493 41
42private:
86e9b40d 43 /// Not implemented
2c780493 44 AliMUONPadStatusMapMaker(const AliMUONPadStatusMapMaker&);
86e9b40d 45 /// Not implemented
2c780493 46 AliMUONPadStatusMapMaker& operator=(const AliMUONPadStatusMapMaker&);
47
48private:
5eeebd4b 49 Int_t ComputeStatusMap(const AliMUONVCalibParam& neighbours,
50 Int_t manuChannel, Int_t detElemId) const;
2c780493 51
5eeebd4b 52 Int_t GetPadStatus(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
2c780493 53
54private:
55 static Int_t fgkSelfDead; //!< status bit map to tell a pad is bad
8d8e920c 56 const AliMUONVStore* fStatus; //!< status store
2c780493 57 Int_t fMask; //!< mask to be tested
5eeebd4b 58
86e9b40d 59 /// Bit numbers
2c780493 60 enum EBitNumbers
61 {
62 kLeftBottomBit = 6,
63 kLeftBit = 7,
64 kLeftTopBit = 8,
65 kBottomBit = 11,
66 kCenterBit = 12,
67 kTopBit = 13,
68 kRightBottomBit = 16,
69 kRightBit = 17,
70 kRightTopBit = 18
71 };
5eeebd4b 72 const AliMUONCalibrationData& fCalibrationData; //!< to access neighbourStore
2c780493 73
74 ClassDef(AliMUONPadStatusMapMaker,0) // Pad status map maker
75};
76
77#endif