Created Excited State in Geant4

Would like to learn how to create a material whose electron is excited.

Geant4 Version: 11.3
Operating System: Ubuntu 22.04
Compiler/Version: N/A
CMake Version: N/A


This is for Rydburg Atom. which has an excited electron in it atomic model’s last shell.

There is a model for Excitted states Rydberg in Physico-Chemical Stage. Is there a working example that I can use?

What is your interest in a Rydburg Atom? Geant4 does not explicitly handle quantum mechanical interactions outside of some spin effects. You can certainly create an excited ion:

G4ParticleDefinition* rydbergAtom = G4IonTable::GetIonTable()->GetIon(Z, A, excitationEnergy);
fParticleGun->SetParticleDefinition(rydbergAtom);

If you want spin you’ll probably need to create your own particle but actual quantum interactions like the fine structure can’t really be done with Geant4.

Thank you for the quick response. This code implies that the rydberg atom is the incident particle. I am hoping to have the target material be of rydberg atom. In this case, I can step a region with some magnetic field and have high energy gammas (Laser) particles to be the incident particle beam.

I think I see what you’re asking for, and Geant4 basically “doesn’t do that.” On the one hand, materials are not made up of “atoms” – they’re assumed to be continuous media which fill a volume. When an incident particle (a G4Track) passes through that volume, the material properties (volume, average A, average Z, etc.) are used to determine if and where an interaction happens, and a target atom – assumed to be in the ground state with the A,Z of the material – is assumed to be at that position.

On the other hand, Geant4 does not support any kind of interaction between two G4Track objects. Each track is treated individually, and passes through the same volumes, same materials, as all the other tracks in the event. “Activation”, for example, is reported as the outcome of a job, but the material itself is not modified.

It might be possible to define a custom material which is made of Rydberg atoms, but you’d have to know a priori things like the density, interaction cross-sections, ionization energy, etc., and you might have to write custom processes for things that are special to such interactions. Obviously, if you were hoping to use Geant4 to learn those quantities, that doesn’t help much.