Belle II Software development
|
Sensitive Detector implementation of the CLAWS detector. More...
#include <SensitiveDetector.h>
Public Member Functions | |
SensitiveDetector () | |
Constructor. | |
Static Public Member Functions | |
static const std::map< std::string, RelationArray::EConsolidationAction > & | getMCParticleRelations () |
Return a list of all registered Relations with MCParticles. | |
static void | setActive (bool activeStatus) |
Enable/Disable all Sensitive Detectors. | |
static void | registerMCParticleRelation (const std::string &name, RelationArray::EConsolidationAction ignoreAction=RelationArray::c_negativeWeight) |
Register an relation involving MCParticles. | |
static void | registerMCParticleRelation (const RelationArray &relation, RelationArray::EConsolidationAction ignoreAction=RelationArray::c_negativeWeight) |
Overload to make it easer to register MCParticle relations. | |
Protected Member Functions | |
bool | step (G4Step *step, G4TouchableHistory *) override |
Step processing method. | |
Private Member Functions | |
bool | finishTrack () |
finish a track | |
virtual bool | ProcessHits (G4Step *aStep, G4TouchableHistory *aROhist) |
Check if recording hits is enabled and if so call step() and set the correct MCParticle flag. | |
Private Attributes | |
G4EmSaturation * | m_saturationEngine |
needed to call Birk's law | |
StoreArray< MCParticle > | m_mcParticles |
store array of the MCParticles | |
StoreArray< CLAWSSimHit > | m_simHits |
store array of the SimHits | |
RelationArray | m_relMCSimHit {m_mcParticles, m_simHits} |
relation array of the MCParticle -> SimHit relation | |
std::stack< SensorTraversal > | m_tracks |
Stack of tracks to keep track of particles. | |
Const::EDetector | m_subdetector |
Subdetector the class belongs to. | |
Static Private Attributes | |
static std::map< std::string, RelationArray::EConsolidationAction > | s_mcRelations |
Static set holding all relations which have to be updated at the end of the Event. | |
static bool | s_active |
Static bool which indicates wether recording of hits is enabled. | |
Sensitive Detector implementation of the CLAWS detector.
Definition at line 29 of file SensitiveDetector.h.
Constructor.
Definition at line 31 of file SensitiveDetector.cc.
|
private |
finish a track
Definition at line 122 of file SensitiveDetector.cc.
|
inlinestaticinherited |
Return a list of all registered Relations with MCParticles.
Definition at line 42 of file SensitiveDetectorBase.h.
|
inlineprivatevirtualinherited |
Check if recording hits is enabled and if so call step() and set the correct MCParticle flag.
Called by Geant4 for each step inside the sensitive volumes attached
Definition at line 94 of file SensitiveDetectorBase.h.
|
inlinestaticinherited |
Overload to make it easer to register MCParticle relations.
relation | RelationArray to register |
ignoreAction |
Definition at line 66 of file SensitiveDetectorBase.h.
|
staticinherited |
Register an relation involving MCParticles.
All Relations which point from an MCParticle to something have to be registered with addMCParticleRelation() because the index of the MCParticles might change at the end of the event. During simulation, the TrackID should be used as index of the MCParticle
name | Name of the relation to register |
ignoreAction |
Definition at line 22 of file SensitiveDetectorBase.cc.
|
inlinestaticinherited |
Enable/Disable all Sensitive Detectors.
By default, all sensitive detectors won't create hits to make it possible to use the Geant4 Navigator for non-simulation purposes. Only during simulation the sensitive detectors will be enabled to record hits
activeStatus | bool to indicate wether hits should be recorded |
Definition at line 50 of file SensitiveDetectorBase.h.
|
overrideprotectedvirtual |
Step processing method.
step | the G4Step with the current step information |
Implements SensitiveDetectorBase.
Definition at line 52 of file SensitiveDetector.cc.
|
private |
store array of the MCParticles
Definition at line 47 of file SensitiveDetector.h.
|
private |
relation array of the MCParticle -> SimHit relation
Definition at line 51 of file SensitiveDetector.h.
|
private |
needed to call Birk's law
Definition at line 44 of file SensitiveDetector.h.
|
private |
store array of the SimHits
Definition at line 49 of file SensitiveDetector.h.
|
privateinherited |
Subdetector the class belongs to.
Definition at line 91 of file SensitiveDetectorBase.h.
|
private |
Stack of tracks to keep track of particles.
Definition at line 54 of file SensitiveDetector.h.
|
staticprivateinherited |
Static bool which indicates wether recording of hits is enabled.
Definition at line 89 of file SensitiveDetectorBase.h.
|
staticprivateinherited |
Static set holding all relations which have to be updated at the end of the Event.
Definition at line 87 of file SensitiveDetectorBase.h.