36 const_cast<G4ParticleDefinition*
>(track.GetParticleDefinition());
37 Quirk* quirkDef =
dynamic_cast<Quirk*
>(part_nc);
39 G4Exception(
"QuirkWatcher::PostStepDoIt",
"NonQuirk", FatalErrorInArgument,
"QuirkWatcher run on non-quirk particle");
44 if (track.GetCurrentStepNumber() > 1 && !
string.IsSourceInitialized()) {
46 string.GetReactionForce()->Clear();
48 "QuirkWatcher::PostStepDoIt",
49 "QuirkMissingPartner",
51 "QuirkWatcher: missing partner for quirk"
56 G4TrackStatus stat = track.GetTrackStatus();
57 if (stat == fStopButAlive) {
60 if (stat == fAlive || stat == fSuspend) {
61 G4bool passControl = !
string.HasNextStringVector();
64 if (
string.IsSourceAlive()) {
71 if (stat == fStopAndKill || stat == fKillTrackAndSecondaries) {