![]() |
ATLAS Offline Software
|
#include <MuonDetectorManager.h>
Classes | |
struct | MSEnvelopeSorter |
Helper struct to ensure that the spectrometer sectors & chambers are sorted. More... | |
Public Types | |
using | ChIndex = Muon::MuonStationIndex::ChIndex |
template<class MuonDetectorType > | |
using | ElementPtr_t = std::unique_ptr< MuonDetectorType > |
: Abrivation of the smart pointer holding the readout element More... | |
template<class MuonDetectorType > | |
using | ElementStorage_t = std::vector< ElementPtr_t< MuonDetectorType > > |
: Abbrivation of the container holding all readout elements of a technology. More... | |
using | MuonSectorSet = std::set< const SpectrometerSector *, MSEnvelopeSorter > |
using | MuonChamberSet = std::set< const Chamber *, MSEnvelopeSorter > |
Public Member Functions | |
MuonDetectorManager () | |
~MuonDetectorManager () | |
unsigned int | getNumTreeTops () const override final |
Declaration of the readout element getters & setter function as described above. More... | |
PVConstLink | getTreeTop (unsigned int i) const override final |
Returns the i-the tree top GeoModel volume. More... | |
void | addTreeTop (PVConstLink pv) |
Adds a new GeoModelVolume with its children as a new top node of the muon system. More... | |
const Muon::IMuonIdHelperSvc * | idHelperSvc () const |
Returns a pointer to the central MuonIdHelperSvc. More... | |
std::vector< const MuonReadoutElement * > | getAllReadoutElements () const |
Returns the list of all detector elements. More... | |
std::vector< MuonReadoutElement * > | getAllReadoutElements () |
const MuonReadoutElement * | getReadoutElement (const Identifier &id) const |
Returns a generic Muon readout element. More... | |
MuonReadoutElement * | getReadoutElement (const Identifier &id) |
void | addSpectrometerSector (ElementPtr_t< SpectrometerSector > &&chSector) |
Add a spectrometer enevelope object to the manager. More... | |
const SpectrometerSector * | getSectorEnvelope (const Identifier &channelId) const |
Retrieves the spectrometer envelope enclosing the channel's readout element. More... | |
const SpectrometerSector * | getSectorEnvelope (const Muon::MuonStationIndex::ChIndex chIdx, const unsigned sector, const int side) const |
Retrieves the spectrometer envelope from a generic identifier as it's used by e.g., the xAOD::MuonSegment. More... | |
const Chamber * | getChamber (const Identifier &channelId) const |
Retrieves the chamber enclosing the channel's readout element. More... | |
MuonSectorSet | getAllSectors () const |
: Returns all MuonChambers associated with the readout geometry More... | |
MuonChamberSet | getAllChambers () const |
std::vector< ActsTrk::DetectorType > | getDetectorTypes () const |
Returns a list of all detector types. More... | |
template<> | |
void | linkElements (ElementStorage_t< MdtReadoutElement > &detStore, MdtReadoutElement *refEle) |
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 | EnvelopeMap_t = std::unordered_map< unsigned, const SpectrometerSector * > |
Abbrivation to find the sector envelopes sorted by the generic MS identifier. More... | |
Private Member Functions | |
template<class MuonDetectorType > | |
void | linkElements (ElementStorage_t< MuonDetectorType > &allStore, MuonDetectorType *readOutEle) |
Method that connects the same elements from the station with the parsed readout Element and vice versa. More... | |
void | initMessaging () const |
Initialize our message level and MessageSvc. More... | |
Private Attributes | |
ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc |
ElementStorage_t< SpectrometerSector > | m_secEnvelopes {} |
EnvelopeMap_t | m_envelopesById {} |
ElementStorage_t< MdtReadoutElement > | m_mdtEles {} |
ElementStorage_t< TgcReadoutElement > | m_tgcEles {} |
ElementStorage_t< RpcReadoutElement > | m_rpcEles {} |
ElementStorage_t< sTgcReadoutElement > | m_sTgcEles {} |
ElementStorage_t< MmReadoutElement > | m_mmEles {} |
std::vector< PVConstLink > | m_treeTopVector {} |
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... | |
Definition at line 62 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
Definition at line 68 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
using MuonGMR4::MuonDetectorManager::ElementPtr_t = std::unique_ptr<MuonDetectorType> |
: Abrivation of the smart pointer holding the readout element
Definition at line 70 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
using MuonGMR4::MuonDetectorManager::ElementStorage_t = std::vector<ElementPtr_t<MuonDetectorType> > |
: Abbrivation of the container holding all readout elements of a technology.
The index of the vector entry corresponds to the IdentifierHash of the readout element.
Definition at line 73 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
private |
Abbrivation to find the sector envelopes sorted by the generic MS identifier.
Definition at line 146 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
using MuonGMR4::MuonDetectorManager::MuonChamberSet = std::set<const Chamber*, MSEnvelopeSorter> |
Definition at line 124 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
using MuonGMR4::MuonDetectorManager::MuonSectorSet = std::set<const SpectrometerSector*, MSEnvelopeSorter> |
Definition at line 123 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
MuonGMR4::MuonDetectorManager::MuonDetectorManager | ( | ) |
Definition at line 133 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
MuonGMR4::MuonDetectorManager::~MuonDetectorManager | ( | ) |
Definition at line 128 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
void MuonGMR4::MuonDetectorManager::addSpectrometerSector | ( | ElementPtr_t< SpectrometerSector > && | chSector | ) |
Add a spectrometer enevelope object to the manager.
chSector | Unique_ptr to the sector |
Definition at line 173 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
void MuonGMR4::MuonDetectorManager::addTreeTop | ( | PVConstLink | pv | ) |
Adds a new GeoModelVolume with its children as a new top node of the muon system.
Definition at line 156 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
MuonChamberSet MuonGMR4::MuonDetectorManager::getAllChambers | ( | ) | const |
Definition at line 215 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
std::vector<MuonReadoutElement*> MuonGMR4::MuonDetectorManager::getAllReadoutElements | ( | ) |
std::vector<const MuonReadoutElement*> MuonGMR4::MuonDetectorManager::getAllReadoutElements | ( | ) | const |
Returns the list of all detector elements.
MuonSectorSet MuonGMR4::MuonDetectorManager::getAllSectors | ( | ) | const |
: Returns all MuonChambers associated with the readout geometry
Definition at line 207 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
const Chamber * MuonGMR4::MuonDetectorManager::getChamber | ( | const Identifier & | channelId | ) | const |
Retrieves the chamber enclosing the channel's readout element.
channelId | Identifier of a muon channel of interest |
Definition at line 203 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
std::vector< ActsTrk::DetectorType > MuonGMR4::MuonDetectorManager::getDetectorTypes | ( | ) | const |
Returns a list of all detector types.
Definition at line 162 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
|
finaloverride |
Declaration of the readout element getters & setter function as described above.
Returns the number of tree top nodes describing the muon system
Definition at line 149 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
MuonReadoutElement* MuonGMR4::MuonDetectorManager::getReadoutElement | ( | const Identifier & | id | ) |
const MuonReadoutElement* MuonGMR4::MuonDetectorManager::getReadoutElement | ( | const Identifier & | id | ) | const |
Returns a generic Muon readout element.
const SpectrometerSector * MuonGMR4::MuonDetectorManager::getSectorEnvelope | ( | const Identifier & | channelId | ) | const |
Retrieves the spectrometer envelope enclosing the channel's readout element.
channelId | Identifier of a muon channel of interest |
Definition at line 198 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
const SpectrometerSector * MuonGMR4::MuonDetectorManager::getSectorEnvelope | ( | const Muon::MuonStationIndex::ChIndex | chIdx, |
const unsigned | sector, | ||
const int | side | ||
) | const |
Retrieves the spectrometer envelope from a generic identifier as it's used by e.g., the xAOD::MuonSegment.
chIdx | Chamber index indicating where the envelope is residing (BIL, BIS, etc.) |
sector | Global sector of the envelope (1-16) |
side | Integer indicating whether, the envelope is in the positive or negative hemisphere |
Definition at line 186 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
|
finaloverride |
Returns the i-the tree top GeoModel volume.
Definition at line 152 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
const Muon::IMuonIdHelperSvc * MuonGMR4::MuonDetectorManager::idHelperSvc | ( | ) | const |
Returns a pointer to the central MuonIdHelperSvc.
Definition at line 159 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
void MuonGMR4::MuonDetectorManager::linkElements | ( | ElementStorage_t< MdtReadoutElement > & | detStore, |
MdtReadoutElement * | refEle | ||
) |
The complementary detector element has not yet been parsed.
Definition at line 232 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx.
|
private |
Method that connects the same elements from the station with the parsed readout Element and vice versa.
The way how they are inter-linked depends on the detector technology For the moment, only link Mdts from the same multilayer against each other.
allStore | Storage of all detector element that are cached up to this point |
readOutEle | Particular readout element to link against the existing elements |
Definition at line 228 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.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.
|
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.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 147 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
private |
Definition at line 141 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
private |
Definition at line 149 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
private |
Definition at line 153 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.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 151 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
private |
Definition at line 144 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
private |
Definition at line 152 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
private |
Definition at line 150 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.
|
private |
Definition at line 155 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.