Define new particle

hi everyone,

can i define atoms as particle and assign processes to them?

i am trying to define hydrogen atoms and assign an ionization process to them and find out their charge state after passing through the matter.

as I know Geant4-DNA is capable to track hydrogen atoms in liquid water. i need to track hydrogen atom when it pass through another material.

is it possible to define hydrogen atom like exoticphysics/monopole and assign Ionization process to it in ConstructProcess method? or any other way


Yes, you can, but I don’t think you need to do so. You should be able to instantiate a G4Ions with Z=1, A=1. By default, all G4Ions are treated as “neutral atoms,” and the G4Track (via G4DynamicParticle) carries the ionization state, which can be changed by different processes.

1 Like

dear mkelsey,
thank you for your reply

i didn’t know G4Ions are treated as neutral atoms. i did what you said and tried to get the charge state of hydrogen after passing a foil.
I expected hydrogen to ionize but just hydrogen atoms were detected.

i also checked total electron occupancy by GetDynamicParticle()->GetElectronOccupancy()->GetTotalOccupancy()
and got 1 means it still an atom.

i using emstandard_opt4, is it necessary to change my physicslist to get change in charge state?

i also check all new tracks in StackingAction, they all were primary atoms that I defined.