ATLAS Offline Software
|
#include <MdtSensitiveDetector.h>
Public Member Functions | |
MdtSensitiveDetector (const std::string &name, const std::string &output_key, const std::string &trf_storKey, const MuonGMR4::MuonDetectorManager *detMgr) | |
Constructor. More... | |
~MdtSensitiveDetector ()=default | |
void | Initialize (G4HCofThisEvent *HCE) override final |
member functions More... | |
G4bool | ProcessHits (G4Step *aStep, G4TouchableHistory *ROhist) override final |
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 Member Functions | |
const MuonGMR4::MdtReadoutElement * | getReadoutElement (const G4TouchableHistory *touchHist) const |
Retrieves the matching readout element to a G4 hit. More... | |
Identifier | getIdentifier (const ActsGeometryContext &gctx, const MuonGMR4::MdtReadoutElement *reElement, const G4TouchableHistory *touchHist) const |
Retrieves from the Readoutelement & the touchable history the Identifier. More... | |
void | initMessaging () const |
Initialize our message level and MessageSvc. More... | |
Private Attributes | |
SG::WriteHandle< xAOD::MuonSimHitContainer > | m_writeHandle |
SG::ReadHandleKey< ActsTrk::DetectorAlignStore > | m_trfCacheKey |
ReadHandleKey to the DetectorAlignmentStore caching the relevant transformations needed in this event. More... | |
const MuonGMR4::MuonDetectorManager * | m_detMgr {nullptr} |
Pointer to the underlying detector manager. More... | |
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 86 of file MdtSensitiveDetector.h.
MuonG4R4::MdtSensitiveDetector::MdtSensitiveDetector | ( | const std::string & | name, |
const std::string & | output_key, | ||
const std::string & | trf_storKey, | ||
const MuonGMR4::MuonDetectorManager * | detMgr | ||
) |
Constructor.
name | Name of the Sensitive detctor / AthMessaging module |
output_key | Key under which the sim hits are written into store gate |
trf_storeKey | Location of the DetctorAlignmentStore holding the transformations per event |
detMgr | Pointer to the run-4 detector manager |
Definition at line 26 of file MdtSensitiveDetector.cxx.
|
default |
|
private |
Retrieves from the Readoutelement & the touchable history the Identifier.
The Geant transform takes a hit global -> local --> inverse goes back to the global system Compose this one with the global to local transformation of the first tube in the layer -->
equilateral triangle
Update the reference tube position to be in the proper layer
It can happen that the tube is assigned to zero by numerical precision Catch these cases if the layer is fine
Definition at line 148 of file MdtSensitiveDetector.cxx.
|
private |
Retrieves the matching readout element to a G4 hit.
The third volume in the history is the volume corresponding to the Muon multilayer
Find the Detector element from the Identifier
Build first the Identifier to find the detector element
Then retrieve the Detector element
Definition at line 50 of file MdtSensitiveDetector.cxx.
|
finaloverride |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.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.
|
finaloverride |
Reject secondary particles
Calculate the closest approach of the track w.r.t the z-axis
Definition at line 76 of file MdtSensitiveDetector.cxx.
|
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 |
Pointer to the underlying detector manager.
Definition at line 124 of file MdtSensitiveDetector.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 |
ReadHandleKey to the DetectorAlignmentStore caching the relevant transformations needed in this event.
Definition at line 122 of file MdtSensitiveDetector.h.
|
private |
Definition at line 117 of file MdtSensitiveDetector.h.