Sensitive Detector implementation of the HE3TUBE detector.
More...
#include <SensitiveDetector.h>
|
| SensitiveDetector () |
| Constructor.
|
|
int | saveG4TrackInfo (int trackID, int PDG, float Mass, float Energy, float vtx[3], float mom[3]) |
| Save saveG4TrackInfo into datastore.
|
|
|
bool | step (G4Step *step, G4TouchableHistory *) override |
| Step processing method. More...
|
|
|
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...
|
|
Sensitive Detector implementation of the HE3TUBE detector.
Definition at line 32 of file SensitiveDetector.h.
◆ ProcessHits()
bool ProcessHits |
( |
G4Step * |
aStep, |
|
|
G4TouchableHistory * |
aROhist |
|
) |
| |
|
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 98 of file SensitiveDetectorBase.h.
◆ registerMCParticleRelation() [1/2]
◆ registerMCParticleRelation() [2/2]
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
- Parameters
-
name | Name of the relation to register |
ignoreAction | |
Definition at line 24 of file SensitiveDetectorBase.cc.
◆ setActive()
static void setActive |
( |
bool |
activeStatus | ) |
|
|
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
- Parameters
-
activeStatus | bool to indicate wether hits should be recorded |
Definition at line 54 of file SensitiveDetectorBase.h.
◆ step()
bool step |
( |
G4Step * |
step, |
|
|
G4TouchableHistory * |
|
|
) |
| |
|
overrideprotectedvirtual |
Step processing method.
- Parameters
-
step | the G4Step with the current step information |
- Returns
- true if a Hit has been created, false if the hit was ignored
Implements SensitiveDetectorBase.
Definition at line 61 of file SensitiveDetector.cc.
91 const G4VProcess* creator =
step->GetTrack()->GetCreatorProcess();
92 CPName = creator->GetProcessName();
93 if (CPName.contains(
"Neutron")) neuProc =
true;
96 if (m_trackID != track.GetTrackID()) {
98 m_trackID = track.GetTrackID();
101 if (track.GetNextVolume() != track.GetVolume() || track.GetTrackStatus() >= fStopAndKill) {
103 int PDG = mcparticle.getPDG();
104 float Mass = mcparticle.getMass();
105 float Energy = mcparticle.getEnergy();
107 vtx[0] = mcparticle.getProductionVertex().X();
108 vtx[1] = mcparticle.getProductionVertex().Y();
109 vtx[2] = mcparticle.getProductionVertex().Z();
111 mom[0] = mcparticle.getMomentum().X();
112 mom[1] = mcparticle.getMomentum().Y();
113 mom[2] = mcparticle.getMomentum().Z();
119 StoreArray<He3tubeSimHit> He3tubeHits;
120 He3tubeSimHit* hit = He3tubeHits.appendNew(
135 relMCSimHit.add(trackID, hit->getArrayIndex(), 1.0);
The documentation for this class was generated from the following files: