Sensitive Detector implementation of the AWESOME detector.
More...
#include <AWESOMESensitiveDetector.h>
|
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 AWESOME detector.
Definition at line 27 of file AWESOMESensitiveDetector.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 94 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 22 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 50 of file SensitiveDetectorBase.h.
◆ step()
bool step |
( |
G4Step * |
step, |
|
|
G4TouchableHistory * |
|
|
) |
| |
|
overridevirtual |
Step processing method.
- Parameters
-
step | The G4Step with the current step information. |
- Returns
- true if a hit was created, false otherwise.
Implements SensitiveDetectorBase.
Definition at line 44 of file AWESOMESensitiveDetector.cc.
47 const G4Track& track = *
step->GetTrack();
48 const int trackID = track.GetTrackID();
49 const double energyDep =
step->GetTotalEnergyDeposit() *
Unit::MeV;
50 G4StepPoint* preStep =
step->GetPreStepPoint();
51 G4StepPoint* postStep =
step->GetPostStepPoint();
60 const CLHEP::Hep3Vector position = 0.5 * (preStep->GetPosition() + postStep->GetPosition()) / CLHEP::cm;
61 const double time = 0.5 * (preStep->GetGlobalTime() + postStep->GetGlobalTime());
A Geant4 simulated hit for the AWESOME detector.
void setEnergyDep(float energyDep)
Set the deposited energy.
void setTime(float time)
Set the time.
void setPosition(B2Vector3< float > position)
Set the vector for position.
StoreArray< AWESOMESimHit > m_SimHits
AWESOME simulated hits.
RelationArray m_MCParticlesToSimHits
Relation array between MCParticles and AWESOMESimHits.
bool step(G4Step *step, G4TouchableHistory *) override
Step processing method.
A fast and root compatible alternative to TVector3.
DataType x() const
access variable X (= .at(0) without boundary check)
void add(index_type from, index_type to, weight_type weight=1.0)
Add a new element to the relation.
int getArrayIndex() const
Returns this object's array index (in StoreArray), or -1 if not found.
static const double eV
[electronvolt]
static const double MeV
[megaelectronvolt]
The documentation for this class was generated from the following files: