Belle II Software development
|
KLM sensitive-detector class. More...
#include <SensitiveDetector.h>
Public Member Functions | |
SensitiveDetector (const G4String &name, KLMSubdetectorNumber subdetector) | |
Constructor. | |
bool | step (G4Step *, G4TouchableHistory *) override |
Process each step and store KLMSimHits. | |
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. | |
Private Member Functions | |
bool | stepBKLM (G4Step *, G4TouchableHistory *) |
Step in BKLM. | |
bool | stepEKLM (G4Step *, G4TouchableHistory *) |
Step in EKLM. | |
void | convertHitToRPCStrips (const CLHEP::Hep3Vector &, const bklm::Module *, int &, int &, int &, int &) |
Find the ranges of matching RPC strips for BKLM hits. | |
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 | |
KLMSubdetectorNumber | m_Subdetector |
Subdetector. | |
bool | m_FirstCall |
Flag to enforce once-only initializations in Initialize(). | |
double | m_HitTimeMax |
Maximum permissible hit time based on overflow of LeCroy 1877 TDC. | |
BkgSensitiveDetector * | m_BkgSensitiveDetector |
Pointer to a sensitive-detector object used for beam-background steps. | |
bklm::GeometryPar * | m_GeoPar |
Pointer to GeometryPar singleton. | |
const EKLMElementNumbers * | m_ElementNumbers |
EKLM element numbers. | |
DBObjPtr< BKLMSimulationPar > | m_SimPar |
Simulation parameters (from DB). | |
StoreArray< MCParticle > | m_MCParticles |
MC particles. | |
StoreArray< KLMSimHit > | m_KLMSimHits |
Simulation hits. | |
RelationArray | m_MCParticlesToKLMSimHits {m_MCParticles, m_KLMSimHits} |
Relation array between MCPartices and KLMSimHits. | |
Const::EDetector | m_subdetector |
Subdetector the class belongs to. | |
Static Private Attributes | |
static constexpr int | m_DepthSection = 2 |
Section depth. | |
static constexpr int | m_DepthSector = 3 |
Sector depth. | |
static constexpr int | m_DepthLayer = 5 |
Layer depth. | |
static constexpr int | m_DepthPlane = 9 |
Plane depth. | |
static constexpr int | m_DepthScintillator = 10 |
Scintillator depth. | |
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. | |
KLM sensitive-detector class.
Definition at line 38 of file SensitiveDetector.h.
SensitiveDetector | ( | const G4String & | name, |
KLMSubdetectorNumber | subdetector | ||
) |
Constructor.
[in] | name | Sensitive-detector name. |
[in] | subdetector | Subdetector. |
Definition at line 33 of file SensitiveDetector.cc.
|
private |
Find the ranges of matching RPC strips for BKLM hits.
Definition at line 239 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.
|
overridevirtual |
Process each step and store KLMSimHits.
Implements SensitiveDetectorBase.
Definition at line 299 of file SensitiveDetector.cc.
|
private |
Step in BKLM.
Definition at line 117 of file SensitiveDetector.cc.
|
private |
Step in EKLM.
Definition at line 50 of file SensitiveDetector.cc.
|
private |
Pointer to a sensitive-detector object used for beam-background steps.
Definition at line 99 of file SensitiveDetector.h.
|
staticconstexprprivate |
Layer depth.
Definition at line 87 of file SensitiveDetector.h.
|
staticconstexprprivate |
Plane depth.
Definition at line 90 of file SensitiveDetector.h.
|
staticconstexprprivate |
Scintillator depth.
Definition at line 93 of file SensitiveDetector.h.
|
staticconstexprprivate |
Section depth.
Definition at line 81 of file SensitiveDetector.h.
|
staticconstexprprivate |
Sector depth.
Definition at line 84 of file SensitiveDetector.h.
|
private |
EKLM element numbers.
Definition at line 105 of file SensitiveDetector.h.
|
private |
Flag to enforce once-only initializations in Initialize().
Definition at line 75 of file SensitiveDetector.h.
|
private |
Pointer to GeometryPar singleton.
Definition at line 102 of file SensitiveDetector.h.
|
private |
Maximum permissible hit time based on overflow of LeCroy 1877 TDC.
Definition at line 78 of file SensitiveDetector.h.
|
private |
Simulation hits.
Definition at line 114 of file SensitiveDetector.h.
|
private |
MC particles.
Definition at line 111 of file SensitiveDetector.h.
|
private |
Relation array between MCPartices and KLMSimHits.
Definition at line 117 of file SensitiveDetector.h.
|
private |
Simulation parameters (from DB).
Definition at line 108 of file SensitiveDetector.h.
|
private |
Subdetector.
Definition at line 72 of file SensitiveDetector.h.
|
privateinherited |
Subdetector the class belongs to.
Definition at line 91 of file SensitiveDetectorBase.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.