5 #include "G4TrackStatus.hh"
6 #include "G4LorentzVector.hh"
15 enableAtRestDoIt =
false;
16 enableAlongStepDoIt =
false;
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) {