Accurate modeling of single Coulomb scattering of electrons

Hi all,

Total beginner here (both to GEANT4 and to C++ code in general), please go easy on me :slight_smile:

I want to model Coulomb scattering of a near-GeV beam of electrons in a few gases (H2, N2, Ar) at quite low density and physical length. The conditions for multiple scattering are not fulfilled, so I need to use the most accurate single scattering model that I can. I have the code running and doing some not unreasonable stuff, but I need help setting up and checking that I’m using the correct models.

  1. After browsing through the Physics Reference Manual, it appears that I should be using the G4eSingleScatteringModel (p. 111-113). On p. 57 in the Guide for Physics Lists, I find the G4EmStandardPhysicsSS, which seems to be tailored for single Coulomb scattering. However, I can’t find an explicit confirmation of this anywhere. In my file I have entered #include "G4EmStandardPhysicsSS.hh" at the very top, and at the bottom I have
    void PhysicsList::ConstructProcess() { // Define transportation process fEmPhysicsList = new G4EmStandardPhysicsSS(); AddTransportation(); fEmPhysicsList->ConstructProcess(); }.
    Does this add the G4eSingleScatteringModel the way that I expect (if it’s indeed clear what I expect…)?

  2. I want to extract the number of electron-nucleus interactions that each electron experiences. How do I do this? I have been trying to look at some code examples, but it’s really not very clear to me.

  3. In my Googling adventures, I have come across documents where the simulation step size is varied, which in those cases affected the results significantly. The situation here is similar for point 2. How do I tweak this parameter?

  4. More on the modeling side of things: from sections 8.5 and 8.6 in the Physics Reference Manual, one can find that the electron mass is replaced by the effective mass in the CoM system, mu. However, in section 8.6.1, detailing the implementation of the model, there seem to be some inconsistencies with respect to which reference frame the coordinates are given in. I want to try and do some semi-analytical modeling alongside the GEANT4 simulations, and it’s not clear to me if all velocities and momenta should also be re-calculated using mu (rather than just m_e), since primed quantities are not used consistently.

  5. Validity of the models:
    a. The differential scattering cross-section is supposedly valid for medium-light nuclei, but I want to also model hydrogen properly. How do I do this?
    b. In some documents I’ve found, it’s stated that the cross-sections are only valid up to an energy of 900 MeV. This means I’m “safe” for the time being, but I want to be able to extend my findings to higher energies. Can someone comment on this?

I’d appreciate any and all help on these matters.
Best regards,