]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONPadStatusMapMaker.h
No more misaligned_geometry
[u/mrichter/AliRoot.git] / MUON / AliMUONPadStatusMapMaker.h
... / ...
CommitLineData
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
9/// \ingroup rec
10/// \class AliMUONPadStatusMapMaker
11/// \brief Convert a pad status container into a pad status *map* container
12///
13// Author Laurent Aphecetche
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19class AliMUONCalibrationData;
20class AliMUONVStore;
21class AliMUONVCalibParam;
22class AliMpPad;
23class AliMpVSegmentation;
24class TObjArray;
25class TVector2;
26
27class AliMUONPadStatusMapMaker : public TObject
28{
29public:
30 AliMUONPadStatusMapMaker(const AliMUONCalibrationData& calibData);
31 virtual ~AliMUONPadStatusMapMaker();
32
33 /// Return status bit map to tell a pad is bad
34 static Int_t SelfDeadMask() { return fgkSelfDead; }
35
36 AliMUONVStore* MakePadStatusMap(const AliMUONVStore& status,
37 Int_t mask);
38
39 static AliMUONVStore* MakeEmptyPadStatusMap();
40
41
42private:
43 /// Not implemented
44 AliMUONPadStatusMapMaker(const AliMUONPadStatusMapMaker&);
45 /// Not implemented
46 AliMUONPadStatusMapMaker& operator=(const AliMUONPadStatusMapMaker&);
47
48private:
49 Int_t ComputeStatusMap(const AliMUONVCalibParam& neighbours,
50 Int_t manuChannel, Int_t detElemId) const;
51
52 Int_t GetPadStatus(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
53
54private:
55 static Int_t fgkSelfDead; //!< status bit map to tell a pad is bad
56 const AliMUONVStore* fStatus; //!< status store
57 Int_t fMask; //!< mask to be tested
58
59 /// Bit numbers
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 };
72 const AliMUONCalibrationData& fCalibrationData; //!< to access neighbourStore
73
74 ClassDef(AliMUONPadStatusMapMaker,0) // Pad status map maker
75};
76
77#endif