introduction to geant4: basic concepts y pedro arce dubois ciemat, 5 th july 2012
TRANSCRIPT
Introduction to GEANT4:
Basic concepts http://geant4.cern.ch
Pedro Arce Dubois
CIEMAT, 5th July 2012
Pedro Arce Introduction to GEANT4 2
OutlineGeometry
Magnetic field
Particle generator
G4Run/G4Event/G4Track/G4Step /G4Trajectory
Sensitive detector
Electromagnetic physics: standard
Electromagnetic physics: low energy
Hadronic physics. Neutrons
Production cuts
Geometry
Pedro Arce Introduction to GEANT4 4
Materials G4Isotope
G4Element
Simple (Symbol, Z, A)
Mixture of isotopes
G4Material Simple (Z, A, density)
Mixture of elements
Mixture of materials
G4NistMaterialMgr Predefined list of elements and materials (accesible by name)
G4NistManager::Instance()->FindOrBuildElement(name)
G4NistManager::Instance()->FindOrBuildMaterial(name)
All simple elements (Z=1,107) with all isotopes
All simple materials (Z=1,98)
Many common materials (most from medical physics domain)
Pedro Arce Introduction to GEANT4 5
G4VSolid = geometrical shape + dimensions
CSG (Constructed Solid Geometry): G4Box, G4Cons, G4Trap, G4Sphere, G4Polycone, etc.
BREP (Boundary REPresented): G4BREPSolidPolycone, G4BSplineSurface, etc. (much slower navigation)
BOOLEAN: a solid is made adding, subtracting or intersecting two
TESSELATED: a solid is made with a set of triangular or quadrangular facets
STEP interface: to import BREPs from CAD systems
Pedro Arce Introduction to GEANT4 6
G4LogicalVolume
Contains all information of a detector element except position
Minimum: solid + material Sensitive detector Visualisation Magnetic field User limits Parameterisations of physics ...
Pedro Arce Introduction to GEANT4 7
G4VPhysicalVolume
Information about placement of a volume G4PVPlacement
• Is is a volume instance positioned once in a mother G4PVParameterized
• Parameterized by the copy number• Shape, size, material, position and rotation can be parameterized
G4PVReplica• Slicing a volume into smaller pieces (if it has a symmetry)
G4PVDivision• Slicing a volume into smaller pieces (if it has a symmetry)• Internally implemented as parameterization (no G4ReplicaNavigation)• Allows offset• Allows constructor with only number of divisions or size of division
G4PVAssembly• Assembly of volumes without a mother volume
Pedro Arce Introduction to GEANT4 8
Individual copies of a volume
How to identify a volume uniquely?
Example: - one LV A placed in 5 positions (5 PV) inside World- one LV B placed in 12 positions (12 PV) inside A
GEANT4 constructs 5+12 PV, not 5 PVs of A and 60 (=5x12) PVs of B
And even a PV can represent multiple copies (Parameterisations or
Replicas)
- How can I have access to the 60 different copies of B (for example, for finding where is a hit)?
ANSWER: each of the 60 volumes B will be a distinct G4VTouchableeach of the 60 volumes B will be a distinct G4VTouchable
But, for efficiency reasons, G4VTouchable´s are only created at tracking time, when a particle enters the corresponding volume
Magnetic and ElectricFields
Pedro Arce Introduction to GEANT4 10
Field types
Several field types can be defined in Geant4:• Electric fields• Magnetic fields• Electromagnetic fields• Gravity fields
Fields can be assigned only to a few volumes Fields can vary with time
- In order to propagate a particle inside a field, the equation of motion of the particle in field is integrated (Runge-Kutta methods or others)
Pedro Arce Introduction to GEANT4 11
Magnetic field: chords
The path is calculated using the chosen integration method and then it is broken into linear chord segments that closely approximate the curved path
The chords are used to interrogate the Navigator, to see whether the track has crossed a volume boundary
Particle Generator
Pedro Arce Introduction to GEANT4 13
Primary Particles Generator
G4Event has a list of G4PrimaryVertex’s • G4double X0, Y0, Z0;• G4double T0;• G4double Weight0;
G4PrimaryVertex has a list of G4PrimaryParticle’s• G4int PDGcode;• G4ParticleDefinition * G4code;• G4double Px, Py, Pz;• G4int trackID; • G4double charge;• G4double polX, polY, polZ;• G4double Weight0;• G4double properTime;
Geant4 provides some concrete implementations of G4VPrimaryGenerator
G4ParticleGun: one particle G4HEPEvtInterface: reading event particles from text files G4GeneralParticleSource: big flexibility
G4Run /G4Event / G4Track / G4StepG4Trajectory
Pedro Arce Introduction to GEANT4 15
Pedro Arce Introduction to GEANT4 16
Pedro Arce Introduction to GEANT4 17
Pedro Arce Introduction to GEANT4 18
Pedro Arce Introduction to GEANT4 19
Step• Step has two points and also ´delta´information of a particle (energy loss on the step, time-of-flight spent in the step, etc.)• Each point knows the volume. In case a step is limited by a volume boundary, the end point physically stands on the boundary, and it logically belongs to the next volume
Current volume: G4Track::GetNextVolume(); =G4Step::GetPostStepPoint()->GetPhysicalVolume();Previous volume: G4Track::GetVolume(); =G4Step::GetPreStepPoint()->GetPhysicalVolume();
What you see with ‘/tracking/verbose 1’ is the current volume
Pedro Arce Introduction to GEANT4 20
Trajectory
• Trajectory is a record of a track history. It stores some information
of all steps done by the track as objects of G4VTrajectoryPoint class
• The user can create its own trajectory class deriving from
G4VTrajectory and G4VTrajectoryPoint base classes for storing any
aditional information
• While Tracks are killed when its tracking finishes, Trajectories are
kept for an event lifetime:
• Think of your favorite application....
Sensitive Detector
Pedro Arce Introduction to GEANT4 22
Detector sensitivityDetector sensitivity
A logical volume becomes sensitive if it has a pointer to a concrete class derived from G4VSensitiveDetector.
A sensitive detector eitherconstructs one or more hit objects or
accumulates values to existing hits
using information given in a G4Step object.
NOTE: you must get the volume information from the “PreStepPoint”.
Pedro Arce Introduction to GEANT4 23
Sensitive detector and HitSensitive detector and Hit
Each “Logical Volume” can have a pointer to a sensitive detector
Hit is a snapshot of the physical interaction of a track or an accumulation of interactions of tracks in the sensitive region of your detector
A sensitive detector creates hit(s) using the information given in G4Step object. The user has to provide his/her own implementation of the detector response
Hit objects, which still are the user’s class objects, are collected in a G4Event object at the end of an event
Pedro Arce Introduction to GEANT4 24
Hit classHit class
Hit is a user-defined class derived from G4VHit. You can store various types information by
implementing your own concrete Hit class.
For example: Position and time of the step
Momentum and energy of the track
Energy deposition of the step
Geometrical information
or any combination of above
Electromagnetic Physics: Standard
Pedro Arce Introduction to GEANT4 27
Physics Process
OOD (Object-Oriented Design) allows to implement or modify any physics process without affecting other parts of the software
Tracking is independent from physics processes (Transportation is also a process)
The generation of the final state is independent from the access and use of cross sections
Transparent access via virtual functions to cross sections (formulas, data sets, etc.)
models underlying physics processes
G4VProcess: base class for all processes
Pedro Arce Introduction to GEANT4 28
Standard e.m. Physics Processes
Cover physics from 10 keV up to PeV
Common to all charged particles• ionization• Coulomb scattering from nuclei• Cerenkov effect• scintillation• transition radiationElectrons• bremsstrahlung• nuclear interactionsPositrons• bremsstrahlung• annihilation• nuclear interactions
Muons• bremsstrahlung• e+e- pair production• nuclear interactionsPhotons• gamma conversion• Compton scattering• Rayleigh scattering• photo electric effect• nuclear interactionsOptical photons• reflection and refraction• absorption• Rayleigh scattering
Pedro Arce Introduction to GEANT4 29
Features of Standard e.m. processes
Multiple scatteringMultiple scattering several models computes mean free path length
and lateral displacement includes single scattering
IonisationIonisation optimise the generation of rays
near boundaries
Variety of modelsVariety of models for ionisation and energy loss including the PhotoAbsorption
Interaction model
Differential and Integral approachDifferential and Integral approach for ionisation, Bremsstrahlung,
positron annihilation, energy loss and multiple scattering
Multiple scattering
6.56 MeV proton , 92.6 mm Si
J.Vincour and P.Bem Nucl.Instr.Meth. 148. (1978) 399
Pedro Arce Introduction to GEANT4 30
Electromagnetic physics: Low energy
Pedro Arce Introduction to GEANT4 32
Electrons and Photons
Validity range: 250 eV – 100 GeV250 eV – 100 GeV250 eV is a “suggested” limit
Data library down to 10 eV1 < Z < 100
Exploits evaluated data libraries evaluated data libraries EADL (Evaluated Atomic Data Library) EEDL (Evaluated Electron Data Library) EPDL97 (Evaluated Photon Data Library)
For the calculation of total cross sections and the final state generation
Photon transmission, 1m Pb
shell effects
GaAs linesFe lines
fluorescence Compton scattering Rayleigh scattering Photoelectric effect Pair production Bremsstrahlung Ionization
+ atomic relaxation
Pedro Arce Introduction to GEANT4 33
Photon attenuation: comparison with NIST data
Courtesy of S. Agostinelli, R. Corvo, F. Foppiano, S. Garelli, G. Sanguineti, M. Tropeano
Test and validation by IST - Natl. Inst. for Cancer Research, Genova
Pedro Arce Introduction to GEANT4 34
Procesos de hadrones e iones
Variety of models, depending on the energy range, particle type and charge
Bethe-Bloch model for energy lost, E > 2 MeV 5 parameterized models, E < 2 MeV
based on Ziegler and ICRU revisions
3 model of energy lost fluctuationss
Density corrections at high energy Shell correction term for intermediate energies Independent term for spin Barkas and Block terms Chemical effect for compound materials Nuclear stopping power Effective charged model
Positively charged HadronsPositively charged Hadrons
Positively charged IonsPositively charged Ions
Negatively charged HadronsNegatively charged Hadrons
Scale:
Parameteritations 0.01 < < 0.05, Bragg peak
based on Ziegler and ICRU revisions
< 0.01: free electron gas model
Parameterization of available experimental data Quantum Harmonic Oscilator model
Modelo original de Geant4
Pedro Arce Introduction to GEANT4 35
Some results: protons
Straggling
Pode de frenado Dependencia en Z a varias energías
Modelos Ziegler e ICRU Ziegler e ICRU, Fe Ziegler e ICRU, Si
Poder de frenado nuclearPico de Bragg (con interacciones
hadrónicas)
Pedro Arce Introduction to GEANT4 36
Some results: ions & antiprotons
antiprotons
protons
Energy lost in Silicon
Ions Ar y C
Deuterons
Hadronic Physics
Pedro Arce Introduction to GEANT4 38
Hadronic physics challenge
Even though there is an underlying theory (QCD), applying it is much more difficult than applying QED for EM physics
We must deal with at least three energy regimes: Chiral perturbation theory (< 100 MeV) Resonance and cascade region (100 MeV – 20 GeV) QCD strings (> 20 GeV)
Within each regime there are several models:Many of these are phenomenological
Pedro Arce Introduction to GEANT4 39
Hadronic process
At rest: Stopped muon, pion, kaon, anti-proton Radioactive decay
Elastic: Same process for all long-lived hadrons
Inelastic: Different process for each hadron Photo-nuclear Electro-nuclear
Capture: Pion- and kaon- in flight
Fission
Pedro Arce Introduction to GEANT4 40
Cross sections
Default cross section sets are provided for each type of hadronic process: Fission, capture, elastic, inelastic Can be overridden or completely replaced
Different types of cross section sets: Some contain only a few numbers to
parameterize cross section Some represent large databases (data driven
models)
Pedro Arce Introduction to GEANT4 41
Alternative cross sections
Low energy neutrons G4NDL available as Geant4 distribution data files Available with or without thermal cross sections
Neutron and proton reaction cross sections 20 MeV < E < 20 GeV
Ion-nucleus reaction cross sections Good for E/A < 1 GeV
Isotope production data E < 100 MeV
Pedro Arce Introduction to GEANT4 42
Different types of hadronic shower models
Data driven models
Parametrisation driven models
Theory driven models
Pedro Arce Introduction to GEANT4 43
Low energy (< 20MeV) neutrons physics
• High Precision Neutron Models (and Cross Section Data Sets)• G4NDL
• ENDF
• Elastic
• Inelastic
• Capture
• Fission
• NeutronHPorLEModel(s)
Pedro Arce Introduction to GEANT4 44
G4NDL (Geant4 Neutron Data Library)
The neutron data files for High Precision Neutron models The data are including both cross sections and final
states The data are derived evaluations based on the following
evaluated data libraries Brond-2.1 CENDL2.2 EFF-3 ENDF/B-VI.0, 1, 4 FENDL/E2.0 JEF2.2 JENDL-FF JENDL-3.1,2 MENDL-2
The data format is similar ENDF, however it is not equal to.
Pedro Arce Introduction to GEANT4 45
Radioactive Decay
Decay of radioactive nuclei by , -, +, electron capture and isomeric transitions
The simulation model is empirical and data-driven, and uses the Evaluated Nuclear Structure Data File (ENSDF) nuclear half-lives, nuclear level structure for the parent or daughter nuclide, decay branching ratios the energy of the decay process
Application of variance reduction techniques bias decays to occur within user-defined times of observations split radionuclei to increase sampling apply minimum bias limit to ensure adequate sampling of low-
probability channels which have high impact
Production cuts
Pedro Arce Introduction to GEANT4 47
What are the (production) cuts?
- Some electromagnetic processes have diverging cross sections at low energy Ionisation: producing delta rays Bremsstrahlung: producing gammas …
Need to put a cut: produce only secondaries from some energy up
- GEANT3/MCNP/EGS/Penelope: cuts per energy
- GEANT4: cuts per range more uniform treatment in different materials
- But cuts are converted to energy in each material and always used in energy
Pedro Arce Introduction to GEANT4 48
cut, step length and number of 2ary particles
Secondary particles are only produced above the energy cut Primary gives the step in which it would loose enough energy to produce a secondary
GEANT4: secondaries that would live for a length above range cut
Example: Tracking of a muon with a cut of 1 mm in iron.
Energy of secondary electron/positron to live 1mm in iron: 1 GeV
Energy of secondary gamma to live 1mm in iron: 10 MeV Calculate in which step length the sum of the energies of all delta rays
produced by the muon (ionisation is in reality a ‘continuous’ process = ocurring at atomic lengths) is enough to produce an electron of 1 GeV
Same for gammas from bremmstrahlung adding up to 10 MeV Same for e+e- from pair production adding up to 1 GeV Choose between the three the smallest step length: make a step of this
length
Bigger cut bigger step ( logarithmically)
Pedro Arce Introduction to GEANT4 49
Other Cuts in GEANT4 All cuts are always set by particle type
UserLimits / G4UserSpecialCuts ‘process’: Define the step length
Kill particle if: track length too big, time of flight too big, energy too small, range too small
User can define other conditions
An extra process that is attached to a G4LogicalVolume
BUT: just proposes an step, that competes with other processesFor example: if in a volume there is an small electron cut (= produce delta rays every small step) and in the same volume a UserLimits selects a bigger step, this UserLimit have no effect, because ionisation proposes smaller steps than UserLimits process (and always the smallest step is chosen)
User Commands
Pedro Arce Introduction to GEANT4 51
GEANT4 commands
Commands control what your job will doo /run/initializeo /run/beamOno /tracking/verbose o /run/particle/dumpCutValueso ...o /control/manual prints all available commands
Usually they are put in a file and given as name to the executable: myg4prog mycommands.lis
• All commands are processed through the singleton class G4UImanager You can apply any command at any point in your code
G4UImanager* UI = G4UImanager::GetUIpointer();UI->ApplyCommand(“run/beamOn”);
• New commands are easily created, creating a messenger and an action (see the many examples in OSCAR)
Examples of Applications
Pedro Arce Introduction to GEANT4 53
GEANT4 Application examples
ray telescopeBrachytherapy X ray telecope Underground physics and background radiation X ray Fluorescence and PIXE Gamma therapy DICOM reading
Full applications that show the physics and advanced interactive facilities in realistic set-ups
Pedro Arce Introduction to GEANT4 54
Pedro Arce Introduction to GEANT4 55
User applications
Courtesy of S. Magni, Borexino Courtesy of A. Howard, UKDM
ZEPLIN IIIDark Matter, Boulby mine
No time to mention them all!
Solar system explorations
Courtesy SOHO EIT
Cosmic rays,jovian electrons
Solar X-rays, e, p
Courtesy P.Truscott, DERA
Courtesy of R. Nartallo, ESA
XMMX-ray telescope
-4-2024
-90 -80 -70 -60 -50 -40 -30 -20 -10 0 10
Z (cm)
Y (
cm
)
RGS EPIC
Brachytherapy
Bepi Colombo
Pedro Arce Introduction to GEANT4 56
M. C. Lopes1, L. Peralta2, P. Rodrigues2, A. Trindade2
1 IPOFG-CROC Coimbra Oncological Regional Center - 2 LIP - Lisbon
Head and neck with two opposite beams of field size 5x5 y 10x10
Radiotherapy: GEANT4 and com-mercial treatment planifiers
One “off-axis” depth dose taken in one of the slices near the isocentre
PLATO fails in the air cavities and bone structures and cannot predict with exactnes the dose in tissue when surrounded by air
Deviations are up to 25-30%
Plano del hazHueso craneal
Tumor
Pedro Arce Introduction to GEANT4 57
Pedro Arce Introduction to GEANT4 59
Radfet #2Radfet #4
Radfet #1#3
S300/50G300/50D300/50
D690/15
DG300/50
G690/15
S690/15
DG690/15
Bulk
BulkDiode
Geant4 interface to microelectronic component radiation models
An
a K
eati
ng
(ES
A-E
ST
EC
)
Pedro Arce Introduction to GEANT4 60
Pedro Arce Introduction to GEANT4 61
523 MeV 20Ne in a FinFET
Nuclear reaction fragments generated in an overlayer
TCAD (geometry) Geant4
Geant4 (edep) TCAD