![]() |
ATLAS Offline Software
|
#include <MuonSensitiveDetector.h>
Public Member Functions | |
| MuonSensitiveDetector (const std::string &name, const std::string &output_key, const std::string &trf_storeKey, const MuonGMR4::MuonDetectorManager *detMgr) | |
| Constructor. | |
| ~MuonSensitiveDetector ()=default | |
| default desructor | |
| virtual void | Initialize (G4HCofThisEvent *HCE) override final |
| Create the output container at the beginning of the event. | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. | |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. | |
Protected Member Functions | |
| bool | processStep (const G4Step *step) const |
| Checks whether the current step shall be processed at all. | |
| ActsTrk::GeometryContext | getGeoContext (const EventContext &ctx) const |
| Returns the current geometry context in the event. | |
| xAOD::MuonSimHit * | lastSnapShot (const Identifier &gasGapId, const G4Step *hitStep) |
| Returns the last snap shot of the traversing particle. | |
| xAOD::MuonSimHit * | propagateAndSaveStrip (const Identifier &hitId, const Amg::Transform3D &toGasGap, const G4Step *hitStep) |
| Records the G4Step in the sim hit. | |
| xAOD::MuonSimHit * | saveHit (const Identifier &hitId, const Amg::Vector3D &hitPos, const Amg::Vector3D &hitDir, const double globTime, const G4Step *hitStep) |
| Saves the current Step as a xAOD::MuonSimHit snapshot. | |
Protected Attributes | |
| const MuonGMR4::MuonDetectorManager * | m_detMgr {nullptr} |
| Pointer to the underlying detector manager. | |
Private Member Functions | |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. | |
Private Attributes | |
| std::string | m_writeKey {} |
| Key under which the output container is stored in the G4 event. | |
| xAOD::MuonSimHitContainer * | m_outContainer {} |
| Pointer to the MuonSimHit output container. | |
| SG::ReadHandleKey< ActsTrk::DetectorAlignStore > | m_trfCacheKey |
| ReadHandleKey to the DetectorAlignmentStore caching the relevant transformations needed in this event. | |
| std::string | m_nm |
| Message source name. | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels). | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. | |
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging). | |
Definition at line 31 of file MuonSensitiveDetector.h.
| MuonG4R4::MuonSensitiveDetector::MuonSensitiveDetector | ( | const std::string & | name, |
| const std::string & | output_key, | ||
| const std::string & | trf_storeKey, | ||
| 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 27 of file MuonSensitiveDetector.cxx.
|
default |
default desructor
|
protected |
Returns the current geometry context in the event.
| ctx | Event context to access the store gate service |
Definition at line 50 of file MuonSensitiveDetector.cxx.
|
finaloverridevirtual |
Create the output container at the beginning of the event.
Definition at line 38 of file MuonSensitiveDetector.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
protected |
Returns the last snap shot of the traversing particle.
The G4 track must have stepped through the same volume. Otherwise, a nullptr is returned
| gasGapId | Identifier of the gasGap to consider |
| hitStep | Pointer to the current step |
There's only a snapshot if the last saved hit has the same Identifier & the same particle Link + G4Track Id
Definition at line 151 of file MuonSensitiveDetector.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 167 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 182 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.
|
protected |
Checks whether the current step shall be processed at all.
I.e. the particle needs to be charged, there's a minimum velocity needed and the step length must not vanish
| step | G4 step to consider |
Reject secondary particles
Sensitive detector is only sensitive to charged particles or Geantinos
Definition at line 59 of file MuonSensitiveDetector.cxx.
|
protected |
Records the G4Step in the sim hit.
Hits are usually expressed at the center point of the step. Except for low-energy electrons where the endpoint of the random walk path is just extended
| hitId | Identifier of the gas gap or the tube in which the hit is recorded |
| toGaGap | Transform from the ATLAS global coordinates into the sensitive volume |
| hitStep | Step from which the particle's information and the pre and post step positions are fetched |
Fetch the step end-points
Hit direction as the momentum direction
Electrons randomly work through the gas instead of drifting through the gas -> take the prestep of the first snap shop inside the gas as pre step point
Definition at line 76 of file MuonSensitiveDetector.cxx.
|
protected |
Saves the current Step as a xAOD::MuonSimHit snapshot.
| hitId | Identifier of the gasGap/ tube where the hit was deposited |
| hitPos | Local position of the hit expressed w.r.t gas gap coordinate system |
| hitDir | Local direction of the hit expressed w.r.t gas gap coordinate system |
| globTime | Global time of the hit |
| hitStep | Pointer to the step from which the hit information was derived. |
Definition at line 112 of file MuonSensitiveDetector.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.
|
protected |
Pointer to the underlying detector manager.
Definition at line 99 of file MuonSensitiveDetector.h.
|
mutableprivateinherited |
|
mutableprivateinherited |
|
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 |
Pointer to the MuonSimHit output container.
Definition at line 52 of file MuonSensitiveDetector.h.
|
private |
ReadHandleKey to the DetectorAlignmentStore caching the relevant transformations needed in this event.
Definition at line 55 of file MuonSensitiveDetector.h.
|
private |
Key under which the output container is stored in the G4 event.
Definition at line 50 of file MuonSensitiveDetector.h.