44 if (aStep->GetTrack()->GetCurrentStepNumber() <
m_config.MaxSteps) {
47 ATH_MSG_WARNING(
"Track finished on its own. Congrats. Moving on with the event.");
49 G4TransportationManager *tm = G4TransportationManager::GetTransportationManager();
50 tm->GetNavigatorForTracking()->SetVerboseLevel(0);
51 tm->GetPropagatorInField()->SetVerboseLevel(0);
52 G4RunManagerKernel *rmk = G4RunManagerKernel::GetRunManagerKernel();
53 rmk->GetTrackingManager()->SetVerboseLevel(0);
54 rmk->GetTrackingManager()->GetSteppingManager()->SetVerboseLevel(0);
55 rmk->GetStackManager()->SetVerboseLevel(0);
57 }
else if (aStep->GetTrack()->GetCurrentStepNumber() ==
m_config.MaxSteps) {
58 ATH_MSG_WARNING(
"LooperKiller triggered!! Hold on to your hats!!!!!!!!" );
61 G4TransportationManager *tm = G4TransportationManager::GetTransportationManager();
62 tm->GetNavigatorForTracking()->SetVerboseLevel(
m_config.VerboseLevel);
63 tm->GetPropagatorInField()->SetVerboseLevel(
m_config.VerboseLevel);
65 G4RunManagerKernel *rmk = G4RunManagerKernel::GetRunManagerKernel();
66 rmk->GetTrackingManager()->SetVerboseLevel(
m_config.VerboseLevel);
67 rmk->GetTrackingManager()->GetSteppingManager()->SetVerboseLevel(
m_config.VerboseLevel);
68 rmk->GetStackManager()->SetVerboseLevel(
m_config.VerboseLevel);
75 aStep->GetTrack()->SetTrackStatus(fStopAndKill);
76 tm->GetNavigatorForTracking()->SetVerboseLevel(0);
77 tm->GetPropagatorInField()->SetVerboseLevel(0);
78 rmk->GetTrackingManager()->SetVerboseLevel(0);
79 rmk->GetTrackingManager()->GetSteppingManager()->SetVerboseLevel(0);
80 rmk->GetStackManager()->SetVerboseLevel(0);
85 if (part) { pdg_id = part->pdg_id(); }
90 rmk->GetEventManager()->AbortCurrentEvent();
91 rmk->GetEventManager()->GetNonconstCurrentEvent()->SetEventAborted();
105 const std::string name = aStep->GetTrack()->GetDefinition()->GetParticleName();
107 ATH_MSG_INFO (
"Quietly stopped tracking looping " << name
108 <<
" (trackID " << aStep->GetTrack()->GetTrackID()
109 <<
", track pos: "<<aStep->GetTrack()->GetPosition()
110 <<
", mom: "<<aStep->GetTrack()->GetMomentum()
111 <<
", parentID " << aStep->GetTrack()->GetParentID() <<
")");
114 <<
" (trackID " << aStep->GetTrack()->GetTrackID()
115 <<
", track pos: "<<aStep->GetTrack()->GetPosition()
116 <<
", mom: "<<aStep->GetTrack()->GetMomentum()
117 <<
", parentID " << aStep->GetTrack()->GetParentID() <<
"). The event will abort now.");