I’ll start by describing a simplified example I’m running and then I’ll explain what I’m struggling with. Hopefully someone will be able to give me some pointers as to what might be going on.
I’m aiming a 250 MeV mono-energetic proton pencil beam at a 33 cm cube of water. The cube of water sits in the centre of a world filled with air. I have a sensitive detector 1 cm before and 1 cm after the cube and there I record the protons’ entry and exit energies, respectively. I use the difference of these to calculate the energy each proton deposited between the entrance and exit detectors, i.e. ∆E = Ein - Eout. As a sanity check, I have a stepping action that updates a cumulative sum of energy deposited in each step, Edep (step->GetTotalEnergyDeposit()).
Now onto the problem. For some reason ∆E and Edep don’t agree and I’m not sure why. I’ve attached a plot that shows ∆E being consistently larger than Edep. This is where I’m out of my depth and need help. Are there processes that don’t contribute to GetTotalEnergyDeposit() but can lead to a difference of 2.5 MeV or more in the final energy lost by a proton?
I should add that I’m using the physics list QGSP_BIC_HP and I’m running a multithreaded version of Geant4 10.7.2.
Please let me know if I need to clarify anything.