ATLAS Offline Software
|
#include <TwinTubeMap.h>
Classes | |
struct | HedgehogTray |
Public Types | |
using | HedgehogBoardPtr = HedgehogBoard::HedgehogBoardPtr |
Public Member Functions | |
TwinTubeMap (const IMuonIdHelperSvc *idHelperSvc) | |
bool | isTwinTubeLayer (const Identifier &channelId) const |
Returns whether the multilayer is equipped with twin-tubes or not. More... | |
Identifier | twinId (const Identifier &channelId) const |
Returns the Identifier of the mapped twin tube. More... | |
double | hvDelayTime (const Identifier &channelId) const |
Returns the HV time delay for a given twin tube pair. More... | |
void | setDefaultHVDelay (const double hvDelay) |
Sets the default HV delay. More... | |
StatusCode | addHedgeHogBoard (const Identifier &detElId, const HedgehogBoardPtr &board, const uint16_t slot) |
Add a new hedgehog board with twin tube mapping. More... | |
bool | msgLvl (const MSG::Level lvl) const |
Test the output level. More... | |
MsgStream & | msg () const |
The standard message stream. More... | |
MsgStream & | msg (const MSG::Level lvl) const |
The standard message stream. More... | |
void | setLevel (MSG::Level lvl) |
Change the current logging level. More... | |
Private Types | |
using | Storage = std::unordered_map< IdentifierHash, HedgehogTray > |
Private Member Functions | |
void | initMessaging () const |
Initialize our message level and MessageSvc. More... | |
Private Attributes | |
const IMuonIdHelperSvc * | m_idHelperSvc {nullptr} |
Storage | m_twinTubesPerRE {} |
double | m_defaultHVDelay {0.} |
std::string | m_nm |
Message source name. More... | |
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
MsgStream instance (a std::cout like with print-out levels) More... | |
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
MessageSvc pointer. More... | |
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
Current logging level. More... | |
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
Messaging initialized (initMessaging) More... | |
The | ATLAS R3 MuonSpectrometer has 2 layers with twin tube readout. In Phase II, other multilayers may be upgraded to be twin-tube layers as well. The TwinTubeMap returns for a given Mdt Identifier the associated twin-tube Identifier, if there's any at all. |
Definition at line 16 of file TwinTubeMap.h.
Definition at line 18 of file TwinTubeMap.h.
|
private |
Definition at line 45 of file TwinTubeMap.h.
Muon::TwinTubeMap::TwinTubeMap | ( | const IMuonIdHelperSvc * | idHelperSvc | ) |
Definition at line 8 of file TwinTubeMap.cxx.
StatusCode Muon::TwinTubeMap::addHedgeHogBoard | ( | const Identifier & | detElId, |
const HedgehogBoardPtr & | board, | ||
const uint16_t | slot | ||
) |
Add a new hedgehog board with twin tube mapping.
detElId | Identifier of the multilayer |
board | Pointer to the HedgehogBoard instance encoding the mapping |
slot | Integer indicating which tube range is covered by the board |
Check for compability
Check the board for consistency
Definition at line 44 of file TwinTubeMap.cxx.
double Muon::TwinTubeMap::hvDelayTime | ( | const Identifier & | channelId | ) | const |
Returns the HV time delay for a given twin tube pair.
If there's no dedicated delay safed for the pair, the default value is returned
Definition at line 88 of file TwinTubeMap.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
bool Muon::TwinTubeMap::isTwinTubeLayer | ( | const Identifier & | channelId | ) | const |
Returns whether the multilayer is equipped with twin-tubes or not.
channelId | Identifier of a tube in the multilayer |
Definition at line 12 of file TwinTubeMap.cxx.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
lvl | The message level to test against |
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
void Muon::TwinTubeMap::setDefaultHVDelay | ( | const double | hvDelay | ) |
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
Identifier Muon::TwinTubeMap::twinId | ( | const Identifier & | channelId | ) | const |
Returns the Identifier of the mapped twin tube.
If the Identifier has no twin, then the Identifier is returned.
channelId | Identifier of the tube of interest |
Definition at line 19 of file TwinTubeMap.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 48 of file TwinTubeMap.h.
|
private |
Definition at line 39 of file TwinTubeMap.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
Definition at line 46 of file TwinTubeMap.h.