Simulating 27Al(p, gamma)28Si reaction for beam energy calibration

Geant4 Version: 11.3.2
Operating System: Windows 11
Compiler/Version: MS Visual Studio 17.14.16
CMake Version: N/A

I am attempting to simulate the proton capture reaction 27Al(p, gamma)28Si. The resonance energy of this reaction is 992 keV, and we plan to use this reaction to calibrate the energy of a proton beam by measuring the gamma radiation emitted from a thin aluminum target as the beam energy is slowly varied near resonance.

I’ve set up a simple simulation of monoenergetic protons bombarding a thin aluminum target inside a G4_Galactic vacuum. This is placed inside a hollow sphere (also made of vacuum) that acts as a detector that records the energies of outgoing gammas into a histogram. See below for the spectrum of a 2-MeV proton beam into a 2-um target after 45e9 primary protons.

The peak at 1.78 MeV is characteristic of the decay of the excited silicon atom resulting from the proton capture, so I think I’ve got the right physics. I have tried this simulation with both the built-in FTFP_INCLXX_HP physics list and a copy of the physics list found in examples\extended\radioactivedecay\Activation (with SetCutValue() set to 0*mm for protons and 0.1mm for the default cut value), and both result in similar spectra.

However, when I try to simulate lower proton beam energies, I get no gamma production below 1.8 MeV. I would expect gammas at all energies with a sudden rise in total detected energy when the beam reaches a bit over the resonance energy of 992 keV. I would appreciate some help in determining if I am doing something wrong or if the reaction is too rare to see at lower energies.

Here, a macro for example Hadr03, its printout and the gamma plot.

The physics constructor selected was QGSP_BIC_HP (see PhysicsList.cc)

harrison.mac.txt (389 Bytes)

harrison.out.txt (1.2 KB)

Thanks for the reply. I tried the harrison.mac macro file with the extended/hadronic/Hadr03 example and I didn’t detect any gammas (zero counts in all histogram bins). In fact, it looks like nothing at all happened to the protons based on the cross section results. Nothing was changed in the C++ code ( G4HadronPhysicsQGSP_BIC_HP was already selected in the PhysicsList class for inelastic hadron interactions). Below is the output summary.

harrison.QGSP_BIC_HP.txt (792 Bytes)

I tried switching the Hadron Inelastic Physics list with G4HadronPhysicsQGSP_BIC_AllHP. This resulted in the correct cross sections, but still no gammas. See the output below.

harrison.QGSP_BIC_AllHP.txt (1.1 KB)

I am using the latest development version 11.3.ref.09

It is possible that the changes in G4ParticleInelasticXS are not yet in the public version 11.3.2

I guess (but I am not sure) that they are in 11.4.0.beta

If so, they will come with 11.4.0 in December 2025 …

I think I finally got it working. I changed the hadron elastic physics list to G4HadronInelasticQBBC inside PhysicsList.cc, and now I get the similar results.

harrison.G4HadronInelasticQBBC.txt (1.3 KB)

New problem–opposite of the first. The reaction I’m simulating should only happen when the proton energy is greater than the resonance energy of 992 keV. However, as see in the first plot below, the large peak at 1.78 MeV that indicates the reaction I’m simulating is there, even though the proton energy is too low. Also, when I scan a range of energies from below to above resonance, the reaction starts at 890 keV (second plot below). This simulation was created using the PhysicsList class from Hadr03, which was edited by commenting out RegisterPhysics(new G4HadronPhysicsQGSP_BIC_HP(verb)); and uncommenting RegisterPhysics( new G4HadronInelasticQBBC(verb));. Any ideas for what’s happening?