Why geantino for a real/physical simulation?

Sorry this may be related to other questions I already posted, but I’m trying to separate the questions so that they can be searched and referenced by other users.

I understand geantino is a virtual particle that does not interact with a material and it undertakes transportation processes only. I imagine it would be useful for debugging or troubleshooting. I also learned that there is a case where geantino is used as a placeholder in the constructor and replaced with a real particle later. Other than those purposes, I feel geantino should not be used for a real/physical simulation, as it doesn’t include any interaction with a material (not physical). That said, I am confused by the ‘\extended\radioactivedecay\rdecay01’ example, where all the particles and ions are treated as geantionos… Any thought?

Everything you say is correct here. The G4Geantino as such, is basically only useful for debugging G4Transportation (including with fields, as there are charged geantinos as well), and for getting geometry information (e.g., RayTracer uses them to collect all the boundary crossings along a direction).

I think the text you’re referencing with rdecay01 is meant to be shorthand. The physics list for that example includes only the radioactive decay process. It doesn’t include EM physics, hadronic physics, or anything else. So none of the particles produced are going to interact with your geometry. You’ll get the radioisotope decay you ask for, with the right kinematic distribution of daughters, but that’s all.

Rdecay01 is not meant as a realistic demonstration of radioisotopes in the world. It’s more like a “unit test” where you can see what the process does in isolation, with no other complications.

1 Like

Thank you so much for the explanation. It greatly helps!

I suggest to subtitute the geantino source with radon, which will decay

Okay Okay. I can certainly do that. Anything else? Have you seen rdecay01 example?

I used it some times, but I can’t help with this. You should know the simulation set-up to implement to answer to your scientific questions :slight_smile:

1-It is a “trick” needed here. At the time when constructor of PrimaryGeneratorAction is invoked, the G4IonTable is not yet build: we cannot try to define an ion at this level. By default, Geant4 define a Geantino.
Therefore, if you do nothing with UI commands, the system enters in GeneratePrimaries() with a geantino. If so, we build Ne-24.
Of course, this do not happen if you have already define an ion with UI command : particleGun or GPS …

2- Anyway, I suggest you to read carefully Readme : rdecay01 is a special example where RadioactiveDecay process is registered alone.
For a ‘realistic’ simulation (eg. with more physics) , start with rdecay02 or one of the hadronic examples (Hadr06, Hadr07 …)

this is helpful. thank you so much. I will starts integrating my code with rdecay02.