EMcalculator vs. edep in steps


I have stumbled on this problem when trying to do a consistency check.

The test consists of shooting a infinitely small proton beam onto a thin G4_WATER slab (0.01mm thickness and very large lateral size). The world is made of G4_Galactic. I am using via a modular physics list only G4EmStandardPhysics_option4, G4DecayPhysics, G4RadioactiveDecayPhysics, G4EmExtraPhysics, G4HadronElasticPhysicsHP, G4StoppingPhysics and G4IonPhysics. So no inelastic nuclear interactions. I have also set the production cut of secondaries to 1*km to avoid creating any secondaries. I have verified that I have no secondaries and that the protons do exactly one step in the slab, at the boundaries of the volume (no user step limit). So nothing escapes.

I score the total energy deposit in the slab for a number of primaries via GetTotalEnergyDeposit from each step. I also score the energy spectrum of the protons in the slab with 10keV energy bins, every entry I add to the histogram is weighted by the length of the step. Then I get from the EMcalculator the unrestricted (1*km cut) dEdx for protons in G4_WATER with 10keV energy steps. Finally I try to calculate the energy deposit in the slab by a bin-wise multiplication of the spectrum with the dEdx corresponding to that proton energy bin. The result I get is that the energy deposit calculated from the spectrum is always about 1.5% lower than what I get from the GetTotalEnergyDeposit. Even when the energy spectrum is scored using the post step energy (which would give the highest dEdx) then still the same discrepancy occurs. I would need to shift the spectrum by a whole 4MeV to match the two energy deposit calculations.

I understand that for the energy loss along a step, fluctuations are added to the energy loss, but I thought that for large statistics the result should converge to the mean value calculated from the EMcalculator with an accuracy better than 1.5%. Is there an easy way to switch of these fluctuations? Does multiple scattering play a role in this test?

Thanks for any help or hint

Dear Georgios,

I think that for such a comparison you should use G4EmStandardPhysics_option4 only, so that you ensure that only electronic stopping is occurring. With the other constructors you incorporate processes by which the proton energy loss may be higher. Actually, your first paragraph is contradictory, since G4IonPhysics does include hadronic inelastic interactions.

By the way, what was the value of beam energy? A shift of 4 MeV seems to be high, unless the energy was high already.

Hope this helps,

I am not sure to understand what you do, for a so simple situation.
Here, macro and printout for the two examples TestEm5 and TestEm18.

Em5.txt (1.9 KB)
Em18.txt (1.4 KB)