Show pions/kaons in the decay process


I am developing Geant4-based simulation to check detector response, and I have a question.
Could someone tell me how to show pions/kaons in the decay process?

Currently I am using very simple simulation that protons with 30 GeV are injected into Carbons or Leads of 10 cm thickness, and check particles in the sensitive detector as

for (int i = 0; i < i_numberOfHits; i++) {
TTNNHit* aHit = static_cast<TTNNHit*>(i_TTNNHitsCollection->GetHit(i));
G4cout << "check ParticleName: " << theEventID << " " << aHit->TrackID << " " << aHit->ParticleName << " " << aHit->pdgID << G4endl;

But only protons and electrons (and small fraction of gammas) appear.
In the PhysicsList, I included all the 6 types of particles as
G4MesonConstructor mConstructor;
and in the PhysicsProcess, I include G4EmStandardPhysics, G4HadronElasticPhysics (and else), but situation does not change.

I added decay processes as following,

G4Decay* fDecayProcess = new G4Decay;
G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
ph->RegisterProcess( fDecayProcess, G4PionPlus::Definition() );
ph->RegisterProcess( fDecayProcess, G4PionMinus::Definition() );
ph->RegisterProcess( fDecayProcess, G4KaonPlus::Definition() );
ph->RegisterProcess( fDecayProcess, G4KaonMinus::Definition() );
ph->RegisterProcess( fDecayProcess, G4KaonZeroLong::Definition() );
ph->RegisterProcess( fDecayProcess, G4KaonZeroShort::Definition() );

but simulation stops with following exception.

using sequential mode

G4PhysicsListHelper::RegisterProcess : No Process Manager for pi+

-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : Riun0110
issued by : G4PhysicsListHelper::RegisterProcess
No process manager
*** Fatal Exception *** core dump ***
**** Track information is not available at this moment
**** Step information is not available at this moment
-------- EEEE -------- G4Exception-END --------- EEEE -------

It is very much appreciated if you tell me how to include pions/kaons in the decay process of the simulation.


first of all, try to use reference Physics List (Geant4 recommends FTFP_BERT) - you will not have exceptions due to problems in physics configuration.

In order to control what happens during simulation you may use StackingAction (called for each secondary particle) and SteppingAction. These hooks are created for the purpose of user analysis of simulation.



I tried QGSP_BERT and this is fixed, thank you!
But now I am trying to see B0, but I cannot see B0 in the output.
Do you have any idea?
The setup is described below.