Hello, I am simulating electrons with energies ~30keV - 600 keV in liquid argon using geant4.
How can I make the stopping power (dE/dx) be very accurate as a function of the particle range and also have many G4segments per event? I am interested in UI commands that I could use.
I use the Livermore physics list, in particular QGSP_BERT_LIV. It is expected that radiative loss via Bremsstrahlung will be many times smaller than ionization loss (NIST), but even cutting gammas makes no noticeable difference. Gammas are the only secondaries directly produced by the electron, and I verified that there are no other major energy losses apart from along the electron segments.
I have tried /process/eLoss/StepFunction
to increase the number of segments and to adjust the dE/dx model. I have tried making finalRange
and dRoverRange
small (ex: 0.0001 0.01 mm), which increases the number of segments but does not make the dE/dx vs range accurate over the full range. I have tried to better understand the command by reading the physics reference manual, but the explanation there is confusing to me. Any suggestions here?
Below is a figure I made with the above configurations (Livermore list and StepFunction 0.0001 0.01 mm). The expectation is given by the Bethe-Bloch equation for low-energy electron energy loss, which I verified with NIST data. A binned average over 1000 events is performed with the segments to produce something I can compare to the expectation. As you can see, the dE/dx is accurate for high residual range but starts to deviate from the expectation at low range (near the end of the event track). I should note that with this configuration, the full track lengths of the electrons are very accurate.
I would appreciate any suggestions on how to achieve accurate dE/dx, either with new commands or alterations of my current setup. Thank you for the help. Let me know if you need more information from me.
Geant4 version: geant4-10-06-patch-03