No steps by neutron in the example "/Geant4/examples/extended/hadronic/NeutronSource"

In the example “/Geant4/examples/extended/hadronic/NeutronSource”, i want to get the neutron current across the “container surface“, but it seems no steps by neutron. the evidence is: no output when using the codes below in SteppingAction::UserSteppingAction section:

if(aStep->GetTrack()->GetDefinition()->GetParticleName()=="neutron")
         {
             std::cout<<"111111111111111111111111111111111111111111111"<<std::endl;
         }

but the codes works well in TrackingAction::PreUserTrackingAction and TrackingAction::PostUserTrackingAction sections.

Geant4 Version:11.2.0
Operating System:Ubuntu 20.04
Compiler/Version:9.4.0
CMake Version:3.16.3


That seems strange, what is your macro/gps doing? Have you confirmed you are actually generating neutrons in the UI mode?

in example NeutronSource, in SteppingAction.cc there is the statement:

if (edepStep <= 0.) return;

if your code is after this statement, neutrons never reach it.

@jrellin, the raw run1.mac file is used, it simulate a Am_Be neutron source.

@maire1, yes, you are right, now the neutron can be accessed in SteppingAction::UserSteppingAction section.

By the way, where can i find the (a,n) cross section data?

in data set G4PARTICLEXS4.2

@maire1, thank you, the content of the cross section file is clear, but no flags for the reaction (a,n). what are the flags for the reaction (a,n)?

The spectrum calculated by Geant4 is not consistent with the one from ISO 8529-1, the difference is shown in the figure below:

Am241_Be neutron source:

Am241_B neutron source: