Belle II Software development
|
Class for ECL Sensitive Detector. More...
#include <SensitiveDetector.h>
Classes | |
struct | hit_t |
simple hit structure More... | |
Public Member Functions | |
SensitiveDiode (const G4String &) | |
Constructor. | |
~SensitiveDiode () | |
Destructor. | |
void | Initialize (G4HCofThisEvent *HCTE) override |
Register ECL hits collection into G4HCofThisEvent. | |
bool | step (G4Step *aStep, G4TouchableHistory *history) override |
Process each step and calculate variables defined in ECLHit. | |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
Do what you want to do at the end of each event. | |
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 | |
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 | |
ECLGeometryPar * | m_eclp |
pointer to ECLGeometryPar | |
int | m_trackID |
current track id | |
double | m_tsum |
average track time weighted by energy deposition | |
double | m_esum |
total energy deposited in a volume by a track | |
std::vector< hit_t > | m_hits |
array of hits | |
std::vector< int > | m_cells |
array of hit crystals | |
StoreArray< ECLHit > | m_eclHits |
ECLHit array. | |
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. | |
Class for ECL Sensitive Detector.
Definition at line 80 of file SensitiveDetector.h.
|
explicit |
Constructor.
Definition at line 198 of file SensitiveDetector.cc.
~SensitiveDiode | ( | ) |
|
override |
Do what you want to do at the end of each event.
Definition at line 274 of file SensitiveDetector.cc.
|
inlinestaticinherited |
Return a list of all registered Relations with MCParticles.
Definition at line 42 of file SensitiveDetectorBase.h.
|
override |
Register ECL hits collection into G4HCofThisEvent.
Definition at line 212 of file SensitiveDetector.cc.
|
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 calculate variables defined in ECLHit.
Implements SensitiveDetectorBase.
Definition at line 221 of file SensitiveDetector.cc.
|
private |
array of hit crystals
Definition at line 111 of file SensitiveDetector.h.
|
private |
ECLHit array.
Definition at line 112 of file SensitiveDetector.h.
|
private |
pointer to ECLGeometryPar
Definition at line 99 of file SensitiveDetector.h.
|
private |
total energy deposited in a volume by a track
Definition at line 108 of file SensitiveDetector.h.
|
private |
array of hits
Definition at line 110 of file SensitiveDetector.h.
|
privateinherited |
Subdetector the class belongs to.
Definition at line 91 of file SensitiveDetectorBase.h.
|
private |
current track id
Definition at line 106 of file SensitiveDetector.h.
|
private |
average track time weighted by energy deposition
Definition at line 107 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.