maria grazia pia infn genova geant4 collaboration xi giornate sui rivelatori torino, 1-2 march 2001
TRANSCRIPT
An example of how An example of how simulation can be simulation can be
mission-criticalmission-critical
Courtesy of NASA/CXC/SAO
Chandra X-ray Observatory Status Update
September 14, 1999 MSFC/CXC
CHANDRA CONTINUES TO TAKE SHARPEST IMAGES EVER; TEAM STUDIES INSTRUMENT DETECTOR CONCERN
Normally every complex space facility encounters a few problems during its checkout period; even though Chandra’s has gone very smoothly, the science and engineering team is working a concern with a portion of one science instrument. The team is investigating a reduction in the energy resolution of one of two sets of X-ray detectors in the Advanced Charge-coupled Device Imaging Spectrometer (ACIS) science instrument. A series of diagnostic activities to characterize the degradation, identify possible causes, and test potential remedial procedures is underway. The degradation appeared in the front-side illuminated Charge-Coupled Device (CCD) chips of the ACIS. The instrument’s back-side illuminated chips have shown no reduction in capability and continue to perform flawlessly.
An excerpt of a press release
Courtesy of NASA/CXC/SAO
Radiation belt electrons? Scattered in the mirror shells? Effectiveness of Magnetic “brooms” Electron damage mechanism? - NIEL? Other particles? Protons, cosmic rays? Path to CCD? Wall penetration?
What can affect CCD’s on X-ray astronomy missions?What can affect CCD’s on X-ray astronomy missions?
Proposal: set the problem up in Geant4 as a case-study
ESA Space Environment & Effects Analysis Section
EPIC
RGS
Q1Q1
Q2
2
21 4 L
SdEEfEQF
EQ
L
SdEEfEQF 22
21 4
Courtesy of
ESA Space Environment & Effects Analysis Section
CCD displacement damage: front vs. back-illuminated.
30 m 2 m30 m2 m
30 m Si ~1.5 MeV p+
Active layerPassive layer
Basic geometry and co-ordinate system of theTRIM/Geant4 simulations.
θ
βα
X
YZ
“Electron deflector”
Variation in Efficiency with Proton Energy at various source half-angles
1.E-09
1.E-08
1.E-07
1.E-06
1.E-05
1.E-04
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Proton Energy (MeV)
Eff
icie
ncy
EPIC 0.5 deg
EPIC 1 deg
EPIC 4 deg
EPIC 2 deg
EPIC 10 deg
EPIC 30 deg
RGS 0.5 deg
RGS 1 deg
RGS 2 deg
RGS 4 deg
RGS 10 deg
RGS 30 deg
EPIC
RGS
Low-E (~100 keV to few MeV), low-angle (~0°-5°) proton scattering:Obscure problem; not much analysed
Courtesy of
How well can Geant4 simulate How well can Geant4 simulate low energy protons?low energy protons?
Courtesy of R. Gotta, Thesis
What happened next?What happened next?
XMM was launched on 10 December 1999 from Kourou
EPIC image of the two flaring Castor components and the brighter YY Gem
Courtesy of
The role of simulationThe role of simulation
• design design of the experimental set-up• evaluation and definition of the
potential physics outputphysics output of the project
• evaluation of potential risksrisks to the project
• assessment of the performanceperformance of the experiment
• development, test and optimisation of reconstructionreconstruction and physics analysis softwareanalysis software
• contribution to the calculation and validation of physics results physics results
The scope of these lectures (and of
Geant4) encompasses the
simulation of the passage of
particles through matter
• there are other kinds of simulation components, such as physics event generators, detector/electronics response generators, etc.
• often the simulation of a complex experiment consists of several of these components interfaced to one another
Simulation plays a fundamental role in various domains and phases of an experimental physics project
Domains of applicationDomains of application
HEP, nuclear, astrophysics and astro-particle physics experiments• the most “traditional” field of application
Radiation studies• evaluation of safety constraints and shielding for the experimental apparatus
and human beings, on earth and in space
Medical applications• radiotherapy
• design of instruments for therapeutic use
Biological applications• radiation effects (in human beings, food etc.), at cellular and DNA level
…and more
What is required What is required
Modeling the experimental set-up Tracking particles through matter Interaction of particles with matter Modeling the detector response Run and event control Accessory utilities (random number generators, PDG particle information,
physical constants, system of units etc.)
User interface Interface to event generators
Visualisation (of the set-up, tracks, hits etc.) Persistency
Analysis
Fast and full simulationFast and full simulation
Usually in a typical HEP experiment there are two types of simulations Fast simulation
• mainly used for feasibility studies and quick evaluations• coarse set-up description and physics modeling• usually directly interfaced to event generators
Full simulation• used for precise physics and detector studies• requires a detailed description of the experimental set-up and a complex
physics modeling• usually interfaced to event generators and event reconstruction
Traditionally fast and full simulation are done by different programs and are not integrated in the same environment complexity of maintenance and evolution possibility of controversial results
EGS4, EGS5, EGSnrcMCNP, MCNPX, A3MCNP, MCNP-DSP, MCNP4BPenelopeGeant3, Geant4Tripoli-3, Tripoli-3 A, Tripoli-4 PeregrineMVP, MVP-BURNMARS
MCUMORSETRAXMONKMCBENDVMC++LAHETRTS&T-2000
NMTCHERMES FLUKAEA-MCDPMSCALEGEMMF3D
...and I probably forgot some more
Many codes not publicly distributed
A lot of business around MC
The zooThe zoo
Monte Carlo codes presented at the MC200 Conference, Lisbon, October 2000Monte Carlo codes presented at the MC200 Conference, Lisbon, October 2000
Integrated suites vs Integrated suites vs specialised codesspecialised codes
Pro:• the specific issue is treated in great
detail• sometimes the package is based on a
wealth of specific experimental data • simple code, usually relatively easy to
install and use
Contra:• a typical experiment covers many
domains, not just one• domains are often inter-connected
Pro:• the same environment provides all the
functionalityContra:• it is more difficult to ensure detailed
coverage of all the components at the same high quality level
• monolithic: take all or nothing• limited or no options for alternative
models• usually complex to install and use• difficult maintenance and evolution
Specialised packages cover a specific simulation domain
Integrated packages cover all/many simulation domains
The Toolkit approachThe Toolkit approach
A toolkit is a set of compatible components• each component is specialised for a specific functionality• each component can be refined independently to a great detail• components can be integrated at any degree of complexity• components can work together to handle inter-connected domains• it is easy to provide (and use) alternative components• the simulation application can be customised by the user according to his/her
needs• maintenance and evolution - both of the components and of the user
application - is greatly facilitated
...but what is the price to pay?
• the user is invested of a greater responsibility• he/she must critically evaluate and decide what he/she needs and wants to use
The role of GeantThe role of Geant
Geant has been a simulation tool, that provides a general infrastructure for• the description of geometry and materials
• particle transport and interaction with matter
• the description of detector response
• visualisation of geometries, tracks and hits
The user develops the specific code for • the primary event generator
• the geometrical description of the set-up
• the description of the detector response
The past: Geant3The past: Geant3
Geant 3• has been used by most major HEP experiments• frozen since March 1994 (Geant3.21)• ~200K lines of code• equivalent of ~50 man-years, along 15 years• used also in nuclear physics experiments, medical physics, radiation
background studies, space applications etc. The result is a complex system
• because its problem domain is complex• because it requires flexibility for a variety of applications• because its management and maintenance are complex
It is not self-sufficient• hadronic physics is not native, it is handled through the interface to
external packages
User requirements formally collected and coded according to PSS-05 standard
Geant4 User Requirements Document
New simulation requirementsNew simulation requirements
High statistics to be simulated• robustness and reliability for
large scale production Exchange of CAD detector
models• especially relevant for large
scale experiments Transparent physics
• for validation of physics results
Physics extensions to high energies• LHC, cosmic ray experiments...
Physics extensions to low energies• space applications, medical
physics, X-ray analysis, astrophysics, nuclear and atomic physics...
Reliable hadronic physics• not only for calorimetry, but also
for PID applications (CP violation experiments)
...etc.
What is Geant4?What is Geant4?
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, astrophysics, medical physics, space applications, radiation background studies etc.
It is also a successful experiment of distributed software production and distributed software production and managementmanagement, as a large international collaboration with the participation of various experiments, labs and institutes
It is also a successful experiment of application of rigorous software application of rigorous software engineering and Object Oriented technologiesengineering and Object Oriented technologies to the HEP environment
Approved as R&D end 1994> 100 physicists and software engineers~ 40 institutes, international collaborationresponded to DRCC/LCB
Milestones: end 1995• OO methodology, problem
domain analysis, full OOAD• tracking prototype,
performance evaluation Milestones: spring 1997
• release with the same functionality as Geant 3.21
• persistency (hits), ODBMS • transparency of physics
models Milestone: July 1998
• public release Milestone: end 1998
• production release: Geant4.0, end of the R&D phase
All milestones have been met by RD44
Reconfiguration at the end of the R&D phase• International Geant4 Collaboration
since 1/1/1999
• Management of the production phase
• Continuing R&D also in the production phase
RD44RD44
Members of National Institutes, Laboratories and Experiments participating in Geant4 Collaboration acquire the right to the Production Service and User SupportFor others: free code and user support on best effort basis
Budker Inst. of PhysicsIHEP ProtvinoMEPHI Moscow Pittsburg University
MoU basedDistribution, development and User Support
Geant4 CollaborationGeant4 Collaboration
Atlas, BaBar, CMS, HARP, LHCB CERN, JNL,KEK, SLAC, TRIUMF ESA, Frankfurt Univ., IGD, IN2P3,
Karolinska Inst., Lebedev, TERA COMMON (Serpukov, Novosibirsk,
Pittsburg etc.) other memberships currently being
discussed
Collaboration Boardmanages resources and responsibilities
Technical Steering Boardmanages scientific and technical matters
Working Groupsmaintenance, development, QA, etc.
OutlineOutline
• Motivations for software engineering in HEP
• The software process
• Components of the software life-cycle
• Object Oriented technologies
• Brief digression on basic OO concepts
• OOAD in Geant4
• Quality Assurance
• Standards
The benefits of software engineeringThe benefits of software engineering
The way to progress is to study and improve the way software is produced• better technology only helps once the organizational framework is set • there is evidence that going for new technology instead of improving the process
can make things worst The practices of SPI are well established, and have been applied in a large
number of organizations for several years • the results prove that the economical benefits are largely worth the investment• early defect detection, time to market, and quality also improve, to the point that the
return on investment for SPI is about 500%
The goal: producing better softwarebetter software at lower costlower cost, within predictable resource allocationspredictable resource allocations and time estimatestime estimates, and happier users of the software
the the peoplepeople involvedinvolved the organization of the development the organization of the development processprocess the the technologytechnology used used
Three key components:
Software life-cycleSoftware life-cycleVarious phases:
User Requirements definition Software Requirements definition Architectural Design Detailed Design and construction Delivery to the user Operations
Frequently the tasks of different life cycle phases are performed somewhat in parallel
to consider them disjoint in time is a simplification
It is however important• to distinguish them logically• to identify documents that are
the outcome of the various phases
The software processThe software process
Complex domain, evolving, with many types of models available
Examples of software process models:
The Waterfall model• analysis design coding• each phase starts following the completion of the previous one
The Iterative Incremental Development model• cycles of analysis design coding, with incremental refinement
It is the set of actions, tasks and procedures involved in producing a software system, through its life-cycle
Software process standardsSoftware process standards
Capability Maturity Model • Software Engineering Institute
SPICE, ISO 15504 • the path to an international
standard PSS-05, ECSS
• ESA
• Development or Engineering processes: system and software requirements analysis, software design, software construction, software integration and unit testing, software maintenance
• Documentation• Configuration and Change Management• Problem Resolution• Quality Assurance and Measurement• System Testing, Acceptance and Releasing• Verification and Validation• Reviews, Audits and Joint Reviews• Project tasks Management• Improvement Process• Process Establishment• Human resource Management• Infrastructure• User Support, Distribution
Primary life-cycle of software Primary life-cycle of software developmentdevelopment
Supporting life-cycleSupporting life-cycle
Management processManagement process
Organizational life-cycleOrganizational life-cycle
User-supplier processesUser-supplier processes etc.etc.
Process categoriesProcess categories
Why software engineering in HEP?Why software engineering in HEP?
Software engineering is somewhat new to the HEP environmentSoftware engineering is somewhat new to the HEP environment• other engineering branches more consolidated in this environment (mechanics,
electronics, accelerators etc.)
Benefits derive from a rigorous approach to softwareBenefits derive from a rigorous approach to software• the lesson can be learned from the world of software professionals!
• even the most talented professionals need an organized environment to do cooperative work
• advanced technology cannot be fully effective without an organizational framework
Software Engineering plays a fundamental role in Geant4Software Engineering plays a fundamental role in Geant4
Software processSPI
User requirementsOOADQuality Assurance
The software process in Geant4The software process in Geant4
Spiral-type life-cycle model adopted in Spiral-type life-cycle model adopted in most domainsmost domains• both iterative and incremental
• a large international collaboration• complex software• mature categories in production and maintenance mode as well as categories in full development• sensitive and mission-critical user applications• product with a long life-time
OOADOOAD
implementationimplementation
testingtesting
Software Process ImprovementSoftware Process Improvement•understand, determine and propose procedures to software development and maintenance•gradual process, life-cycle driven•regular assessment, according to the ISO 15504 model
A challenge:
RequirementsRequirements
Requirements are the quantifiable and verifiable
• behaviours that a system must possess
• constraints that a system must work within
User requirementsUser requirements• this phase defines the scope of the system
Software requirementsSoftware requirements• this is the analysis phase of a software project
• builds a model describing what the software has to do (not how to do it)
Requirements are subject to evolution in the lifetime of a software project! ability to cope with the evolution of the requirements
Geant4 requirementsGeant4 requirements
Geant4 has adopted a rigorous approach to requirements
• user requirements collected from the user communities in the initial phase
• coded according the PSS-05 software engineering standard
• continuously updated
Geant4 User Geant4 User Requirements Requirements DocumentDocument
CERN, European Laboratory for Particle Physics
GEANT4 OO Toolkit for Particle Detector Simulation
User Requirements Document Version 5.0
Reference GEANT4-URD-v5.0 Created on 6 December, 1994 Last modified 31 October, 1995 Status Under Review
Prepared By Katsuya Amako Giuseppe Ballocchi
Object Oriented technologyObject Oriented technology
OO technology is built upon a sound engineering foundation, whose elements are called the object modelobject model
The object model encompasses the principles of • abstraction• encapsulation• modularity• hierarchy• typing• concurrency• persistence
brought together in a synergistic way
Geant4 is based on Object Oriented technologyGeant4 is based on Object Oriented technology
What is an object?What is an object?
G. Booch (in OOAD with Applications):
“An object has statestate, , behaviorbehavior and identityidentity; the structure and behavior of similar objects are defined in their common classclass”.
Some fundamental concepts in OOD -1Some fundamental concepts in OOD -1
The Open Closed Principle Open for extension, Closed for modification
• A software module that is designed to be reusable, maintainable and robust must be extensible without requiring modification
• new features are added by adding new code, rather than by changing old, already working, code
• The primary mechanisms behind are abstraction and polymorphism
The Liskov Substitution Principle Functions that use pointers or references to base classes must be able
to use objects of derived classes without knowing it• Derived types must be substitutable for their base types• It is an important feature for conforming to the OCP
Some fundamental concepts in OOD -2Some fundamental concepts in OOD -2
The Dependency Inversion Principle Modules that implement high level policy should not depend on the
modules that implement low level details
• Both high level policy and low level details should depend on abstractions
• This ensures reusability and maintainability
• The interdependence makes a design rigid, fragile and immobile: a single change triggers a cascade of changes in dependent modules
The Interface Segregation Principle Clients should not be forced to depend on interfaces that they do not use
• Polluted interfaces generate unnecessary couplings
• We want to separate interfaces whenever possible to avoid the disadvantages of couplings
AnalysisAnalysis
Webster definitions:Webster definitions: separation or breaking up of a whole into its fundamental elements or
component parts a detailed examination of anything complex the practice of proving a mathematical proposition by assuming the result and
reasoning back to the data or already established principles
In the software world:In the software world: it is the decomposition of a problem into its constituent parts it is accomplished by beginning with a set of stated requirements, and reasoning
back from those requirements to a set of established software components and structures
OOA is the act of determining the abstractions that underlie the requirements In OOA the components are objects and their collaborations
DesignDesign
Design embodies the set of decisions that determine how the components will look like
In OOD typically class inheritance and composition hierarchies are among the decisions
OOA and OOD cooperate synergically• they are best done concurrently
The output of OOAD is a set of class and object diagrams, showing• the static structure• the collaborations
UML: Unified Modeling LanguageUML: Unified Modeling Language
UML represents a unification of the concepts and notations previously in use (Booch, OMT, Jcobson)
UML has a standard data representationstandard data representation (the Meta-ModelMeta-Model)• the Meta-Model is a description of UML in UML• it describes the objects, attributes and relationships necessary to
represents the concepts of UML within a software application
UML notation notation is comprised of two major subdivisions:• a notation for modeling the static elementsstatic elements of a design (classes,
attributes, relationships...)• a notation for modeling the dynamic elementsdynamic elements of a design (objects,
messages, finite state machines...)
UML is the industry-standard language for specifying, visualising, constructing and documenting the design of software systems
C++C++
OO technology and C++ are not equivalent!• OO methodologies can be implemented in a variety of
languages, not only in C++• One can write procedural code in C++, that is not object
oriented
C++ provides many features that make it suitable for OO implementations of large scale software projects
An overview of C++ language features and OO technology is beyond the scope of these lectures
Many textbooks, courses and online material are available as learning aids, eg.• I. Pohl, OO programming using C++• S. B. Lippman, J. Lajoie, C++ primer• B. Stroustrup, The C++ programming language• G. Booch, OO analysis and design• R. Martin, Designing OO C++ applications using the Booch method
OO design fundamental for distributed parallel approach Every part can be developed, refined, maintained independently Problem domain decomposition and OOAD result into a unidirectional dependency of class categories
FlexibilityFlexibilityalternative models and implementations
Interface to external software, Interface to external software, without dependencieswithout dependencies
• databases for persistency• visualisation libraries• tools for UI• etc.
OO technologyOO technology in Geant4 in Geant4
Openness to evolutionOpenness to evolution Extensibility, implementation of
new models and algorithms without interfering with existing software
The user can extend the toolkit with his/her model and data
TransparencyTransparencydecoupling from implementation
Booch methodology adopted for OOAD choice resulting from a thorough study of various models
Geant4 Geant4 architecturearchitecture
exploits advanced Software Engineering techniques and Object Oriented technology to achieve transparency of physics implementation.
OO design: an example of a detailed designOO design: an example of a detailed design
Class diagram of Low Energy e.m.
processes: hadrons
Quality AssuranceQuality Assurance
Commercial tTestingUnit testing
• in most cases down to class level granularity
Integration testing• sets of logically connected classes
Test-bench for each category• eg.: test-suite of 375 tests for hadronic
physics parameterised models
System testing• exercising all Geant4 functionalities in
realistic set-ups
Physics testing• comparisons with experimental data
Extensive use of QExtensive use of QA A systemssystems in Geant4 in Geant4 fundamental for a toolkit of wide public use
StandardsStandards
UnitsUnits• Geant4 is independent from the system of units• all numerical quantities expressed with their units
explicitly• user not constrained to use any specific system of units
Geant4 adopts standards, ISO and de facto
OpenGL e VRML for graphics
CVS for code management
C++ as programming language
STEPengineering and CAD systems
ODMG RD45
Have you heard of
the “incident” with
NASA’s Mars
Climate Orbiter
($125 million)?
Data librariesData libraries
Systematic collection and evaluation of experimental data from many sources worldwide
Databases• ENDF/B, JENDL, FENDL, CENDL, ENSDF,JEF, BROND, EFF,
MENDL, IRDF, SAID, EPDL, EEDL, EADL, SANDIA, ICRU etc.
Collaborating distribution centres• NEA, LLNL, BNL, KEK, IAEA, IHEP, TRIUMF, FNAL, Helsinki,
Durham, Japan etc.
The use of evaluated data is important for the validation of physics results of the experiments
PhysicsPhysics
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 differently from the concept
of packagesof 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.”
The approach to physicsThe approach to physics
Ample variety of independent, alternative physics independent, alternative physics modelsmodels available in Geant4
No more black boxes of packages
The users are directly exposed to the physicsexposed to the physics they use in their simulation
This approach is fundamental for the validationfundamental for the validation of the experiments’ physics results
Features of Geant4 PhysicsFeatures of Geant4 Physics
Abstract interface to physics processes
• tracking independent from the type of process
Distinction between processes and models
• often multiple models for the same process
The generation of the final statefinal state is independent from the access and use of cross sections and from tracking
Transparent access to • cross sections (formulae, data sets
etc.)• models underlying physics
processes
An abundant set of electromagnetic electromagnetic and hadronichadronic physics processes and models, both complementary and alternative
Use of public evaluated databasesevaluated databases
The transparency of the physics implementation contributes to the validation of experimental physics results
OOD allows to implement or modify any physics process without changing other parts of the software
open to extension and evolutionopen to extension and evolution
The Geant4 kitThe Geant4 kit
Code• ~1M lines of code, ~2000 classes
• continuously growing
• publicly available from the web
Documentation• 6 manuals
• publicly available from the web
Examples• distributed with the code
• navigation between documentation and examples code
What is needed to run Geant4What is needed to run Geant4
Platforms• DEC, HP, SUN: native compilers,
g++• Linux: g++• Windows-NT: Visual C++
Commercial software• ObjectStore STL (optional)
Free software• CVS• gmake, g++• CLHEP
Graphics• OpenGL, X11, OpenInventor,
DAWN, VRML...
• OPACS, GAG, MOMO...
Persistence• it is possible to run in transient
mode
• in persistent mode use a HepDB interface, ODMG standard
Geant4 source code and libraries are freely available athttp://wwwinfo.cern.ch/asd/geant4/source/source.html
DocumentationDocumentation
User Documentation• Introduction to Geant4
• Installation Guide
• Geant4 User’s Guide - For Application Developers
• for those wishing to use Geant4
• Geant4 User’s Guide - For Toolkit Developers
• for those wishing to extend Geant4 functionality
• Software Reference Manual• documentation of the public interface of
all Geant4 classes
• Physics Reference Manual• extended documentation on Geant4
physics
Examples• a set of Novice, Extended and Advanced
examples illustrating the main functionalities of Geant4 in realistic set-ups
The Gallery• a web collection of performance and
physics evaluations http://wwwinfo.cern.ch/asd/geant4/reports/
gallery
Publication and Results web page http://wwwinfo.cern.ch/asd/geant4/reports/reports.html
http://wwwinfo.cern.ch/asd/geant4/geant4.html
User supportUser support
The Geant4 User Support covers the • provision of help and analysis of code-related problems
• the consultancy
• the requests for enhancement or new developments
• the investigation of anomalous results The User Support is provided by the Geant4 Collaboration Major advantages for the users of this distributed approach are:
• a large number of people performs the support, and always on the domain of their competence or even on the code they developed themselves;
• a large number of contact/reference points for the users are available, avoiding the channeling of all problems through the same support people and thus improving efficiency
Geant4 User Support is extensively described at http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Welcome/
IntroductionToGeant4/html/introductionToGeant4.html#7
RunRun
As an analogy of the real experiment, a run of Geant4 starts with “Beam On”.
Within a run, the user cannot change• detector geometry
• settings of physics processes
---> detector is inaccessible during a run
Conceptually, a run is a collection of events which share the same detector conditions.
EventEvent
At beginning of processing, an event contains primary particles. These primaries are pushed into a stack.
When the stack becomes empty, processing of an event is over.
G4Event class represents an event. It has following objects at the end of its processing. • List of primary vertexes and particles
• Trajectory collection (optional)
• Hits collections
• Digits collections (optional)
TrackTrack
Track is a snapshot of a particle Step is a “delta” information to a track
A track is made out of three layers of class objects.• G4Track
• Position, volume, track length, global ToF
• ID of itself and mother track
• G4DynamicParticle
• Momentum, energy, local time, polarization
• Pre-fixed decay channel
• G4ParticleDefinition
• Shared by all G4DynamicParticle of same type
• Mass, lifetime, charge, other physical quantities
• Decay table
StepStep Step has two points and also “delta” information of a particle (energy loss on the step, time-of-flight spent by the step, etc.).
Begin of step point
End of step pointStep
Boundary
TrajectoryTrajectory Trajectory is a record of a track history. It stores some information of all steps done by the track as objects of G4TrajectoryPoint class.
How Geant4 runsHow Geant4 runs
Initialization• Construction of material and geometry
• Construction of particles, physics processes and calculation of cross-section tables
“Beam-On” = “Run”• Close geometry --> Optimize geometry
• Event Loop
---> More than one runs with different
geometrical configurations
InitializationInitializationmain Run manager user detector
constructionuser physics
list
1: initialize2: construct
3: material construction
4: geometry construction5: world volume
6: construct
7: physics process construction
8: set cuts
Beam onBeam on
main Run Manager Geometry manager
Event generator
EventManager
1: Beam On2: close
3: generate one event
4: process one event
5: open
loop
Event processingEvent processing
Event manager
Stacking manager
Tracking manager
Stepping manager
User sensitive detector
1: pop
2: process one track3: Stepping
4: generate hits
5: secondaries
6: push
Detector DescriptionDetector Description
Authors: John Apostolakis and Gabriele Cosmo
Geant4 Training Kit Geant4 Training Kit
Concepts for Detector DescriptionConcepts for Detector Description
The following concepts will be described: Material Detector Geometry Sensitive Volumes Hits
Definition of MaterialsDefinition of Materials
Different kinds of materials can be defined:• isotopes <> G4Isotope
• elements <> G4Element
• molecules <> G4Material
• compounds and mixtures <> G4Material
Attributes associated:• temperature, pressure, state, density
Creating a Detector VolumeCreating a Detector Volume
Start with its Shape & Size• Box 3x5x7 cm, sphere R=8m
Add properties:• material, B/E field,
• make it sensitive
Place it in another volume• in one place
• repeatedly using a function
SolidSolid
Logical VolumeLogical Volume
Physical volumePhysical volume
Define detector geometryDefine detector geometry
Three conceptual layers• G4VSolid -- shape, size• G4LogicalVolume -- daughter phys. volumes, material, sensitivity, user limits, etc.• G4VPhysicalVolume -- position, rotation
G4Box
G4Tubs
G4VSolid G4VPhysicalVolume
G4Material
G4VSensitiveDetector
G4PVPlacement
G4PVParametrized
G4VisAttributes
G4LogicalVolume
Detector geometry: SolidsDetector geometry: Solids
Many Solids exist in G4 (G4VSolid)
• CSG solidsCSG solids• G4Box, G4Tubs, G4Cons, G4Trd, etc.
• Analogous to simple GEANT3 solids
• BREP solidsBREP solids• G4BREPSolidPolycone, G4BSplineSurface, etc.
• Boolean solidsBoolean solids• G4UnionSolid, G4SubtractionSolid, etc.
• STEP interfaceSTEP interface• to import BREP solid models from CAD systems
SolidsSolids
STEP compliant solid modeller Constructed Solids (CSGs)
• Boxes, Cylinders, Spherical shells
Boundary Represented (BREPs)• any order surface, NURBS
Could be: User defined: 7 functions
• inside, distance in/out (x2), extent
What is a BREP?What is a BREP?
BREP=Boundary Represented SolidListing all its surfaces specifies a solid
• e.g. 6 squares for a cube
Surfaces can be• planar, 2nd or higher order• Splines, B-Splines, NURBS
• NURBS=Non-Uniform B-Splines
How we use CAD geometriesHow we use CAD geometries
Our BREP library contains all code • needed for ISO STEP AP203
We import the solid descriptions of detector models from CAD systems • for example from Euclid & Pro/Engineer
• using STEP AP203 files
So we support tracking in boundary represented solids created in CAD
repeated
placement
Physical VolumesPhysical Volumes
Placement: it is one positioned volume Repeated: a volume placed many times
• can represent any number of volumes
• reduces use of memory.
• Replica: simple repetition, like G3 divisions
• Parameterised
A mother volume can contain either • many placement volumes OR
• one repeated volume
Magnetic fieldMagnetic field
In order to propagate a particle inside a field (e.g. magnetic, electric or both), we integrate the equation of motion of the particle in the field.
In general this is best done using a Runge-Kutta method for the integration of ordinary differential equations. Several Runge-Kutta methods are available.
In specific cases other solvers can also be used: • In a uniform field, as the analytical solution is known.
• In a nearly uniform field, where we perturb it.
Things one can do with Geant4 geometryThings one can do with Geant4 geometry
One can do operations with
solids
These figures were visualised with
Geant4 Ray Tracing tool
...and one can describe complex geometries, like
Atlas silicon detectors
Borexino at Gran Sasso Lab.
BaBar at SLAC Chandra XMM-Newton (ESA)
ATLAS at LHC, CERNGLAST
CMS at LHC, CERN
A selection of geometry applicationsA selection of geometry applications
Magnetic fieldMagnetic field
Once a method is chosen that allows G4 to calculate the track's motion in a field, we break up this curved path into linear chord segments.
We determine the chord segments so that they closely approximate the curved path.
We use the chords to interrogate the Navigator, to see whether the track has crossed a volume boundary.
Magnetic fieldMagnetic field
You can set the accuracy of the volume intersection, • by setting a parameter called the “miss distance”
• it is a measure of the error in whether the approximate track intersects a volume.
• Default “miss distance” is 3 mm. One step can consist of more than one chords.
• In some cases, one step consists of several turns.
miss distance
StepChords
real trajectory
Readout geometry Readout geometry
Readout geometry is a virtual and artificial geometry which can be defined in parallel to the real detector geometry.
A readout geometry is optional. Each one is associated to a sensitive detector.
Sensitive detector and HitSensitive detector and Hit
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 are collected in a G4Event object at the end of an event.
HitsHits
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
Digit represents a detector output (e.g. ADC/TDC count, trigger signal).
Digit is created with one or more hits and/or other digits by a concrete implementation derived from G4VDigitizerModule.
DigitisationDigitisation
Electromagnetic PhysicsElectromagnetic Physics
Authors: M. Maire, P. Nieminen, M.G. Pia, L. Urban
Geant4 Training Kit Geant4 Training Kit
ProcessesProcesses
Processes describe how particles interact with material or with a volume itself
Three basic types• At rest process • (e.g. decay at rest)
• Continuous process • (e.g. ionization)
• Discrete process • (e.g. decay in flight)
Transportation is a process• interacting with volume boundary
A process which requires the shortest interaction length limits the step
Electromagnetic physicsElectromagnetic physics
It handles• electrons and positrons , X-ray and optical photons• muons• charged hadrons• ions
Comparable to Geant3 already in the 1st release (1997)
High energy extensionsHigh energy extensions• fundamental for LHC experiments, cosmic ray experiments
etc.
Low energy extensionsLow energy extensions• fundamental for space and medical applications, neutrino
experiments, antimatter spectroscopy etc. Alternative models for the same physics Alternative models for the same physics
processprocess
energy loss
multiple scattering Cherenkovtransition radiationionisationBremsstrahlungannihilationphotoelectric effect Compton scattering Rayleigh effect conversione+e- pair productionrefractionreflectionabsorptionscintillationsynchrotron radiationfluorescenceAuger effect (in progress)
OO designOO design
Alternative models, obeying the same abstract interface, are provided for the same physics interaction
Top level class diagram of electromagnetic physics
Production thresholdsProduction thresholds
No tracking cuts, only production thresholdsproduction thresholds
• thresholds for producing secondaries are expressed in rangerange, universal for all media
• converted into energy for each particle and material
It makes better sense to use the range cut-off• Range of 10 keV gamma in Si ~ a few cm
• Range of 10 keV electron in Si ~ a few micron
Effect of production thresholdsEffect of production thresholds
PbLiquid
Ar
Liquid ArPb
500 MeV incident proton
Threshold in range: 1.5 mm
455 keV electron energy in liquid Ar
2 MeV electron energy in Pb
one must set the cut for delta-rays (DCUTE) either to the Liquid Argon value, thus producing many small unnecessary -rays in Pb,
or to the Pb value, thus killing the -rays production everywhere
In Geant3Geant3DCUTE = 455 keV
DCUTE = 2 MeV
Standard electromagnetic processesStandard electromagnetic processes
PhotonsPhotons Compton scattering conversion photoelectric effect
Electrons and positronsElectrons and positrons• Bremsstrahlung• ionisation
continuous energy loss from Bremsstrahlung and ionisation
ray production positron annihilation synchrotron radiation
Charged hadronsCharged hadrons
Shower profile, 1 GeV e- in water
J&H Crannel - Phys. Rev. 184-2 August69
Features of Standard e.m. processesFeatures of Standard e.m. processes
Multiple scatteringMultiple scattering• new model• computes mean free path length and
lateral displacement
Ionisation featuresIonisation features• 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
Photo Absorption Photo Absorption Ionisation ModelIonisation Model
Ionisation energy loss distribution produced by pions, PAI model
3 GeV/c in 1.5 cm Ar+CH45 GeV/c in 20.5 m Si
Ionisation energy loss produced by charged particles in thin layers of absorbers
Low energy e.m. Low energy e.m. extensionsextensions
e, down to 250 eV
Geant3 down to 10 keV
(positrons in progress)
Fundamental for space and medical applications, neutrino experiments, antimatter spectroscopy etc.
Low energy hadrons and ions models based on Ziegler and ICRU data and parameterisations Barkas effect:
models for antiprotons
Photon transmission on 1 mm Al
Low energy extensions: eLow energy extensions: e--,,
Based on EPDL97, EEDL and EADL evaluated data libraries
• cross sections
• sampling of the final state
Photoelectric effect Compton scattering Rayleigh scattering Bremsstrahlung Ionisation Fluorescence
250 eV up to 100 GeV250 eV up to 100 GeV
Geant3.21
Geant4
C, N, O line emissions included
10 keV limit
250 eV limit
0.01 0.1 1 100.01
0.1
1
10
100
1000
Geant4 LowEn NIST
/ (
cm 2
/g)
in ir
on
Photon Energy (MeV)
Fe
0.01 0.1 1 10-16
-14
-12
-10
-8
-6
-4
-2
0
2
4
6
8
10
12
14
16
Delta = (NIST-G4EMStand) / NIST
Delta = (NIST-G4LowEn) / NIST
Del
ta (
%)
Photon Energy (MeV)
water
Photon attenuation coefficientPhoton attenuation coefficientComparison of Geant4 electromagnetic processes with NIST data
Example of application of Geant4 Low Example of application of Geant4 Low Energy e.m. processesEnergy e.m. processes
Low energy extensions: hadrons and ionsLow energy extensions: hadrons and ions
E > 2 MeV Bethe-Bloch
1 keV < E < 2 MeV parameterisations• Ziegler 1977, 1985• ICRU 1993• corrections due to chemical formulae
of materials• nuclear stopping power
E < 1 keV free electron gas model
Barkas effect taken into account
• quantum harmonic oscillator model
Various models, depending on the energy range and the chargeVarious models, depending on the energy range and the charge
Muon processesMuon processes
High energy extensions based on theoretical models
Bremsstrahlung Ionisation and ray production e+e- Pair production
simulation of ultra-high energy and cosmic ray physics
Validity range: 1 keV up to 1000 PeV scale1 keV up to 1000 PeV scale
Processes for optical photonsProcesses for optical photons
Optical photon its wavelength is much greater than the typical atomic spacing
Production of optical photons in HEP detectors is mainly due to Cherenkov effect and scintillation
Optical properties, e.g. dielectric coefficient, surface smoothness, can be set to a G4LogicalVolume
Processes in Geant4Processes in Geant4• in-flight absorption• Rayleigh scattering• reflection and refraction on
medium boundaries Track of a photon entering a light concentrator CTF-Borexino
Examples of application of Geant4 e.m. physicsExamples of application of Geant4 e.m. physics
Sampling calorimeter
The plot is the visible energy in silicon as a function of the energy of the incident electron
The experimental results are from: Sicapo Collaboration, NIM A332 (85-90) 1993
Hadronic physicsHadronic physics Completely different approach w.r.t. the pastCompletely different approach w.r.t. the past
• transparent• native, no longer interface to external packages• clear separation between data and their use in algorithms
Cross section data setsCross section data sets• transparent and interchangeable
Final state calculationFinal state calculation• models by particle, energy, material
Ample variety of modelsAmple variety of models • the most completecomplete hadronic simulation kit on the market• alternativealternative and complementary complementary models • it is possible to mix-and-match, with fine granularity• data-driven, parameterised and theoretical modelsdata-driven, parameterised and theoretical models
The user has control on the physics used in the simulation, which contributes to the validation of physics
results
Hadronic physicsHadronic physicsParameterised and data-driven models (1)Parameterised and data-driven models (1)
Based on experimental data Some models originally from GHEISHA
• completely reengineered into OO design• refined physics parameterisations
New parameterisations• pp, elastic differential cross section• nN, total cross section• pN, total cross section• np, elastic differential cross section N, total cross section N, coherent elastic scattering
p elastic scattering on Hydrogen
Hadronic physicsHadronic physicsParameterised and data-driven models (2)Parameterised and data-driven models (2)
Other models are completely new, such as• stopping particles (- , K- )
• neutron transport
• isotope production
NeutronsCourtesy of CMS
nuclear deexcitation
absorption
Stopping
MeV
Energy
All existing databases worldwide used in neutron transport
Brond, CENDL, EFF, ENDFB, JEF, JENDL, MENDL etc.
Hadronic physicsHadronic physicsTheoretical modelsTheoretical models
They fall into different parts• the evaporation phase• the low energy range, pre-equilibrium, O(100 MeV),• the intermediate energy range, O(100 MeV) to O(5 GeV), intra-nuclear
transport• the high energy range, hadronic generator régime
Geant4 provides complementary theoretical models to cover all the various parts
Geant4 provides alternative models within the same part
All this is made possible by the powerful Object Oriented design of Geant4 hadronic physics
Easy evolution: new models can be easily added, existing models can be extended
An example of user applicationAn example of user application
1 2 3 4 5 6 7 8 9 10111213141516171819202122 23 24 25 26 27
152 cm Copper + 189 mm Plastic
CMS HCAL Test-Beam Setup
Courtesy of CMS Collaboration
Event biasingEvent biasing
Geant4 provides facilities for event biasing
The effect consists in producing a small number of secondaries, which are artificially recognized as a huge number of particles by their statistical weights
Event biasing can be used, for instance, for the transportation of slow neutrons or in the radioactive decay simulation
Fast SimulationFast Simulation
Author: Marc Verderi
A shortcut to the tracking
Geant4 Training Kit Geant4 Training Kit
Fast simulationFast simulation
Geant4 allows to perform full simulation and fast simulation in the same environment
Geant4 parameterisation produces a direct detector response, from the knowledge of particle and volume properties• hits, digis, reconstructed-like objects (tracks, clusters etc.)
Great flexibility• activate fast /full simulation by detector example: full simulation for inner detectors, fast simulation per calorimeters• activate fast /full simulation by geometry region example: fast simulation in central areas and full simulation near cracks• activate fast /full simulation by particle type example: in e.m. calorimeter e/ parameterisation and full simulation of hadrons• parallel geometries in fast/full simulation example: inner and outer tracking detectors distinct in full simulation, but handled
together in fast simulation
GeneralitiesGeneralities
Fast Simulation, also called parameterisation, is a shortcut to the tracking.
Fast Simulation allows you to take over the tracking to implement your own fast physics and detector response.
The classical use case of fast simulation is the shower parameterisation where the typical several thousand steps per GeV computed by the tracking are replaced by a few ten of deposits per GeV.
Parameterisations are generally experiment dependent.
Parameterisation featuresParameterisation features Parameterisations take
place in an envelope. This is typically the mother volume of a sub-system or of a large module of such a sub-system.
Parameterisations are often particle type dependent and/or may apply only to some.
They are often not applied in complicated regions.
G4FastSimulationManager
ModelForElectrons
ModelForPions
« envelope »(G4LogicalVolume)
Multiple Scattering
G4Transportation
G4FastSimulationManagerProcess
Process xxx
G4Track
G4ProcessManager
Placements
Summary Picture of Fast Simulation MechanismSummary Picture of Fast Simulation Mechanism
The Fast Simulation components are indicated in blue.
When the G4Track travels inside the volume of the envelope, the G4FSMP looks for a G4FastSimulationManager.
If one exists, at the beginnig of each step in the envelope, the models are messaged to check for a trigger.
In case a trigger is issued, the model is applied at the point the G4track is.
Otherwise, the tracking proceeds with a normal step.
Example of integrated Fast/Full Simulation applicationExample of integrated Fast/Full Simulation application
BaBar Object-oriented Geant4-based Unified Simulation (BOGUS)• Integrated framework for Fast and Full simulation• Fast simulation available for public use since February 1999• Integrated in BaBar environment
• primary generators, reconstruction, OODB persistency • parameters for materials and geometry shared with reconstruction
applications
Courtesy of G. Cosmo
Visualisation and (G)UIVisualisation and (G)UI
Authors: Hajime Yoshida and Satoshi Tanaka
Geant4 Training Kit Geant4 Training Kit
IntroductionIntroduction
Geant4 Visualisation must respond to varieties of user requirements. For example,
• 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
• Etc.
Visualisable Objects (1)Visualisable Objects (1)
You can visualise simulation data such as:
• Detector components
• A hierarchical structure of physical volumes
• A piece of physical volume, logical volume, and solid
• Particle trajectories and tracking steps • Hits of particles in detector components
Visualisation is performed either with commandscommands or by
writing C++ source codesC++ source codes of user-action classes
Visualisable Objects (2)Visualisable Objects (2)
You can also visualise other user defined objects such as:
• A polylinepolyline, that is, a set of successive line segments for, e.g., coordinate axes
• A markermarker which marks an arbitrary 3D position,for, e.g., eye guides
• TextsTexts, i.e., character strings for description, comments, or titles
Visualisation DriversVisualisation Drivers
Visualisation drivers are interfaces to 3D graphics software
You can select your favourite 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 SoftwareAvailable Graphics Software
By default, Geant4 provides visualisation drivers, i.e. interfaces, for
• DAWNDAWN : Technical High-quality PostScript output
• OPACSOPACS: Interactivity, unified GUI
• OpenGLOpenGL: Quick and flexible visualisation
• OpenInventorOpenInventor: Interactivity, virtual reality, etc.
• RayTracerRayTracer : Photo-realistic rendering
• VRMLVRML: Interactivity, 3D graphics on Web
Select (G)UISelect (G)UI
Geant4 provides the following interfaces for various (G)UI:
• G4UIterminalG4UIterminal: C-shell like character terminal
• G4UItcshG4UItcsh: tcsh-like character terminal with command completion, history, etc.
• G4UIGAGG4UIGAG: Java based GUI
• G4UIOPACSG4UIOPACS: OPACS-based GUI, command completion, etc.
• G4UIBatchG4UIBatch: Batch job with macro file
• G4UIXmG4UIXm: Motif-based GUI, command completion, etc.
Useful GUI Tools Released by Geant4 Useful GUI Tools Released by Geant4 DevelopersDevelopers
GGE: Geometry editor based on Java GUI• http://erpc1.naruto-u.ac.jp/~geant4
GPE: Physics editor based on Java GUI• http://erpc1.naruto-u.ac.jp/~geant4
OpenScientist, OPACS: Flexible analysis environments• http://www.lal.in2p3.fr/OpenScientist• http://www.lal.in2p3.fr/OPACS
Category RequirementsCategory Requirements
Geant4 Persistency makes run, event, hits, digits and geometry information be persistent, to be read back later by user programs
Geant4 shall make use of industrial standard ODMG C++ binding and HepODBMS as persistency interface
Kernel part of Geant4 should not be affected by the choice of persistency mechanism (Geant4 should be able to run with or without persistency mechanism)
What is “object persistency” ?What is “object persistency” ?
Persistent object lives beyond an application process, may be accessed by other processes.
When an object is “deactivated”, state of the object are stored into the database system. Once “activated”, the state information of the object is read back from the database.
Object Database
Constructor Destructor
Time
File
Application
ApplicationHeap
Application
What is ODMG ?What is ODMG ?
Object Database Management Groupa non-profit consortium of vendors and interested parties who collaborate to develop and promote standards for object database management systems (ODBMS). http://www.odmg.org/
ODBMS Standard Documents ODMG 2.0 released in 1997
• Object Model
• Object Definition Language
• Object Query Language
• Language Bindings to C++, SmallTalk, Java
Declarations in ODL
Application Source
Declaration Preprocessor
Program Compiler
Linker
ODBMS Runtime
Application Binary
Running ApplicationDatabase
metadata
data access
C++ Binding of ODMGC++ Binding of ODMG Design persistent class using ODL
(Object Definition Language)class G4PEvent : public HepPersObj
{ public: persistent-capable base class
G4PEvent(); :
private:
G4Pint eventID; persistent-capable type :
}
Compile ODL files (schema) to schema metadata, C++ header files, wrapper C++ source code.
ex. Objectivity/DB:ooddlx preprocessor processes *.ddl files into *.hh, *_ref.hh, *_ddl.cc files, and stores schema metadata into a federated database file.
What is HepODBMS ?What is HepODBMS ?
C++ class library that provides a simplified and consistent interface to underlying ODMG-compliant Object Database Management System
Current implementation is based on Objectivity/DB Goals:
• an insulation layer to minimize dependencies on a given database vendor or release.
• high level base classes that encapsulate features such as clustering and locking strategies, database session
• transaction control, event collections, selection predicates, tagDB access and calibration
• whilst not introducing any significant performance or storage overhead See Also:
http://wwwinfo.cern.ch/asd/lhc++/HepODBMS/user-guide/H1Introduction.html
Persistency in Geant4Persistency in Geant4
Object Database
Constructor
Destructor
Time
File
G4Application
PersistentObject
G4Application
TransientObject
G4Persistency
G4Kernel
Store( )Retrieve( ) Inherits from HepPersObj
in HepODBMS
G4 kernel objects have corresponding “P” objects in G4PersistencyG4Run G4PRunG4Event G4PEventG4Hit G4PHit : :
G4 kernel objects have corresponding “P” objects in G4PersistencyG4Run G4PRunG4Event G4PEventG4Hit G4PHit : :
“Parallel World” approachData members of transient and persistent objects are copied by Store( ) and Retrieve( )
Persistency in Geant4 (2)Persistency in Geant4 (2)
Top Level Class Diagram
G4RunManager
G4PersistencyMessenger
G4UImessenger
G4PersistencyManager
G4VPersistencyManager
G4TransactionManager
HepDbApplication
G4PersistentSubDbMan
G4PersistentSubMan
G4PersistentEventMan
Transient G4 objects are “stored” by G4RunManager through abstract interface of G4VPersistencyManager.Database file names are given via G4PerrsistencyMessenger.Interface to HepODBMS transactions are “wrapped” at G4TransactionManager.Data member copy of transient and persistent objects are handled by G4PersistentEventMan, G4PersistentHitMan, etc.
Transient G4 objects are “stored” by G4RunManager through abstract interface of G4VPersistencyManager.Database file names are given via G4PerrsistencyMessenger.Interface to HepODBMS transactions are “wrapped” at G4TransactionManager.Data member copy of transient and persistent objects are handled by G4PersistentEventMan, G4PersistentHitMan, etc.
Example Database ConfigurationExample Database Configuration
Runs
FDDB System
Events Geometry
Bootfile
exampleFD
PersistentEx01/02 readDB hits2digits
Lock Server
FDDB SystemBootfile
exampleSchema
“gmake newfd”
oochecklsoolockserverookilllsoodump
$OO_FD_BOOT
Example of application: BaBarExample of application: BaBar
Courtesy of D. Wright, Geant4 Workshop 2000Courtesy of D. Wright, Geant4 Workshop 2000
An example of application: Atlas, CMSAn example of application: Atlas, CMS
A CMS test beam set-upA CMS test beam set-up
Studies for a future linear colliderStudies for a future linear collider
Courtesy of P. Mora de Freitas, Geant4 Workshop 2000Courtesy of P. Mora de Freitas, Geant4 Workshop 2000
Solar flare electrons,protons, and heavy ions
Jovianelectrons
Solar flare neutronsand -rays
SolarX-rays
Galactic and extra-galacticcosmic rays
Induced emission
Neutrinos
Trapped particles
Anomalouscosmic rays
Sector Shielding
Analysis Tool
CAD tool front-end
Delayed
radioactivity
General purpose source particle module
INTEGRAL and other science missions
Instrument design purposes Dose calculations
Particle source and spectrum
Geological surveys of asteroids
Modules for space applicationsModules for space applications
Low-energy Low-energy e.m. e.m.
extensionsextensions
ESA Space Environment & Effects Analysis Section
X-Ray Surveys X-Ray Surveys ofof Planets, Planets, Asteroids and MoonsAsteroids and Moons
Induced X-ray line emission: indicator of target composition (~100 m surface layer)
Cosmic rays,jovian electrons
Geant3.21
ITS3.0, EGS4
Geant4
Solar X-rays, e, p
Courtesy SOHO EIT
C, N, O line emissions included
Low energy e.m. extensionsLow energy e.m. extensions
Bepi Bepi ColomboColombo
Space applicationsSpace applications
Chandra
XMMXMMGLASTGLAST
X-ray telescopesX-ray telescopes
-ray telescopes-ray telescopes
Planetary missionsPlanetary missions
etc.etc.
The transparency of physics
Advanced functionalities in geometry, physics, visualisation etc.
Extensibility to satisfy new user
requirements thanks
to the OO technology
Adopts standards wherever available (de jure or de facto)
Use of evaluated data libraries
Quality Assurance based on sound
software engineering
Subject to independent validation by a large
user community worldwide User support
organization by a large international
Collaboration of experts
Geant4 provides various features Geant4 provides various features relevant for medical applicationsrelevant for medical applications
Bragg peak, Magic cube data and Geant4Bragg peak, Magic cube data and Geant4
Experimental data: Bragg peak of a 270 MeV/u carbon ion beam
Geant4 and experimental data, PSI test with proton beam
distance(cm)
Courtesy of INFN Torino
Pixel Pixel Ionisation Ionisation ChamberChamber
Relative dose with 6 MeV photon
beam
Dosimetric Studies
Deposited energy vs Depth in water
and experimental data
3 m m ste e l c a b le
5.0 m m
0.6 m m
3.5 m m
1.1 m m
Ac tive Ir-192 C o re
allows a complete flexible description of the real geometry
BrachytherapyA medical therapy used for cancer treatments
Radioactive sources are used to deposit therapeutic doses near tumors while
preserving surrounding healthy tissues
0
30
60
90
120
150
180
The dose deposition is not isotropic due to source geometry and auto-
absorption, encapsulation and shielding effects
Anisotropy Radioactive Decay Module is capable of handling the generation of the whole radioactive chain of the 192Ir source
CT interface and treatment planningCT interface and treatment planning
The beam used was a photon beam at 6 MV, from a Siemens KD2. The radiation field used The beam used was a photon beam at 6 MV, from a Siemens KD2. The radiation field used was a 15x15 cm2. was a 15x15 cm2.
Courtesy of LIP and IPOFG-CROC (Coimbra delegation of the Portuguese Oncology Institute)
CT images were used to CT images were used to define the geometry - a define the geometry - a
thorax slice from a Rando thorax slice from a Rando anthropomorphic anthropomorphic
phantom. phantom.
An ambitious projectAn ambitious project
Multi-disciplinary Collaboration of
• astrophysicists and space scientists
• particle physicists
• medical physicists
• biologists
• physicians
What if the geometry to describe with Geant4 were DNA and the process were mutagenesis?
INFN (Genova, Torino, Cosenza)ESACERNIst. Naz. per la Ricerca sul CancroKarolinska InstitutePSI
Università del Piemonte Orientale
Study of radiation damage at the cellular and DNA level in the space radiation environment
-sponsored project, in collaboration with
GEANT4-DNA
Simulation of interactions of radiation with biological systems at the cellular and DNA level
User Requirements Document Status: Under review
Version: 1.3 Project: Geant4-DNA Reference: DNA-URD-V1.03 Created: 28 December 2000 Last modified: 21 February 2001
Prepared by: Maria Grazia Pia (INFN Genova ) Stéphane Chauvie (INFN Torino and AIRCC) Gabriele Cosmo (CERN) José Maria Fernandez Varea (Univ. of Barcelona) Petteri Nieminen (ESA/ESTEC) Ada Solano (Univ. of Torino and INFN Torino)
11stst phase: phase: User User RequirementsRequirements Other applications Other applications (not only in (not only in the the space domain)space domain)
PerformancePerformance
Various Geant4 - Geant3.21 comparisons• realistic detector configurations
• results and plots in Geant4 Web Gallery, RD44 Status Report, 1995
Benchmark in liquid Argon/Pb calorimeter• at comparable physics performance Geant4 is faster than (fully optimised)
Geant3.21 by
• a factor >3 using exactly the same cuts
• a factor >10 optimising Geant4 cuts, while keeping the same physics performance
• at comparable speed Geant4 physics performance is greatly superior to Geant3.21
Benchmark in thin silicon layer• at comparable physics performance Geant4 is 25% faster than Geant3.21 (single
volume, single material)
Risk factorsRisk factors
Performance and adequacy of C++ and OO technologies for HEP simulation were considered risk factors at the beginning of the project
It has been clearly demonstrated that Geant4 satisfies the requirements for use in HEP
simulation
Now? Maturity of the HEP community• to appreciate the need of a new simulation environment• to work in a simulation environment based on advanced
software engineering• to invest in learning new technologies
ConclusionsConclusions
The software challengeThe software challenge• first successful attempt to redesign a
major package of HEP software adopting an Object Oriented environment and a rigorous approach to advanced software engineering
The functionality challengeThe functionality challenge• a variety of requirements from many
application domains (HEP, space, medical etc.)
The physics challengeThe physics challenge• transparency
• extended coverage of physics processes across a wide energy range, with alternative models
The performance challengeThe performance challenge• mandatory for large scale HEP
experiments and for other complex applications
The distributed software developmentThe distributed software development• OOAD has provided the framework for
distributed parallel development
The management challengeThe management challenge• a well defined, and continuously
improving, software process has allowed to achieve the goals
The user support challengeThe user support challenge• the user community is distributed
worldwide, operating in a variety of domains
Geant4 has successfully coped with a variety of challenges
Geant4 represents a successful experience for the future Geant4 represents a successful experience for the future generation of experimentsgeneration of experiments
ReferencesReferences
Geant4 web home page http://wwwinfo.cern.ch/asd/geant4/geant4.html
Geant4-Italy web home page http://www.ge.infn.it/geant4/
Geant4 User Documentation http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html
Geant4 results and publications http://wwwinfo.cern.ch/asd/geant4/reports/reports.html
RD44 web home page http://wwwinfo.cern.ch/asd/geant/geant4.html
Whom to contactWhom to contact
If you need any further information or user support, please contact your Technical Board representative
For Italy: Maria Grazia Pia (INFN Genova), [email protected]
Other TSB representatives listed on Geant4 web pages
Suggested OO/C++ booksSuggested OO/C++ books
I. Pohl, OO programming using C++ S. B. Lippman, J. Lajoie, C++ primer B. Stroustrup, The C++ programming language
S. Meyers, Effective C++ S. Meyers, More effective C++
M. Cline et al., C++ FAQs
G. Booch, OO analysis and design R. Martin, Designing OO C++ applications using the Booch method E. Gamma et al., Design Patterns
M. Fowler, UML distilled G. Booch et al., The Unified Modeling Language, User Guide
AcknowledgementsAcknowledgements
Many people have helped me directly or indirectly to make these lectures possible; many thanks to all my colleagues of the Geant4 Collaboration, and in particular to
The Geant4 Training Kit authors and Editors, for preparing, editing and assembling the training modules
Eamonn Daly, Ramon Nartallo and Petteri Nieminen (ESA), for their material on X-ray telescopes
Simone Giani (CERN), for many stimulating discussions on the role of simulation and of Geant4
Michel Maire (LAPP), for his historical overview of Geant down to its origins
Many Geant4 Users (from all over the world), for providing plots and results from their Geant4-based applications
The Organizers of this School, for the invitation to give these lectures
The Students of this School, for providing the motivation to stay up late in the night to prepare these lectures...