630 likes | 651 Views
http://cern.ch/geant4/geant4.html http://www.ge.infn.it/geant4/. Susanna Guatelli guatelli@ge.infn.it 12 th January 2004, CPS Innovations, Knoxville. Contents. Introduction to Geant4 Geant4 for medical physics Geant4 toolkit Example: Brachytherapy application. What is ?.
E N D
http://cern.ch/geant4/geant4.htmlhttp://www.ge.infn.it/geant4/http://cern.ch/geant4/geant4.htmlhttp://www.ge.infn.it/geant4/ Susanna Guatelli guatelli@ge.infn.it 12th January 2004, CPS Innovations, Knoxville
Contents • Introduction to Geant4 • Geant4 for medical physics • Geant4 toolkit • Example: Brachytherapy application
What is ? • OO Toolkit for the simulation of next generation HEP detectors • ...of the current generation too • ...not only of HEP detectors • already used also in nuclear physics, medical physics, astrophysics, space applications, radiation background studies etc. • It is also an experiment of distributed software production and management, as a large international collaboration with the participation of various experiments, labs and institutes • It is also an experiment of application of rigorous software engineering methodologies and Object Oriented technologies to the HEP environment
Code ~1M lines of code continuously growing publicly downloadable from the web Documentation 6 manuals publicly available from the web Examples distributed with the code navigation between documentation and examples code various complete applications of (simplified) real-life experimental set-ups Platforms Linux, SUN (DEC, HP) Windows-NT: Visual C++ Commercial software None required Can be interfaced (eg: Objectivity for persistency) Free software CVS gmake, g++ CLHEP Graphics & (G)UI OpenGL, X11, OpenInventor, DAWN, VRML... OPACS, GAG, MOMO... The kit 4
Atlas, BaBar, CMS, HARP, LHCB CERN, JNL, KEK, SLAC, TRIUMF ESA, INFN, IN2P3, PPARC Frankfurt, Barcelona, Karolinska, Lebedev COMMON (Serpukov, Novosibirsk, Pittsburg, Northeastern, Helsinki, TERA etc.) Collaboration Board manages resources and responsibilities Technical Steering Board manages scientific and technical matters Working Groups do maintenance, development, QA, etc. Geant4 Collaboration MoU based Distribution, Development and User Support of Geant4 Members of National Institutes, Laboratories and Experiments participating in Geant4 Collaboration acquire the right to the Production Service and User Support For others: free code and user support on best effort basis Budker Inst. of Physics IHEP Protvino MEPHI Moscow Pittsburg University
Tutorial material • Geant4 User Documentation and further training material can be found at Geant4 web site: http://cern.ch/geant4 • After this course, you may profit of Geant4 user support, provided by the Geant4 Collaboration • including a User Forum accessible through HyperNews (link from Geant4 homepage)
The foundation What characterizes Geant4 Or: the fundamental concepts, which all the rest is built upon
Physics From the Minutes of LCB (LHCC Computing Board) meeting on 21 October, 1997: “It was noted that experiments have requirements for independent, alternative physics models. In Geant4 these models, differently from the concept of packages, allow the user to understand how the results are produced, and hence improve the physics validation. Geant4 is developed with a modular architecture and is the ideal framework where existing components are integrated and new models continue to be developed.”
Geant4 architecture Interface to external products w/o dependencies Domain decomposition hierarchical structure of sub-domains • OOAD • use of CASE tools • openness to extension and evolution • contribute to the transparency of physics • interface to external software without dependencies Uni-directional flow of dependencies Software Engineering plays a fundamental role in Geant4 • formally collected • systematically updated • PSS-05 standard User Requirements Software Process • spiral iterative approach • regular assessments and improvements (SPI process) • monitored following the ISO 15504 model Object Oriented methods • commercial tools • code inspections • automatic checks of coding guidelines • testing procedures at unit and integration level • dedicated testing team Quality Assurance Use of Standards • de jure and de facto
The functionalities What Geant4 can do How well it does it
Run and event multiple events possibility to handle the pile-up multiple runs in the same job with different geometries, materials etc. powerful stacking mechanism three levels by default: handle trigger studies, loopers etc. Tracking decoupled from physics: all processes handled through the same abstract interface tracking is independent from particle type it is possible to add new physics processes without affecting the tracking The kernel • Geant4 has only production thresholds, no tracking cuts • all particles are tracked down to zero range • energy, TOF ... cuts can be defined by the user
Describe the experimental set-up • construct all necessarymaterials • define shapes/solidsrequired to describe the geometry • construct and place volumes of your detector geometry • define sensitive detectorsand identify detector volumes to associate them to • associatemagnetic fieldto detector regions • definevisualisation attributesfor the detector elements
Materials • Different kinds of materials can be defined • isotopes G4Isotope • elements G4Element • molecules G4Material • compounds and mixtures G4Material • Attributes associated: • temperature • pressure • state • density
Chandra ATLAS BaBar ATLAS Borexino CMS Geometry Role: detailed detector description and efficient navigation Multiple representations (same abstract interface) • CSG(Constructed Solid Geometries) • - simple solids • STEP extensions • - polyhedra,, spheres, cylinders, cones, toroids, etc. • BREPS(Boundary REPresented Solids) • - volumes defined by boundary surfaces • - include solids defined by NURBS(Non-Uniform Rational B-Splines) CAD exchange: ISO STEP interface Fields: of variable non-uniformity and differentiability External tool for g3tog4 geometry conversion
Read-out Geometry Readout geometry is a virtual and artificial geometry • it is associated to a sensitive detector • can be defined in parallel to the real detector geometry • helps optimising the performance
A sensitive detector creates hits using the information provided by the G4Step One can store various types of information in a hit position and time of the step momentum and energy of the track energy deposition of the step geometrical information etc. A Digi represents a detector output e.g. ADC/TDC count, trigger signal A Digi is created with one or more hits and/or other digits Hits collections are accessible through G4Event at the end of an event through G4SDManager during processing an event Hits and Digis
Generating primary particles • Interface to Event Generators • through ASCII file for generators supporting /HEPEVT/ • abstract interface to Lund++ • Various utilities provided within the Geant4 Toolkit • ParticleGun • beam of selectable particle type, energy etc. • GeneralParticleSource • provides sophisticated facilities to model a particle source • used to model space radiation environments, sources of radioactivity in underground experiments etc. • you can write your own, inheriting from G4VUserPrimaryGeneratorAction • Particles • all PDG data • and more, for specific Geant4 use, like ions
Generate primary events • Derive your concrete class from the G4VUserPrimaryGeneratorAction abstract base class • Pass a G4Event object to one or more primary generator concrete class objects, which generate primary vertices and primary particles • The user can implement or interface his/her own generator • specific to a physics domain or to an experiment
Generating primary particles • Interface to Event Generators • Primary vertices and particles to be stored in G4Event before processing the event • Various utilities provided within the Geant4 Toolkit • ParticleGun • beam of selectable particle type, energy etc. • G4HEPEvtInterface • Suitable to /HEPEVT/ common block, which many of (FORTRAN) HEP physics generators are compliant to • ASCII file input • GeneralParticleSource • provides sophisticated facilities to model a particle source • used to model space radiation environments, sources of radioactivity in underground experiments etc. • You can write your own, inheriting from G4VUserPrimaryGeneratorAction
Ample variety of physics functionalities Uniform treatment of electromagnetic and hadronic processes Abstract interface to physics processes Tracking independent from physics Distinction between processes and models often multiple models for the same physics process (complementary/alternative) Open system Users can easily create and use their own models Transparency(supported by encapsulation and polymorfism) Calculation of cross-sections independent from the way they are accessed (data files, analytical formulae etc.) Distinction between the calculation of cross sections and their use Calculation of the final state independent from tracking Modular design, at a fine granularity, to expose the physics Explicit use of units throughout the code Public distribution of the code, from one reference repository worldwide Physics: general features
Select physics processes • Geant4 does not have any default particles or processes • even for the particle transportation, one has to define it explicitly This is a mandatory and critical user’s task • Derive your own concrete class from the G4VUserPhysicsList abstract base class • define all necessary particles • define all necessary processes and assign them to proper particles • define production thresholds (in terms of range) Read the Physics Reference Manual ! The Advanced Examples offer a guidance for various typical experimental domains
G4ParticleDefinition G4VShortLivedParticles G4VIon G4Electron G4ParticleWithCuts G4Proton G4Alpha G4Geantino G4VLepton G4VBoson G4VMeson G4VBaryon G4PionPlus G4ParticleDefinition G4ProcessManager Process_1 Process_3 Process_2 intrisic particle properties: mass, width, spin, lifetime… sensitivity to physics G4ParticleDefinition • This is realized by a G4ProcessManagerattached to the G4ParticleDefinition • The G4ProcessManagermanages the list of processes the user wants the particle to be sensitive G4ParticleDefinition is the base class for defining concrete particles
G4Track G4DynamicParticle G4ParticleDefinition G4ProcessManager Process_2 Process_1 Process_3 Summary view Propagated by the tracking Snapshot of the particle state Momentum, pre-assigned decay… • The particle type: G4Electron, G4PionPlus… Holds the physics sensitivity The physics processes • The classes involved in building the PhysicsListare: • the G4ParticleDefinition concrete classes • the G4ProcessManager • the processes
Cuts in Geant4 • In Geant4 there are no tracking cuts • particles are tracked down to a zero range/kinetic energy • Only production cuts exist • i.e. cuts allowing a particle to be born or not • Why are production cuts needed ? • Some electromagnetic processes involve infrared divergences • this leads to an infinity [huge number] of smaller and smaller energy photons/electrons (such as in Bremsstrahlung, d-ray production) • production cuts limit this production to particles above the threshold • the remaining, divergent part is treated as a continuous effect (i.e. AlongStep action)
Range vs. energy production cuts • The production of a secondary particle is relevant if it can generate visible effects in the detector • otherwise “local energy deposit” • A range cut allows to easily define such visibility • “I want to produce particles able to travel at least 1 mm” • criterion which can be applied uniformly across the detector • The same energy cut leads to very different ranges • for the same particle type, depending on the material • for the same material, depending on particle type • The user specifies a unique range cut in the PhysicsList • this range cut is converted into energy cuts • each particle (G4ParticleWithCut) converts the range cut into an energy cut, for each material • processes then compute the cross-sections based on the energy cut
Liquid Ar Liquid Ar Pb Pb Effect of production thresholds In Geant3 DCUTE= 455 keV 500 MeV incident proton one must set the cut for delta-rays (DCUTE) either to the Liquid Argon value, thus producing many small unnecessary d-rays in Pb, Threshold in range: 1.5 mm or to the Pb value, thus killing the d-rays production everywhere 455 keV electron energy in liquid Ar 2 MeV electron energy in Pb DCUTE= 2 MeV
Multiple scattering Bremsstrahlung Ionisation Annihilation Photoelectric effect Compton scattering Rayleigh effect g conversion e+e- pair production Synchrotron radiation Transition radiation Cherenkov Refraction Reflection Absorption Scintillation Fluorescence Auger(in progress) High energy extensions needed for LHC experiments, cosmic ray experiments… Low energy extensions fundamental for space and medical applications, dark matter and n experiments, antimatter spectroscopy etc. Alternative models for the same process energy loss Electromagnetic physics • electrons and positrons • g, X-ray and optical photons • muons • charged hadrons • ions Comparable to Geant3 already in the a release (1997) Further extensions (facilitated by the OO technology) All obeying to the same abstract Process interfacetransparent to tracking
Geant4 Geant3 data Standard electromagnetic processes 1 keV up to O(100 TeV) Multiple scattering 6.56 MeV proton , 92.6 mm Si • Multiple scattering • new model (by L. Urbán) • computes mean free path length and lateral displacement • New energy loss algorithm • optimises the generation of d rays near boundaries • Variety of models for ionisation and energy loss • including PhotoAbsorption Interaction model (for thin layers) • Many optimised features • Secondaries produced only when needed • Sub-threshold production Old plot, further improvements with a new model J.Vincour and P.Bem Nucl.Instr.Meth. 148. (1978) 399
Low energy e.m. extensions shell effects Fundamental for neutrino/dark matter experiments, space and medical applications, antimatter spectroscopy etc. Bragg peak e, down to 250 eV (EGS4, ITS to 1 keV, Geant3 to 10 keV) Hadron and ionmodels based on Ziegler and ICRU data and parameterisations Based on EPDL97, EEDL and EADL evaluated data libraries Barkas effect (charge dependence) models for negative hadrons Photon attenuation ions protons antiprotons
Completely different approach w.r.t. the past (Geant3) native transparent no longer interface to external packages clear separation between data and their use in algorithms Cross section data sets transparent and interchangeable Final state calculation models by particle, energy, material Ample variety of models the most complete hadronic simulation kit on the market alternative and complementary models it is possible to mix-and-match, with fine granularity data-driven, parameterised and theoretical models Consequences for the users no more confined to the black box of one package the user has control on the physics used in the simulation, which contributes to the validation of experiment’s results Hadronic physics
Radioactive Decay Module • Handles , -, +, and anti-, de-excitation -rays • can follow all the descendants of the decay chain • can apply variance reduction schemes to bias the decays to occur at user-specified times of observation • Branching ratio and decay scheme data based on the Evaluated Nuclear Structure Data File (ENSDF) • Geant4 photo-evaporation model is used to treat prompt nuclear de-excitation following decay to an excited level in the daughter nucleus • Applications: • underground background • backgrounds in spaceborne -ray and X-ray instruments • radioactive decay induced by spallation interactions • brachytherapy • etc.
Visualisation • (G)UI • Persistency • Analysis Similar approach Interface to external tools in Geant4 Through abstract interfaces Anaphe no dependence minimize coupling of components The user is free to choose the concrete system he/she prefers for each component More in A. Pfeiffer’s talk on Analysis Tools
User Interface in Geant4 • Two phases of user user actions • setup of simulation • control of event generation and processing • User Interface category separated from actual command interpreter • several implementations, all handled through abstract interfaces • command-line (batch and terminal) • GUIs (X11/Motif, GAG, MOMO, OPACS, Java) • Automatic code generation for geometry and physics through a GUI • GGE (Geant4 Geometry Editor) • GPE (Geant4 Physics Editor)
User Interface in Geant4 • Two phases of user actions • setup of simulation • control of event generation and processing • Geant4 provides interfaces for various (G)UI: • G4UIterminal: C-shell like character terminal • G4UItcsh: tcsh-like character terminal with command completion, history, etc • G4UIGAG: Java based GUI • G4UIOPACS: OPACS-based GUI, command completion, etc • G4UIBatch: Batch job with macro file • G4UIXm: Motif-based GUI, command completion, etc • Users can select and plug in (G)UI by setting environmental variables • setenv G4UI_USE_TERMINAL 1 • setenv G4UI_USE_GAG 1 • setenv G4UI_USE_XM 1 • Note that Geant4 library should be installed setting the corresponding environmental variable G4VIS_BUILD_GUINAME_SESSION to “1” beforehand
UI command and messenger (G)UI messenger UImanager Target class command parameter
Visualisation • Geant4 Visualisation must respond to varieties of user requirements • Quick response to survey successive events • Impressive special effects for demonstration • High-quality output to prepare journal papers • Flexible camera control for debugging geometry • Highlighting overlapping of physical volumes • Interactive picking of visualised objects • …
Visualisation • Control of several kinds of visualisation • detector geometry • particle trajectories • hits in the detectors • Visualisation drivers are interfaces to 3D graphics software • You can select your favorite one(s) depending on your purposes such as • Demo • Preparing precise figures for journal papers • Publication of results on Web • Debugging geometry • Etc
Available Graphics Software • By default, Geant4 provides visualisation drivers, i.e. interfaces, for • DAWN : Technical high-quality PostScript output • OPACS: Interactivity, unified GUI • OpenGL: Quick and flexible visualisation • OpenInventor: Interactivity, virtual reality, etc. • RayTracer : Photo-realistic rendering • VRML: Interactivity, 3D graphics on Web
Debugging tools: DAVID • DAVID is a graphical debugging tool for detecting potential intersections of volumes • Accuracy of the graphical representation can be tuned to the exact geometrical description • physical-volume surfaces are automatically decomposed into 3D polygons • intersections of the generated polygons are parsed • if a polygon intersects with another one, the physical volumes associated to these polygons are highlighted in colour (red is the default) • DAVID can be downloaded from the web as an external tool for Geant4
Requirements for LowE p in • UR 2.1The user shall be able to simulate electromagnetic interactions of positive charged hadrons down to < 1 KeV. • Need: Essential • Priority: Required by end 1999 • Stability: T. b. d. • Source: Medical physics groups, PIXE • Clarity: Clear • Verifiability: Verified
Alternative models for the same physics process High energy models fundamental for LHC experiments, cosmic ray experiments etc. Low energy models fundamental for space and medical applications, neutrino experiments, antimatter spectroscopy etc. multiple scattering Bremsstrahlung ionisation annihilation photoelectric effect Compton scattering Rayleigh effect gamma conversion e+e- pair production synchrotron radiation transition radiation Cherenkov refraction reflection absorption scintillation fluorescence Auger Standard Package LowEnergy Package Geant4 e.m. package Muon Package Optical photon Package • It handles • electrons and positrons • gamma, X-ray and optical photons • muons • charged hadrons • ions Geant4 Electromagnetic Physics
Standard electromagnetic processes 1 keV up to 100 TeV • Photons • Compton scattering - g conversion • photoelectric effect • Electrons and positrons • Bremsstrahlung • Ionisation - d ray production • positron annihilation • synchrotron radiation • Charged hadrons • Variety of models for ionisation and energy loss Shower shapes Courtesy of D. Wright (Babar)
Standard electromagnetic physics in Geant4 The model assumptions are: • The projectile has energy 1 keV • Atomic electrons are quasi-free: their binding energy is neglected (except for the photoelectric effect) • The atomic nucleus is free: the recoil momentum is neglected • Matter is described as homogeneous, isotropic, amorphous
Ionisation energy loss produced by charged particles in thin layers of absorbers PhotoAbsorption Ionisation(PAI) 3 GeV/c p in 1.5 cm Ar+CH4 5 GeV/c p in 20.5 mm Si Ionisation energy loss distribution produced by pions, PAI model
The Geant4 Low Energy package • A package in the Geant4 electromagnetic package • geant4/source/processes/electromagnetic/lowenergy/ • A set of processes extending the coverage of electromagnetic interactions in Geant4 down to “low” energy • 250 eV (in principle even below this limit)/100 evfor electrons and photons • down to the approximately the ionisation potential of the interacting material for hadrons and ions • A set of processes based on detailed models • shell structure of the atom • precise angular distributions • Complementary to the “standard” electromagnetic package