Maria Grazia Pia INFN Genova Geant4 Collaboration XI Giornate sui Rivelatori Torino, 1-2 March 2001.

153
Maria Grazia Pia INFN Genova Geant4 Collaboration XI Giornate sui Rivelatori Torino, 1-2 March 2001

Transcript of Maria Grazia Pia INFN Genova Geant4 Collaboration XI Giornate sui Rivelatori Torino, 1-2 March 2001.

Maria Grazia PiaINFN Genova

Geant4 Collaboration

XI Giornate sui RivelatoriTorino, 1-2 March 2001

IntroductionIntroduction

Author: Maria Grazia Pia

Geant4 Training Kit Geant4 Training Kit

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

XMMXMM

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.

Software Software engineering engineering

Geant4

rigorous approach to software

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 designOO design: an example of top level design: an example of top level design

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

KernelKernel

Author: Makoto Asai

Geant4 Training Kit Geant4 Training Kit

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

Authors: M.G. Pia

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

A sample from theory-driven modelsA sample from theory-driven models

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

Sample Visualisation (1)Sample Visualisation (1)

Sample Visualisation (2)Sample Visualisation (2)

Sample Visualisation (3)Sample Visualisation (3)

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

PersistencyPersistency

Author: Youhei Morita

Geant4 Training Kit Geant4 Training Kit

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

Overview of applicationsOverview of applications

Authors: M.G. Pia

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...