Belle II Software
release-08-01-10
|
Class for ECL Sensitive Detector. More...
#include <SensitiveDetector.h>
Public Member Functions | |
SensitiveDetector (G4String, G4double, G4double) | |
Constructor. | |
~SensitiveDetector () | |
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. More... | |
static void | registerMCParticleRelation (const std::string &name, RelationArray::EConsolidationAction ignoreAction=RelationArray::c_negativeWeight) |
Register an relation involving MCParticles. More... | |
static void | registerMCParticleRelation (const RelationArray &relation, RelationArray::EConsolidationAction ignoreAction=RelationArray::c_negativeWeight) |
Overload to make it easer to register MCParticle relations. More... | |
Private Member Functions | |
double | GetHadronIntensityFromDEDX (double) |
Evaluates hadron scintillation component emission function. | |
int | saveSimHit (G4int, G4int, G4int, G4double, G4double, const G4ThreeVector &, const G4ThreeVector &, double) |
Create ECLSimHit and ECLHit and relations from MCParticle and put them in datastore. | |
virtual bool | ProcessHits (G4Step *aStep, G4TouchableHistory *aROhist) |
Check if recording hits is enabled and if so call step() and set the correct MCParticle flag. More... | |
Private Attributes | |
TGraph * | m_HadronEmissionFunction = nullptr |
Graph for hadron scintillation component emission function. | |
G4EmCalculator | m_emCal |
Used to get dE/dx for pulse shape simulations. | |
StoreArray< ECLSimHit > | m_eclSimHits |
ECLSimHit array. | |
StoreArray< ECLHit > | m_eclHits |
ECLHit array. | |
StoreArray< MCParticle > | m_mcParticles |
MCParticle array. | |
RelationArray | m_eclSimHitRel |
MCParticle to ECLSimHit relation array. | |
RelationArray | m_eclHitRel |
MCParticle to ECLHit relation array. | |
int | m_trackID |
current track id | |
double | m_WeightedTime |
average track time weighted by energy deposition | |
double | m_energyDeposit |
total energy deposited in a volume by a track | |
double | m_hadronenergyDeposit |
energy deposited resulting in hadronic scint component | |
G4ThreeVector | m_WeightedPos |
average track position weighted by energy deposition | |
G4ThreeVector | m_momentum |
initial momentum of track before energy deposition inside sensitive volume | |
DBObjPtr< ECLHadronComponentEmissionFunction > | m_ECLHadronComponentEmissionFunction |
Hadron Component Emission Function. | |
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 38 of file SensitiveDetector.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.