30 if (G4EventManager::GetEventManager()->GetConstCurrentEvent()->IsAborted())
34 auto track{step->GetTrack()};
37 auto particle_def{track->GetParticleDefinition()};
38 if (particle_def != G4Electron::Electron()) {
39 if (particle_def == G4APrime::APrime() and
40 track->GetCurrentStepNumber() == 1) {
54 AbortEvent(
"A' was not created within target.");
62 if (track->GetParentID() != 0)
return;
69 track->GetTrackStatus() == fStopAndKill
70 or track->GetKineticEnergy() == 0.
73 const std::vector<G4Track*>* secondaries{step->GetSecondary()};
74 if (not secondaries or secondaries->size() == 0) {
75 AbortEvent(
"Primary electron did not create secondaries.");
79 for (
auto& secondary_track : *secondaries) {
80 if (secondary_track->GetParticleDefinition() == G4APrime::APrime()) {
83 if (secondary_track->GetTotalEnergy() <
threshold_) {
85 "A' was not created with total energy above input threshold.");
90 AbortEvent(
"A' was not created within target.");
113 AbortEvent(
"Primary electron did not create A'.");