Confusion About Calculating the Total Cross Section of Electron Bremsstrahlung

Dear all,

I hope this message finds you well. I am currently studying the bremsstrahlung process for electrons and have been exploring the implementation in Geant4. I noticed that when using EM Option 0, the Seltzer-Berger bremsstrahlung model is employed.

While reviewing the source code in source/processes/electromagnetic/standard/src/G4SeltzerBergerModel.cc, I found the function ComputeDXSectionPerAtom, which computes the differential cross section. However, I could not locate a function responsible for calculating the total cross section.

Would you kindly guide me on where to find the relevant code for the total cross section calculation within the Geant4 source? If I have misunderstood something about the implementation or process, I would greatly appreciate any clarification you could provide.

Thank you very much for your time and assistance. I look forward to your response.

Best regards,
Danyang

I do not remember the details of the implementation, but I see the 2 functions ComputeCrossSectionPerAtom() and ComputeXSectionPerAtom() around lines 342 - 420 of G4SeltzerBergerModel.cc

G4EmCalculator probably does what you want.
Examples TestEm01, TestEm13, and TestEm14 to see examples of using it including calculating (total) cross section.

Thank you very much for your reply. In the G4SeltzerBergerModel.cc, I do not see the two functions you mentioned. However, I found the two functions in the G4eBremsstrahlungRelModel.cc.

Thank you so much.I will try it later.

Interesting … I was referring to G4 11.2.2

I hope this message finds you well. My apologies for the interruption.

I have been using EmTest01 to calculate the cross sections for electrons, and I noticed that the results include the following components: eIoni, eBrem, and CoulombScat. I would like to confirm if the CoulombScat component represents multiple scattering.

Additionally, I observed that in opt0, the calculation of the multiple scattering cross section is performed using the UrbanMsc model rather than a direct Coulomb scattering model. Could you please confirm if my understanding is correct?

Thank you very much for your time and assistance. I appreciate your clarification on this matter.

This PDF will be helpful I think starting from slide 20.

Multiple scattering and single scattering are combined if you use default physics lists.

IIRC, yes (see slide 21-22). Near some multiple of a scattering length of a boundary does it switch to direct scattering.

I have two questions related to energy loss and dose calculation in G4 simulations:

  1. In the UrbanMSC model, energy loss during multiple scattering (MSC) does not appear to be explicitly calculated. Does this imply that, for dose calculations involving electrons, energy loss is not considered during MSC events? If so, could you confirm whether this means that electrons undergoing MSC would not lose energy? Additionally, are there any specific examples in G4 that illustrate the physical processes relevant to electron dose calculations?
  2. When calculating photon dose, photon attenuation in the material is considered, and the dose calculation involves multiplying by the material’s mass energy absorption coefficient. For electron dose calculations, should a similar consideration be applied?

I am not sure what you are asking. If the model does not include MSC than you will not have MSC events. Energy loss will still be from single scatters. MSC is just an aggregate of the latter if you are not using wave optics, which Geant4 does not.

If you are running MC, than you are explicitly able to calculate the photon dose. Mass attenuation coefficients are meant as an average (as a function of energy) when you don’t want to run a simulation.

Radioprotection, Medical Linac, microbeam examples might be a good place to start.

I am designing a software to calculate the electron dose deposition and am trying to reference the physical process of electron multiple scattering (MSC) in Geant4. When I looked into the calculation of MSC electron deflection angles, I found Geant4’s approach to be both precise and complex. I have carefully studied the member functions of the UrbanMSC model and the references provided by Geant4, but I am still finding it difficult to fully understand. I would like to ask if there are any relevant documents that can help me better understand the calculation process in Geant4."

Outside of the slides I provided earlier and general courses, the most comprehensive explanation is likely in the physics reference manual here.

Thank you very much for your patient answers. I am truly sorry for disturbing you for such a long time.

I have indeed carefully read this part and the related references before. However, I still have difficulty understanding the scattering angle calculation process for electron MSC, especially the calculation process of tPathLength. Is there an overall calculation flow or a simplified process for electrons? What I mean is, how do we calculate the scattering angle from the input of electron kinetic energy and the relevant properties of the current material, and what is the entire process leading to the final scattering angle?

Outside of going through the papers it cites, the MSC page is pretty complete. The scenarios considered are 1) if the particle step size is (or is not) comparable to the range and 2) modifying step size near boundaries since Geant always ensures that at least 1 step begins/ends at a boundary for particles crossing between materials. 2 is more of a implementation preference.

A particle starts with an initial momentum (taken as z) and you calculate the first two moments of the mean free path by integrating the equation before Equation 47 using experimentally measured cross sections. That allows you to calculate the lateral displacement (for this first step, x and y) and new lateral direction vectors with Equations 50 and 51. The scattering angle theta and longitudinal displacement for a step are sampled from model distributions. The longitudinal displacement using f(v) below equation 57 with equation 57 used for < z > if k < 0 for the equations that follow. cos (theta) is sampled from equation 58. It gets messy but the main point is the model is using empirical parameters and fits to data. You take the arccos to get the scattering angle. Thus, all parameters are determined for the step outside of the issues in 2) I noted earlier.

If the electron/positron has energy >10 MeV then the urban model is used by default in EM physics list where the energy loss in the step is negligible and you can use equations 47 and 48 instead since you can use just a single interpolated/extrapolated cross section value. These can be (and are) pre-calculated with no required sampling giving a significant computational speed boost.

(post deleted by author)

(post deleted by author)

(post deleted by author)