10.6. Common Particle Sources
Table of Contents
Gamma rays
Gamma rays are neutral photons with energies typically from a few keV up to many MeV or higher. In Geant4 they are represented by the particle definition gamma. When you use a primary generator such as G4ParticleGun, you select gamma rays with:
auto particleTable = G4ParticleTable::GetParticleTable();
auto gamma = particleTable->FindParticle("gamma");
fParticleGun->SetParticleDefinition(gamma);Gamma rays interact only electromagnetically, so in most simple examples they are used together with an electromagnetic physics list. They do not lose energy continuously along the track like charged particles. Instead, they undergo discrete interactions such as the photoelectric effect, Compton scattering, or pair production, which are handled by the physics list you choose.
For beginners, gamma rays are often the first primary particle used, for example to simulate a simple gamma detector or to study attenuation in shielding. You normally set a monoenergetic source with SetParticleEnergy(E*MeV) and give it a direction pointing into your detector. Since gamma rays are neutral, they do not curve in magnetic fields, which simplifies early simulations.
In macro files, you select gamma rays with commands like:
/gun/particle gamma
/gun/energy 662 keVHere 662 keV would represent the main gamma line of a Cs-137 source. You can then study how often these gamma rays deposit their full energy in the detector or escape after Compton scattering.
Gamma rays are always referred to as "gamma" in Geant4 particle names, not "photon" or "gamma-ray".
Electrons
Electrons are light, negatively charged particles defined in Geant4 as "e-". They are strongly affected by electromagnetic fields and undergo continuous energy loss and multiple scattering when traveling through matter. To create an electron primary:
auto eMinus = particleTable->FindParticle("e-");
fParticleGun->SetParticleDefinition(eMinus);Electrons are important in many applications, such as electron beam therapy, detector calibration with beta sources, and background studies. They typically have energies from a few keV up to hundreds of MeV in many laboratory simulations, although Geant4 can handle much higher energies as well.
Because electrons are light, they scatter significantly, so their tracks are usually tortuous rather than straight. This has practical consequences when you visualize tracks or when you design small detectors. For example, an electron beam aimed at a thin target will spread out quickly after passing through the material.
In macro commands you set electron primaries as:
/gun/particle e-
/gun/energy 10 MeVYou then choose a direction and position to define your beam or source. If your simulation involves strong magnetic fields, electrons will show clear curvature, which can help you test the effect of fields on charged particle trajectories.
Electrons must use an electromagnetic physics configuration that includes multiple scattering and ionization, or their transport will not be realistic.
Positrons
Positrons are the antimatter partners of electrons, with the same mass but positive charge. In Geant4 they are called "e+". To select them as a primary:
auto ePlus = particleTable->FindParticle("e+");
fParticleGun->SetParticleDefinition(ePlus);Positrons lose energy in matter through similar processes as electrons, such as ionization and bremsstrahlung. However, once slow enough they can annihilate with an electron in the material. This annihilation typically produces two gamma rays of about 511 keV each, emitted in nearly opposite directions in the center of mass frame. This process is central in PET simulations and other medical physics applications.
If you simulate a positron source, for example a simple beta-plus emitter, you may start with a monoenergetic or spectrum-shaped positron beam, let it slow down in tissue or detector material, and then observe the 511 keV annihilation photons. At beginner level, you can already see the annihilation photons appearing as additional gamma tracks in visualization.
In macros, positrons are selected as:
/gun/particle e+
/gun/energy 1 MeVBy inspecting the output or visualizing the event, you can observe where positrons stop and where the annihilation gamma rays originate. This connects directly to later chapters on PET and other annihilation-based imaging techniques.
Positrons are "e+" in Geant4, and their annihilation will automatically create gamma rays if you use an appropriate electromagnetic physics list.
Protons
Protons are heavy, positively charged hadrons, defined in Geant4 as "proton". They are widely used in simulations of accelerator beams, space radiation, and medical proton therapy. To create proton primaries:
auto proton = particleTable->FindParticle("proton");
fParticleGun->SetParticleDefinition(proton);Protons lose energy mainly through ionization and excitation of atoms as they slow down, and, at higher energies, also through nuclear interactions that can produce secondary particles. Their energy loss pattern in matter has a distinctive peak near the end of their range, known as the Bragg peak. This is particularly important in water or tissue-like media and is a key feature of proton therapy simulations.
Typical proton energies in medical applications are from about 70 MeV to 250 MeV, while in shielding or space applications they can be much higher. For a basic beam simulation you might set:
/gun/particle proton
/gun/energy 150 MeVand shoot the beam into a water phantom. Even at a beginner level, by recording energy deposition as a function of depth, you can observe the Bragg peak and understand where most of the energy is delivered.
Because protons are hadrons, your physics list must include both electromagnetic and hadronic processes. This ensures realistic treatment of nuclear interactions and production of secondary neutrons, photons, and light ions.
Protons require a hadronic physics list in addition to electromagnetic physics to model nuclear interactions and secondary production correctly.
Neutrons
Neutrons are neutral hadrons with roughly the same mass as protons. In Geant4 the common choice for primary neutrons is "neutron", which represents a generic free neutron. Since they are neutral, they do not lose energy by ionization. Instead, they interact through nuclear processes such as elastic scattering, inelastic scattering, capture, and fission, depending on the energy and the target material.
To define neutron primaries in C++:
auto neutron = particleTable->FindParticle("neutron");
fParticleGun->SetParticleDefinition(neutron);Neutron energies in simulations span a very wide range, from thermal energies (around 0.025 eV) up to GeV. Many shielding and reactor-related studies focus on energies from thermal up to several MeV. In macros, you might specify:
/gun/particle neutron
/gun/energy 2 MeVBecause neutrons do not ionize directly, their presence and effects are usually inferred from the charged secondaries they produce, such as recoil protons or heavy ions, or from capture gamma rays. This makes neutron simulations more complex to interpret, especially for beginners.
Selecting a suitable physics list for neutrons is essential. You need hadronic models that cover the energy range of interest and appropriate cross section data. Geant4 reference physics lists, such as those that include high precision neutron options, are usually recommended for detailed neutron transport.
Realistic neutron simulations depend strongly on the chosen hadronic physics models and cross section data. Use a reference physics list designed for neutron transport when neutrons are important in your application.
Views: 7
KAHIBARO