Decay Process Occurring Before hBertiniCaptureAtRest for Pions

Dear experts,

I am experiencing an unexpected behavior while working with a simple Geant4 application, which was used during the basic Geant4 course. In this case, I have a pion injected into the simulation, and the geometry consists of a box filled with G4_Galactic, using the FTFP_BERT physics list.

I noticed that when the pion is injected into the simulation, it undergoes hBertiniCaptureAtRest, which is expected. The following screenshot shows the tracking verbose 2 printout:

However, when the pion’s momentum is increased slightly (e.g., 1 keV or 10 keV), I observe that a Decay process is registered in the printout, but no daughters are produced. Afterward, the hBertiniCaptureAtRest process occurs as expected. The printout in this case looks like the following:

I am curious as to why the Decay process is appearing without producing any daughters, and then the hBertiniCaptureAtRest process is still being executed after that. Naively, I would expect that either the Decay or capture should happen, but not both in sequence.

Any insights into this behavior would be greatly appreciated.


Geant4 Version: 11.3
Operating System: Alma9
Compiler/Version: gcc 11