Processes and all their corresponding models

Is there a chart or something that shows all the processes Geant4 included and their corresponding models? If I initialize a process in a PhysicsList, What is the default model of the process?

1 Like

Dear MaHongchen,
I don’t know if this is it what suits you best, but there is a detailed list of the main processes available in the Book For Application Developers. For instance, if you check the pdf version of the Book, you may be interested in sections such as 5.2.2 “Electromagnetic Interactions” (subsection “Electromagnetic processes”, around page 213). The hadronic interactions are in the following sections.

Regarding the models adopted by each process, I think that you could check the source code of each process (either on doxygen or in your local installation of Geant4). Otherwise, you could find useful details on the Users Guide online: for instance, here you can find a list of the Models available for each electromagnetic process, and the hadronic ones are listed in the following sections of the guide. I don’t know which Model is the default for each process, but I think it should be the first listed in the table. Of course, you should keep in mind that the default implementation of a Process may use multiple Models at once, depending on the energy of the incident particle (e.g., this is the case of photon pair production and electron/positron bremsstrahlung).

The question at this point could be: are you asking for curiosity, or because you are implementing a custom Physics List and want to be sure to include all the correct Processes and Models? In the second case, is there any Physics List that may already satisfy your requirements? (e.g., if you want to just modify a single e.m. model for a given e.m. process, you could start from any ready-to-use Physics List, such af FTFP_BERT, and call the ReplacePhysics() method to just replace the e.m. part without touching the others).

Hope this helps!
Best wishes,
Pietro

1 Like

Hi, Pietro!

Thank you very very much. Your answer helps a lot. By reading Book For Application Developers and source code, I konw Processes and Models better. I want to calculate displacement damage of films irradiated by proton, electron and gamma in one project, like SRIM for ion, but I don’t find any suitable reference PhysicsList, so I have to write my own PhysicsList.

Now, my question is I have add G4eSingleCoulombScattering to electron, but there is not any recoils produced(cuts have been set to a very low value). By compute stopping power of G4eSingleCoulombScattering for e- and gold couple by TestEm0, it gives the result of 0 eV/cm.

Is there any idea about this problem? Thanks in advance!

Ma Hongchen

This is another post by me for your reference.
Thanks!

Dear Ma Hongchen,
regarding your first reply, I think that TestEm0 is working correctly: I checked it just now and it gives me 0 eV/cm as restricted and unrestricted dE/dx for CoulombScat, exactly as you said. However, I think this should be expected - the G4eSingleCoulombScattering process is an elastic scattering, meaning that no energy is transferred to the targets. Hence, no energy is lost in the process and dE/dx is zero. In fact, I would expect that a low-energy electron propagating through a thin film would lose energy mainly by other processes, such as ionization, eventually but not necessairly with the production of secondary particles. And in facts, if you run the TestEm0 example using gold as target and 1 keV e- as particle, you can see that the other processes have non-zero dE/dx (I found values ranging from 75 keV/cm up to 450 MeV/cm, depending on the process considered).

As for the rest: I think that the processes in which you are interested are all the ones which include production of secondary particles or local energy deposit. I’m not sure of which ones exactly, since I never dealt with this matter specifically. In another topic of this forum (here, for reference) they advise to check the Physics List available in the hadr06 example, for the hadronic part. In that case, the user was studying heavy ion fragmentation, which may be similar to your physics case, at least as a starting point. If you do that, pay attention to the cuts applied for the secondary particles production. For the e.m. part, instead, I would start from EM Opt3 and work my way from there, keeping as reference the results given by SRIM in very simple scenarios.

Hope this helps!
Best wishes,
Pietro

Dear Pmontigu,

Thank you very much for your reply. Your advices really help me a lot.

But I still feel confused about your explaination of G4eSingleCoulombScattering process and elastic scattering. I think electron still can transfer a part of energy to target by elastic collision. For example, G4ScrenedNuclearRecoil describes a elastic collision process which can produce secondaries. That means a part of energy is transferred to target nuclear by elastic. So why G4eSingleCoulombScattering can not?

Would you please give me more explaination? Thanks a lot!

Ma Hongchen

Dear Ma Hongchen,
I ask your pardon for my mistake in the previous answer… what you say sounds about right. Unfortunately, I don’t know what is the solution to your problem. The only thing I can say is to try checking the Physics Reference Manual (here) in the sections dedicated to the scattering process and see if you can find out anything useful. Or maybe some other user will help us…

Best wishes,
Pietro

Dear Pmontigu,
Thanks all the same! I will read the Physics Reference Manual. If there is any progress, I will let you know.
Ma Hongchen

Hello,

if it is needed to simulate low energy recoil, we recommend to use G4EmStandardPhysicsSS electromagnetic physics. Possible reference PhysicsList would be QGSP_BIC__SS. You will need additionally disable cut on proton:

/run/setCutForAGivenParticle proton 0.0 mm

and disable internal tracking cut for charged particles

/process/em/lowestMuHadEnergy 0.0 keV

VI