Does AbortRun() still call EventAction::EndOfEventAction()?

This is a followup to a question of mine from 2021:

I’m running G4 10.7.p04 for our experiment; if the behaviour I describe has changed in G4 11, please let me know.

When I call runManager->AbortRun(false) from a worker thread, my understanding is that this calls BroadcastAbortRun(false), which should (I think!) cause all of the worker threads to stop what they’re doing without completing the event they are on.

But when I look in my output file, I see events from all of the worker threads, including ones that were still in process when the AbortRun() call was made.

So my question is: when AbortRun() is sent to the worker threads, do they still call EventAction::EndOfEventAction() and RunAction::EndOfRunAction()? Or should the event loop on those workers simply be terminated?

1 Like