scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Geant4—a simulation toolkit

S. Agostinelli1, John Allison2, K. Amako3, J. Apostolakis4, Henrique Araujo5, P. Arce4, Makoto Asai6, D. Axen4, S. Banerjee7, G. Barrand, F. Behner4, Lorenzo Bellagamba8, J. Boudreau9, L. Broglia10, A. Brunengo8, H. Burkhardt4, Stephane Chauvie, J. Chuma11, R. Chytracek4, Gene Cooperman12, G. Cosmo4, P. V. Degtyarenko13, Andrea Dell'Acqua4, G. Depaola14, D. Dietrich15, R. Enami, A. Feliciello, C. Ferguson16, H. Fesefeldt4, Gunter Folger4, Franca Foppiano, Alessandra Forti2, S. Garelli, S. Gianì4, R. Giannitrapani17, D. Gibin4, J. J. Gomez Y Cadenas4, I. González4, G. Gracia Abril4, G. Greeniaus18, Walter Greiner15, Vladimir Grichine, A. Grossheim4, Susanna Guatelli, P. Gumplinger11, R. Hamatsu19, K. Hashimoto, H. Hasui, A. Heikkinen20, A. S. Howard5, Vladimir Ivanchenko4, A. Johnson6, F.W. Jones11, J. Kallenbach, Naoko Kanaya4, M. Kawabata, Y. Kawabata, M. Kawaguti, S.R. Kelner21, Paul R. C. Kent22, A. Kimura23, T. Kodama24, R. P. Kokoulin21, M. Kossov13, Hisaya Kurashige25, E. Lamanna26, Tapio Lampén20, V. Lara4, Veronique Lefebure4, F. Lei16, M. Liendl4, W. S. Lockman, Francesco Longo27, S. Magni, M. Maire, E. Medernach4, K. Minamimoto24, P. Mora de Freitas, Yoshiyuki Morita3, K. Murakami3, M. Nagamatu24, R. Nartallo28, Petteri Nieminen28, T. Nishimura, K. Ohtsubo, M. Okamura, S. W. O'Neale29, Y. Oohata19, K. Paech15, J Perl6, Andreas Pfeiffer4, Maria Grazia Pia, F. Ranjard4, A.M. Rybin, S.S Sadilov4, E. Di Salvo8, Giovanni Santin27, Takashi Sasaki3, N. Savvas2, Y. Sawada, Stefan Scherer15, S. Sei24, V. Sirotenko4, David J. Smith6, N. Starkov, H. Stoecker15, J. Sulkimo20, M. Takahata23, Satoshi Tanaka30, E. Tcherniaev4, E. Safai Tehrani6, M. Tropeano1, P. Truscott31, H. Uno24, L. Urbán, P. Urban32, M. Verderi, A. Walkden2, W. Wander33, H. Weber15, J.P. Wellisch4, Torre Wenaus34, D.C. Williams, Douglas Wright6, T. Yamada24, H. Yoshida24, D. Zschiesche15 
TL;DR: The Gelfant 4 toolkit as discussed by the authors is a toolkit for simulating the passage of particles through matter, including a complete range of functionality including tracking, geometry, physics models and hits.
Abstract: G eant 4 is a toolkit for simulating the passage of particles through matter. It includes a complete range of functionality including tracking, geometry, physics models and hits. The physics processes offered cover a comprehensive range, including electromagnetic, hadronic and optical processes, a large set of long-lived particles, materials and elements, over a wide energy range starting, in some cases, from 250 eV and extending in others to the TeV energy range. It has been designed and constructed to expose the physics models utilised, to handle complex geometries, and to enable its easy adaptation for optimal use in different sets of applications. The toolkit is the result of a worldwide collaboration of physicists and software engineers. It has been created exploiting software engineering and object-oriented technology and implemented in the C++ programming language. It has been used in applications in particle physics, nuclear physics, accelerator design, space engineering and medical physics.

Summary (17 min read)

Jump to: [1. Introduction][1.1. History of Geant4][1.2. Organisation of the collaboration][1.3. User support, documentation and source code][1.4. Examples and training kits][1.5. Structure of this paper][2.1. General considerations][2.1.1. General capabilities and properties][ARTICLE IN PRESS][2.1.2. Openness][2.2. Global structure][2.3.1. Events][2.3.2. Geometry and detector representation][2.3.3. Tracking][2.3.4. Physics][2.3.5. Particles and materials][2.4. User actions][3. Software process][3.1. Methodology][3.2. Object-oriented analysis and design][3.2.1. Requirement gathering and OOA phase][3.2.2. OOD phase][3.2.3. Code implementation and evolution phase][3.3. Software process improvement][3.4. Configuration and release management][3.5. Quality assurance and testing][3.6. User support process][4.1. Global structure][4.2. How a particle is tracked][4.3. Process management][4.4. Propagation in the detector model][4.4.1. Tracking optimisation][4.4.2. Transportation in a field][4.5. Priority control of tracks][4.6.1. Detector sensitivity][4.6.2. Readout geometry][5.1. Scope][5.2. Processes and models][5.3. Interactions and decays][5.4. Deciding which process limits the step][5.5. Decay processes][5.6. Electromagnetic processes][5.6.1. Standard electromagnetic processes][5.6.2. Range cuts][5.6.3. Range and absorption length tables][5.6.4. Energy loss of electrons/positrons][5.6.5. Energy loss of muons][5.6.6. Energy loss of charged hadrons][5.6.8. Multiple scattering][5.6.9. Low energy extensions][5.7. Photo-and electro-production of hadrons][5.8. Muo-production of hadrons][5.9. Hadronic processes][5.9.1. Interaction cross-sections][5.9.2. Modelling final states][5.9.3. Sample data driven models][5.9.4. Sample parameterised models][5.9.5. Sample theory driven models][5.10. Optical processes][5.10.2. Scintillation][5.10.3. Absorption and Rayleigh scattering][5.10.4. Reflection and refraction][5.11. Transition radiation][6. Additional capabilities][6.1. Parameterisation for fast simulation][6.2. Event biasing][7. Interactivity and visualisation][7.1. User interfaces][7.1.1. Concrete implementations][7.1.2. Other tools for application programmers][7.2. Visualisation][7.4. Geometry verification] and [8. Conclusion]

1. Introduction

  • Modern particle and nuclear physics experiments pose enormous challenges in the creation of complex yet robust software frameworks and applications.
  • Of particular importance is the ever-increasing demand for large-scale, accurate and comprehensive simulations of the particle detectors used in these experiments.
  • To this end, the toolkit includes built-in steering routines and command interpreters which operate at the problem setup, run, event, particle transportation, visualisation, and analysis levels, allowing all parts of the toolkit to work in concert.
  • A serious limitation of many previous simulation systems was the difficulty of adding new or variant physics models; development became difficult due to the increasing size, complexity and interdependency of the procedure-based code.
  • In the following sections the authors present a detailed overview of Geant4 and its features and capabilities, including the design and implementation of the various categories of physics models.

1.1. History of Geant4

  • The origin of Geant4 development can be traced back to two studies done independently at CERN and KEK in 1993 [2] .
  • Both groups sought to investigate how modern computing techniques could be applied to improve what was offered by the existing GEANT3 program [3] , which was a benchmark and source of ideas and valuable experience.
  • These two activities merged and a proposal was submitted to the CERN Detector Research and Development Committee (DRDC) [4] to construct a simulation program based on object-oriented technology.
  • The resulting project was RD44, a worldwide collaboration that grew to include the efforts of 100 scientists and engineers, drawn from more than 10 experiments in Europe, Russia, Japan, Canada and the United States.
  • The R&D phase was completed in December 1998 [1] with the delivery of the first production release.

1.2. Organisation of the collaboration

  • A Memorandum of Understanding (MoU) [5] signed by all participating parties governs the formal collaboration.
  • It is subject to tacit renewal every 2 years and sets out a collaboration structure composed of a Collaboration Board (CB), a Technical Steering Board (TSB) and several working groups.
  • The MoU also defines the way in which collaboration resources-money, manpower, expertise, and key roles and activities (such as program librarian and documentation manager)-are measured in Contribution Units (CU), and it further delineates how the boards are constituted depending on the CU count for each signatory.
  • There is also an overall release coordinator.
  • This clean overall problem decomposition makes the distributed software design and development possible in a worldwide collaboration.

1.3. User support, documentation and source code

  • The Collaboration provides documentation and user support for the toolkit.
  • The support model is described in more detail in Section 3.6.
  • Documentation [6] includes installation, user and reference guides, and a range of training kits (see also Section 1.4) .
  • A user may also expect assistance in investigating anomalous results.
  • A Web-based reporting system and a list of frequently asked questions (FAQs) are available on the Geant4.

1.4. Examples and training kits

  • The toolkit includes examples at three levels:.
  • They are intended to develop the user's understanding in many areas.
  • Initial emphasis is on the classes describing the user's setup, which are required by the toolkit.
  • The units contain descriptive material and examples, such as code excerpts, or plots with performance results.
  • They are modular in themselves, providing different levels of coverage and complexity.

1.5. Structure of this paper

  • For the reader who wishes to obtain a broad overall view of the project from inception to realisation the authors describe basic principles of the design in Section 2.
  • Details that are needed to understand how to extend the toolkit, tailor it for special use and obtain optimal performance, are postponed to Sections 4 and 5.
  • It is here that the exploitation of modern software engineering techniques and object-oriented methods are discussed.
  • The basic algorithms and capabilities of the kernel are described in Section 4 and an overview of available physics processes and models is presented in Section 5.
  • The latter also includes a sample of results and comparisons with GEANT3 and experimental measurements.

2.1. General considerations

  • A typical software system contains components-event generator, detector simulation, reconstruction and analysis-that can be used separately or in combinations.
  • Other design requirements are that it is modular and flexible, and that its implementation of physics is transparent and open to user validation.
  • The high-level design was based on an analysis of the initial user requirements [8] .
  • This ultimately led to a modular and hierarchical structure for the toolkit (see Fig. 1 ), where subdomains are linked by a uni-directional flow of dependencies.
  • The key domains of the simulation of the passage of particles through matter are:.

2.1.1. General capabilities and properties

  • The toolkit offers the user the ability to create a geometrical model with a large number of components of different shapes and materials, and to define ''sensitive'' elements that record information (hits) needed to simulate detector responses .
  • The primary particles of the events can be derived from internal and external sources.
  • Geant4 provides a comprehensive set of physics processes to model the behaviour of particles.
  • The user is able to choose from different approaches and implementations, and to modify or add to the set provided.
  • In addition the user can interact with the toolkit through a choice of user interfaces and visualise the geometry and tracks with a variety of graphics systems through a well-defined interface and is given the ability to implement this interface over other systems of his/her choice.

ARTICLE IN PRESS

  • Geant4 Maximum use has been made of the experience acquired from previous simulation packages, in particular GEANT3.
  • The drivers themselves need no external libraries or packages and are normally built by default into any Geant4 executable.
  • Generates files in the HepRep [117] format, suitable for viewing with several viewers, notably the WIRED [118] event display viewer, also known as * HepRepFile.
  • The visualisation manager uses various classes for visualisable 3D objects (volumes, lines, texts, markers, etc.) defined in the graphics reps category and the geometry category.

2.1.2. Openness

  • One of the most important design goals was to make the design and implementation of the physics open and transparent.
  • Exploiting objectoriented technology has enabled us to establish a clear and customisable correspondence between particles and processes and offer a choice of models for each process.
  • The result is a highly granular implementation, each component of which can be inspected at source code level.
  • The way cross-sections are calculated-via formulas, parameterisations or interpolation of databases-is exposed.
  • In the last case the information extracted from the database is separated from the way it is accessed and used, giving the opportunity of using different databases and allowing their applicability to be tailored by particle, energy, material, etc.

2.2. Global structure

  • Categories at the bottom of the diagram are used by virtually all higher categories and provide the foundation of the toolkit.
  • The track category contains classes for tracks and steps, used by processes which contains implementations of models of physical interactions.
  • A readout category allows the handling of ''pile-up''.
  • Finally capabilities that use all of the above and connect to facilities outside the toolkit (through abstract interfaces) are provided by the visualisation, persistency and [user] interface categories.

2.3.1. Events

  • The event category provides an abstract interface to external physics event generators for the generation of the primary particles which define a physics event.
  • (The General Particle Source Module [10] can simplify this task by allowing a source with arbitrary energy, spatial and angular distribution to be defined at run time.).
  • The class G4Event represents an event, which is the main unit of simulation.
  • Thus it is objects of this class that the user can store for processing further down the program chain, such as reconstruction.
  • It contains primary vertices and primary particles before processing the event.

2.3.2. Geometry and detector representation

  • The geometry module offers the ability to describe a geometrical structure and propagate particles efficiently through it.
  • In particular, the requirement to exchange detector geometry with Computer Aided Design (CAD) systems-via the ISO STEP standard [12] -and navigate efficiently in such geometries led to a new optimisation technique.
  • The concepts of logical and physical volume are not unlike those of GEANT3.
  • The solids should be either CSGs or other boolean solids (the product of a previous boolean operation).
  • One of the components may have an optional transformation relative to the other.

2.3.3. Tracking

  • It is well known that the overall performance of detector simulation depends critically on the CPU time spent moving the particle by one step.
  • A consequence of this is that in Geant4 particles are transported, instead of being considered self moving.
  • This is done by the transportation process, described later in Section 4.2.
  • All physics processes associated with the particle propose a step.
  • The tracking handles each type of action in turn.

2.3.4. Physics

  • The three types of action described above and the corresponding virtual methods are defined in the base class G4VProcess (see Section 4.3).
  • In the standard electromagnetic processes category, the class G4eIonisation calculates for electrons and positrons the energy loss contribution due to ionisation and simulates the ''discrete'' part of the ionisation, namely the Moller and Bhabha scattering and d-ray production.
  • This allows a user to use models in arbitrary combinations and to write his/her own models for final state production.
  • If no applicable isotope production model is registered the G4HadronicProcess calculates the isotope production information from the final state given by the transport model.
  • Layering the implementation frameworks, and keeping simple and general abstractions in the upper levels of the framework hierarchy, has proven to result in a structured and well suited solution for a complex problem.

2.3.5. Particles and materials

  • These two categories implement facilities necessary to describe the physical properties of particles and materials for the simulation of particle-matter interactions.
  • Particles are based on the G4ParticleDefinition class, which describes the basic properties of particles, like mass, charge, etc., and also allows the particle to carry the list of processes to which it is sensitive.
  • A first-level extension of this class defines the interface for particles that carry cuts information, for example range cut versus energy cut equivalence.
  • Because the physical properties of materials can be described in a generic way by quantities which can be either given directly, like density, or derived from the element composition, only concrete classes are necessary in this category.
  • The materials category also implements facilities to describe surface properties for the tracking of optical photons (see Section 5.10).

2.4. User actions

  • Geant4 provides the abstract interface for eight user classes.
  • The three mandatory user class bases are: * G4VUserDetectorConstruction for defining the material and geometrical setup of the detector.
  • * G4VUserPhysicsList for defining all the particles, physics processes and cut-off parameters.
  • The optional user classes allow the user to modify the default behaviour of Geant4.
  • * G4UserTrackingAction for actions at the creation and completion of every track.

3. Software process

  • The term software process refers collectively to the set of processes used by an organisation or project to plan, manage, execute, monitor, control and improve its software-related activities.
  • Software processes define the practices that are used in the production and evolution of the software.
  • There are many software processes applicable to Geant4, both concerning software development and organisational matters.
  • By software life-cycle is meant the phases the software product goes through between when it is conceived and when it is no longer available for use.
  • Concerning software construction, the authors adopted from the beginning flexible and well-defined programming and coding guidelines [27], basically dealing with adhesion to the object-oriented paradigm (data-hiding, encapsulation, etc.), performance, and portability of the software.

3.1. Methodology

  • Because of the wide variety of requirements for Geant4, not only from the HEP community but also from other fields, the authors expected that the final product would be a large and complex software system.
  • The study of software engineering (the application of the engineering discipline to large-scale complex software systems) has led to the emergence of various ''software methodologies'' which prescribe a comprehensive development process.
  • The authors most important conclusion from the evaluation was that there was no absolute measure for the selection of the best methodology.
  • The Fusion method imported the OMT object model for its own object model.
  • Their feasibility studies showed that the basic approach and essential components of the major methodologies were similar.the authors.

3.2. Object-oriented analysis and design

  • The authors present here a brief illustration of key aspects to help those who are not familiar with the methodology.
  • To construct such models, OOA and OOD provide a coherent set of processes the programmer can follow.
  • The macro-process serves as the controlling framework for the micro process, and is similar to the ''waterfall model''.
  • In the following the authors summarise activities done in each phase of the macro-process for Geant4 development.
  • Various aspects which the authors found to be important for the worldwide collaboration are also described.

3.2.1. Requirement gathering and OOA phase

  • The authors started this phase by collecting user requirements for a new detector simulation software product.
  • The Geant4 core team (see below) created a draft requirements document and it was distributed among the GEANT3 user com-munity.
  • The authors produced central models (class diagrams) containing all the semantics of the system in a set of concise but accurate definitions.
  • Major products in this phase were the requirements document, class diagrams, scenario (object interaction) diagrams and a class category diagram.
  • In this phase the core team (6-7 people) played an essential role.

3.2.2. OOD phase

  • The goal of this phase was to elaborate the models created during the analysis phase so that the objects and classes could be coded and executed.
  • About two-thirds of the first year of the project were spent on OOA and OOD, and no C++ code was written during this phase.
  • The ''class category diagram'' created at the end of the OOA had a fundamental importance during the further course of the development.
  • The loose coupling between categories allowed us to implement each category relatively independently.
  • A working group was established for each category, and members of a group could work without interfering with the work in other categories.

3.2.3. Code implementation and evolution phase

  • The authors started this phase by writing C++ prototype code based on the design created during OOA and OOD.
  • Further refinements of the design were done based on performance of the program or addition of new requirements.
  • Regular incremental releases of the code and progress reports to the CERN review committee provided clear milestones for the project.
  • Each release was preceded by an acceptance testing phase and thus gave us the opportunity of regularly testing the quality of the product.
  • The micro process played a major role in the code development.

3.3. Software process improvement

  • According to ISO-15504 [32] , a Software Process Improvement (SPI) activity belongs to the organisational life-cycle category of software processes, and therefore must be considered indeed ''life-cycle driven'' and regularly applied.
  • As such, SPI is a process which cannot be forced and must be gradually applied, after identifying the right priorities and objectives [24] .
  • The main goal of the SPI program [23] in Geant4 is to understand, determine and propose applicable procedures for software development and maintenance in the production phase of the software.
  • In view of this, the authors periodically perform process assessments making reference to the ISO/ IEC SPICE Model [31, 32] .
  • Experience from members in the Geant4 Collaboration is sometimes used to help identify weaknesses in some areas and where to apply SPI.

3.4. Configuration and release management

  • The creation and modification of requirement and design documents, user documentation and source code are activities shared by collaboration members located at many different sites.
  • The source code directory structure is derived directly from the decomposition of the software into domains or categories.
  • Some categories are split further into sub-categories according to a logical decomposition.
  • For each file in the repository, the CVS tool tracks versions, keeps comments on the changes made and allows symbolic tagging of related versions.
  • Bug fixes to a particular release are done on a CVS branch starting from the released version.

3.5. Quality assurance and testing

  • As part of their software process, the development of effective tests and testing procedures has been a major effort of the Collaboration as a whole and, particularly, of the dedicated Testing and Quality Assurance working group.
  • Software testing protocols typically fall into two classes: unit testing and integration or system testing.
  • As a baseline for testing each category team uses the latest reference version of the Geant4 code as tagged and announced by the System Testing Team (STT).
  • According to this procedure, the new code in a category is tagged and the CVS tag is proposed for testing to the STT.
  • To achieve this end the authors employ various Quality Assurance tools such as CodeWizard [43] , to detect unsafe, nonstandard or errorprone coding practices in the source code, Insure++ [43] and Valgrind [44] , to detect data integrity and memory management problems in a running application.

3.6. User support process

  • The Collaboration offers user support for Geant4, providing assistance with software problems, consultancy on results, and response to enhancement requests.
  • Not only is the maintenance and development of the various Geant4 domains distributed amongst the collaborators, but so is the responsibility for user support and documentation.
  • This system is a customised version of the open source reporting tool Bugzilla [42] .
  • The TSB sets the priorities and agrees on time-scales for the fulfillment of new requirements.
  • To exploit these advantages, an adequate structure is needed to filter, analyse, dispatch, or prioritise the users' requests, and also to provide the user with a direct interface to which one can refer without knowing the details of the user support mechanism.

4.1. Global structure

  • The kernel manages the tracking of particles taking account of the geometry, fields and physics processes.
  • Efficiency is a key issue and various optimisation techniques are used.
  • Geant4 provides ways of controlling the order of processing of tracks.
  • User code is invoked when particles enter sensitive volumes so that hits and digitisations can be scored.
  • Geant4's logical structure and the user action classes were essentially described in Sections 2.2 and 2.4.

4.2. How a particle is tracked

  • In spite of its name, tracking in Geant4 does not transport particles; transportation is performed by the transportation process which is handled as one of the generic processes (the transportation process itself is described in some detail in Section 4.4).
  • G4TrackingManager is an interface class brokering transactions between the event, the track and the tracking categories.
  • Its public method Stepping steers the stepping of the particle.
  • In the implementation of the algorithm, the inheritance hierarchy of the physics interactions plays an essential role.
  • The dynamic information of the particle, like momentum and energy, is held through a pointer to an object of type G4DynamicParticle.

4.3. Process management

  • In Geant4 this variety is expressed by a division into seven major process categories: electromagnetic, hadronic, transportation, decay, optical, photolepton hadron, and parameterisation.
  • The authors approach enables anyone to create a process and register it for a particle type in a Geant4 simulation much more easily than in GEANT3.
  • In other words, all physics processes can be treated in the same manner from the tracking point of view.
  • Each process can perform any combination of these three DoIt action.
  • In addition, the tracking controls the timing of updating the step and track information based on the particle change.

4.4. Propagation in the detector model

  • The primary task of the geometry category is to supply information to the transportation process and ultimately to the tracking manager for the geometrical propagation of tracks.
  • This mechanism may cause errors, especially in the case of photon reflection, and it has been demonstrated to be inefficient when volume boundaries are not coincident, since a series of many small steps may be required when the ''push'' is not large enough.
  • Volumes effectively have boundaries of a very small but finite ''thickness'' to take into account the round-off and accumulated errors of floating point arithmetic.
  • Note that the internal unit of length can be chosen at compile time (see Section 2.2) so that this condition can generally be satisfied.
  • In order to traverse a detector model geometry efficiently, it is also critical to reduce the number of candidate volumes for which intersections have to be calculated and Geant4 has adopted an optimisation technique which is described next.

4.4.1. Tracking optimisation

  • While tracking through the detector, a particle may encounter any one of several detector parts at each step.
  • This scheme works well in a hierarchical detector description, where the number of daughter volumes at each node is small.
  • Each cell of the grid stores a list of pointers to the volumes intersected.
  • This traditional voxel based technique retains the disadvantage of grid based methods in that every voxel intersected along the particle's trajectory must be tested for intersection of its contents.
  • Each division containing too many volumes is then refined by applying virtual division again, using a second Cartesian axis.

4.4.2. Transportation in a field

  • Charged particles moving in a field do not follow linear trajectories between interactions.
  • Furthermore, for magnetic fields in particular, a new set of integration methods has been created that combines Runge-Kutta and the known helical solution for uniform fields.
  • The chord is then used to test for intersection with the boundary of a volume and, of course, it might miss where the curved track would intersect.
  • Each one of these slices has an independent set of vertical divisions .
  • The equation demonstrates a remarkable property; in a purely magnetic field, in vacuum, and neglecting small anomalous magnetic moments, the particle's spin precesses in such a manner that the longitudinal polarization remains a constant, whatever the motion of the particle.

4.5. Priority control of tracks

  • Since the tracks are represented by C++ objects, it is quite straightforward to use standard containers to stack them.
  • Event handling in Geant4 has three stacks (by default), namely ''urgent'', ''waiting'' and ''postpone to next event''.
  • In the former GEANTA3, there was only one stack and each track was assigned a priority.
  • For every pop request it was necessary to scan for a track with the highest priority, a rather heavy procedure once many secondaries were stacked.
  • If continuing, tracks in the ''waiting'' stack are re-examined and some or all are transferred to the ''urgent'' stack for the next stage of simulation.

4.6.1. Detector sensitivity

  • On the other hand, the term digit represents a detector output, for example, an ADC/TDC count or a trigger signal.
  • A digit is created from one or more hits and/or other digits.
  • Given the wide variety of applications of Geant4, how to describe the detector sensitivity and the quantities a user needs to store in the hit and/or digit vary greatly.
  • Each logical volume can have a pointer to a sensitive detector, which is an object of a user class derived from the abstract base class G4VSensiti-veDetector.
  • In contrast to sensitive detector, which is invoked automatically at tracking time, the digitisation module must be invoked by the user's code.

4.6.2. Readout geometry

  • In some cases, the readout segmentation can be different to the geometrical structures of the detector.
  • The user may implement a detailed sandwich structure of a sampling calorimeter, while the readout collects the energy deposition of some of the layers.
  • The readout geometry is an artificial geometry which can be associated with a sensitive detector.
  • (Note that the transportation process does not see the volume boundary of readout geometry and thus a step does not end at the boundary of readout geometry.).
  • Once a step belongs to a sensitive detector, geometrical information of both the ''real'' tracking and the readout geometry geometries are available to the sensitive detector.

5.1. Scope

  • The Geant4 toolkit contains a large variety of complementary and sometimes alternative physics models covering the physics of photons, electrons, muons, hadrons and ions from 250 eV up to several PeV.
  • The hierarchical structure of the processes category was introduced in Sections 2.3.4 and 4.3.
  • There are seven major sub-categorieselectromagnetic, hadronic, transportation, decay, optical, photolepton hadron, and parameterisation.
  • The authors stress their design goal of achieving openness of physics implementation.
  • Object-oriented programming makes the structure apparent; the result is a highly granular implementation, each component of which can be inspected at source code level.

5.2. Processes and models

  • For a particle interaction or decay it is useful to distinguish between the process, i.e., a particular initial and final state, which therefore has a welldefined cross-section or mean-life, and the model that implements the production of secondary particles.
  • It allows the possibility of offering multiple models for the same process.
  • One way this is exploited was described in outline in Section 2.3.4 and further examples are given below.

5.3. Interactions and decays

  • Moreover, in a real detector, it will often travel through many regions of different materials, shapes and sizes before interacting or decaying.
  • In simulation, the particle proceeds in steps, and the authors have to find an efficient and unbiased way of choosing what limits the step and, if the particle continues, of updating the parameters for the next step.
  • This information from all processes for the particle (each process using a different random number, of course) is used to decide what happens.

5.4. Deciding which process limits the step

  • Processes other than interaction or decay also compete to limit the step.
  • Continuous energy loss may limit the step to preserve precision.
  • Also, transportation insists that the step should not cross a geometrical boundary.
  • The user can also request a maximum allowed step.
  • The process which returns the smallest distance is selected and its post step action is invoked.

5.5. Decay processes

  • Class G4Decay implements at rest and post-step actions for decay at rest and in flight respectively.
  • There are many models for determining the distribution of secondaries, for example V-A theory for muon decay, Dalitz theory for p 0 decay, or simple phase space.
  • Geant4 does not attempt to model these but provides two ways of dealing with them that take advantage of external event generators.
  • In the first way, the external decayer approach, the G4VExtDecayer class provides an interface to the external package that decides the decay mode and secondary particle momenta.
  • This activated by attaching a concrete implementation of this class to the G4Decay object of that particle.

5.6. Electromagnetic processes

  • The range of available electromagnetic processes is extensive.
  • Whenever available, use is made of the public evaluated databases distributed by a variety of international sources; this contributes to the reliability and openness of the physics implementation.

5.6.1. Standard electromagnetic processes

  • Geant4 standard electromagnetic physics provides a variety of implementations of electron, positron, photon and charged hadron interactions.
  • Electron/positron processes handle bremsstrahlung, ionisation and d-ray production, positron annihilation and synchrotron radiation.
  • A significant feature of this is an algorithm [53] which can generate low energy d-rays only near the boundaries of volumes, which can lead to an improved performance while keeping the quality of physics.
  • The Geant4 multiple scattering process can handle all charged particles.
  • It is based on a new model that simulates the scattering of the particle after a step, computes the mean path length correction and the mean lateral displacement.

5.6.2. Range cuts

  • In Geant4, charged particles are tracked to the end of their range.
  • In this case the process must add the energy of the particle to the energy deposited during or at the end of the step.
  • For photons, the absorption length defines the cut-see Section 5.6.3.
  • For some processes, such as d-ray and bremsstrahlung production, the use of a cut is not an option but a necessity, in order to suppress the generation of large numbers of soft electrons and gammas.
  • The authors use range to ensure uniformity between different particles (in particular between electrons and photons).

5.6.3. Range and absorption length tables

  • In order to implement the range cut policy described in Section 5.6.2, the relevant electro- magnetic processes produce range-energy and absorption length-energy tables for each material for use by all processes.
  • The range is computed by numerical integration of energy loss for electrons/ positrons, muons, protons and antiprotons.
  • The range for other charged hadrons is computed from the proton table by using the scaled kinetic energy T s ¼.
  • This approach can be used because ionisation losses depend only on the velocity.
  • For bremsstrahlung, a cut based on the absorption length for photons is approximated as described below.

5.6.4. Energy loss of electrons/positrons

  • The G4VeEnergyLoss class computes the continuous energy loss of electrons and positrons.
  • G4eIonisation calculates the contribution due to ionisation and simulates the ''discrete'' part of the ionisation-Moller and Bhabha scattering or d-ray production.
  • First the energy loss tables are constructed and filled, simply summing the contributions computed for ionisation and bremsstrahlung.
  • After this, it creates range tables and their inverses for e þ =e À for every material.
  • After the mean energy loss has been calculated, the process computes the actual energy loss, i.e., the loss with fluctuation.

5.6.5. Energy loss of muons

  • The energy loss of muons is computed by the class G4VMuEnergyLoss.
  • They each also simulate the corresponding discrete processes-d-ray production, hard bremsstrahlung and hard direct e þ =e À pair production, respectively.

5.6.6. Energy loss of charged hadrons

  • The continuous energy loss of charged hadrons is calculated by the class G4VhEnergyLoss.
  • Here there is only one process which contributes, namely ionisation (class G4hIonisation), which also simulates the discrete process of hard d-ray production.

5.6.8. Multiple scattering

  • The G4MultipleScattering class simulates the multiple scattering of charged particles in material.
  • It simulates the scattering of the particle after a given step, computes the mean path length correction and the mean lateral displacement.
  • It uses a new multiple scattering model [60] which does not use the Moli" ere formalism.
  • Liljequist et al. [61] have calculated tables of parameters for electrons and positrons in the kinetic energy range 0:1 keV to 20 MeV in 15 materials.
  • The authors model uses these values, corrected for a nuclear size effect, with an appropriate interpolation or extrapolation in the atomic number and in the velocity of the particle when necessary.

5.6.9. Low energy extensions

  • A set of physics processes is implemented in Geant4 to extend the range of validity of electromagnetic interactions down to lower energy than the standard electromagnetic processes.
  • The current implementation of low energy electron and photon processes [62] can be used down to 250 eV:.
  • The implementation of electron and gamma processes is based on the exploitation of evaluated data libraries (EPDL97 [63] , EEDL [64] and EADL [65] ) that provide data for the determination of cross-sections and the sampling of the final state.
  • It adopts different models depending on the energy range and the particle charge.
  • In the high energy ð> 2 MeVÞ domain the Bethe-Bloch formula and in the low energy one (o1 keV for protons) the free electron gas model are applied respectively.

5.7. Photo-and electro-production of hadrons

  • Geant4 includes photonuclear and electronuclear reactions which convert the energy flow of electrons, positrons and photons into the energy flow of mesons, baryons and nuclear fragments [58] .
  • In the nuclear giant resonance region the cross-section of the photonuclear process is comparable with the other electromagnetic processes.
  • At high energies, because of the Froissart increase of interaction cross-sections and large energy transferred to nucleus, this kind of reaction can be very important [59] .
  • The electronuclear reactions use the equivalent photon method [58] .
  • Approximation of structure functions of nucleons and simulation of DIS reactions are under development.

5.8. Muo-production of hadrons

  • Geant4 also provides the nuclear interaction of muons with production of hadrons.
  • This is important for the simulation of detector response to high energy muons, muon propagation and muon-induced hadronic background at energies above 10 GeV and relatively high energy transfers, in particular in light materials [60] .
  • The average energy loss for this process increases almost linearly with energy, and at TeV muon energies constitutes about 10% in standard rock.
  • Extension to lower energies, starting from the nuclear disintegration threshold, on the basis of the equivalent photon method [58] , is under development.

5.9. Hadronic processes

  • The energy ranges from thermal for neutron crosssections and interactions, through 7 TeV (in the laboratory) for LHC experiments, to even higher for cosmic ray physics.
  • When simulating backgrounds in the muon systems of the large LHC experiments, critical items are the production of muons in hadronic showers, as well as the simulation of punch-through and low energy neutron interactions.
  • When studying the impact of a neutron irradiated gadolinium rod on a tumour, precise Doppler broadening of crosssections and energy distributions of the capture photons are vital.
  • A simulation tool-kit is therefore required to include the calculation of cross-sections for the scattering of any incident meson or baryon (having a mean-life long enough for interactions to be nonnegligible) off any stable or long lived nuclear isotope target and to include models of these interactions.
  • A good toolkit will offer flexible choice of alternative cross-section algorithms and interaction models that the user can choose according to his computer memory and performance and his needed precision.

5.9.1. Interaction cross-sections

  • The total cross-sections for inelastic scattering, capture of neutral particles, induced fission and elastic scattering have been carried over from GEANTA3.
  • The software design in Geant4 allows one to overload these defaults with specialised data-sets.
  • Custom data sets are provided for proton induced reactions [73] and neutron induced reactions [74] at particle energies below 20 GeV; and ion spallation reactions [75] , as well as neutron interactions at energies below 20 MeV:.

5.9.2. Modelling final states

  • Three classes of models are distinguished for modelling final states.
  • Data driven modelling is used in the context of neutron transport, photon evaporation, absorption at rest, calculation of inclusive cross-sections, and isotope production.
  • Theory based modelling is the basic approach in many models that are provided by Geant4 or are under development.
  • Scattering is done as in the QMD model, with the possibility of using identical scattering implementations.
  • It is released in the toolkit as a final state generator for the reactions of pion capture at rest, anti-proton capture at rest, as fragmentation model for photo-and electronuclear reactions, and as nuclear fragmentation model for residual nuclei absorbing the soft part of the Quark-Gluon String or diffractive string.

5.9.3. Sample data driven models

  • As an example of a data driven model, the authors briefly describe the models for neutron and proton induced isotope production.
  • They are based on evaluated nucleon scattering data for kinetic energies below 20 MeV; and a combination of evaluated data and extrapolations at energies up to 100 MeV:.
  • The authors selection was guided in large part by the FENDL2.0 selection.
  • For a complete description and more comparisons, see Ref. [98] .

5.9.4. Sample parameterised models

  • Parameterisation based models have been found to be very powerful in the case of calorimeter simulation.
  • Without giving a detailed description of these models, the authors want to illustrate the predictive power for the case of high energy models in Fig. 10 for production of neutral pions in interactions of kaons and pions with gold and aluminum.

5.9.5. Sample theory driven models

  • Given that the chiral invariant phase-space decay model CHIPS is a rather new invention and is researched only within Geant4, the authors choose this as an example for a theory based model.
  • CHIPS is a quark-level 3-dimensional event generator for fragmentation of excited hadronic systems into hadrons.
  • An important feature is the universal thermodynamic approach to different types of excited hadronic systems including nucleon excitations, hadron systems produced in e þ e À interactions, high energy nuclear excitations, etc.
  • Exclusive event generation, which models hadron production conserving energy, momentum, and charge, generally results in a good description of particle multiplicities and spectra in multi-hadron fragmentation processes.

5.10. Optical processes

  • Geant4 is an ideal framework for modelling the optics of scintillation and Cherenkov detectors and their associated light guides.
  • This is founded in its unique capacity of commencing the simulation with the propagation of a charged particle and completing it with the detection of the ensuing optical photons on photo-sensitive areas, all within the same event loop.
  • A photon is called optical when its wavelength is much greater than the typical atomic spacing.
  • In Geant4 the concept of optical photons is a class of particles detached from their higher energy gamma cousins.
  • The catalog of processes at optical wavelengths includes refraction and reflection at medium boundaries, bulk absorption and Rayleigh scattering.

5.10.2. Scintillation

  • Every scintillation material has a characteristic light yield and an intrinsic resolution, which generally broadens the statistical distribution, due to impurities; typical examples are doped crystals like NaI(Tl) and CsI(Tl).
  • The average yield can have a non-linear dependence on the local energy deposition.
  • Scintillating materials also have emission time spectra with one or more exponential decay time constants, with each decay component having its intrinsic photon emission spectrum.
  • Geant4 provides a framework in which this can be done effectively.
  • The photons originate evenly along the track segment and are emitted isotropically with a random linear polarization.

5.10.3. Absorption and Rayleigh scattering

  • The implementation of optical photon bulk absorption is trivial in that the process merely kills the particle.
  • The procedure requires the user to fill the relevant material property table with empirical data for the absorption length.
  • The differential cross-section in Rayleigh scattering is proportional to the square of the cosine of the angle between the new photon's polarization vector and that of the original photon.
  • The Rayleigh scattering process samples this angle accordingly and then calculates the scattered photon's new direction by requiring that it be perpendicular to the photon's new polarization in such a way that the final direction, initial and final polarization are all in one plane.

5.10.4. Reflection and refraction

  • The optical boundary process design relies heavily on the concept of surfaces.
  • One class in the materials category keeps information about the physical properties of the surface itself, and a second class in the geometry category holds pointers to the relevant physical or logical volumes involved and has an association with the physical properties class.
  • The usage of this table allows all specular constants to be wavelength dependent.
  • In the case of two dielectric materials, the photon can be totally internal reflected, refracted or reflected, depending on the photon's wavelength, angle of incidence, polarization and the refractive indices on both sides of the boundary.
  • The user has two choices in Geant4 for modelling a realistic surface, either the UNIFIED model [101] of the DETECT [102] program, or the original GEANT3 implementation via the GLI-SUR methods flag.

5.11. Transition radiation

  • Transition radiation emitted by a relativistic charged particle crossing an interface between two materials with different dielectric properties is implemented as a boundary process.
  • (An alternative implementation is described in Section 6.1.).
  • The class G4ForwardXrayTR is responsible for the description of X-ray transition radiation (XTR) photon generation from one interface between two different materials.
  • The base class G4Tran-sitionRadiation consists of methods and data members which can be used in both optical and Xray transition radiations.

6. Additional capabilities

  • The real power of the object-oriented approach lies in the ability to extend the basic functionality either by implementing classes derived from the kernel base classes or writing ''plug-ins'' which use Geant4.
  • An example of the former, in fact, is the whole of the physics processes; the kernel is written for the generic process defined by the abstract interface and any process which conforms to this interface can be used.
  • All this can happen without modifying the kernel.
  • Visualization and analysis, described in Section 7 and persistency, described below.
  • This might happen in a large project that has already defined its software framework and already made decisions about such functions.

6.1. Parameterisation for fast simulation

  • Fast simulation or parameterisation allows one to take over the tracking and implement, for example, a fast algorithm of detector response.
  • Parameterisations are designed as models, applicable to specific particle types and defining a trigger method.
  • Envelopes are volumes that are ''overlayed'' on the normal tracking geometry and an extra navigation method is performed to check whether the current particle is inside this volume.
  • The interface between the parameterisation and the tracking is provided by a G4VProcess, the G4FastSimulationManagerProcess (G4FMP), which checks for the presence of a G4FastSimu-lationManager object and messages it if any.
  • It has also the DoIt function providing XTR photon generation and moving the incident particle through the XTR radiator.

6.2. Event biasing

  • Variance reduction techniques are an important aspect of most Monte Carlo calculations and allow 12 .
  • Illustrating the working of the G4XrayTRmodel::DoIt function.
  • Each XTR photon then will be moved to the border of G4Envelope.
  • The user to tune the simulation to the part of the problem space (particle species, energy, position, etc.) most relevant to his/her application [107] .
  • More general facilities to allow a user to bias the simulation conditions, without the need for significant code development, are currently being developed.

7. Interactivity and visualisation

  • Interactivity and visualisation span three related categories, i.e., intercoms, interfaces, and visualisation categories.
  • Visualisation is a high level category which uses intercoms and-if interactive graphical tools are shared, such as the X Windows Toolkit (Unix) or Microsoft Windows-also uses interfaces, where the windows event handlers are coded.
  • Drivers for several graphics systems are offered and can be instantiated in parallel.
  • Below, the authors describe these categories in turn.
  • The authors also describe how the visual debugging of detector geometry models can be realised in Geant4.

7.1. User interfaces

  • The design of Geant4 user interfaces was influenced by two considerations: the categories of users and the phases of user actions.
  • Available commands may vary from one application to another.
  • (3) Framework provider who is a Geant4 developer.
  • The user interaction is different in each phase and this requires that a Geant4 application is a state-machine and that its available commands and their parameters may vary according to state.
  • The intercoms category implements an expandable command interpreter which is the key mechanism in Geant4 for realising customisable and state-dependent user interactions with all categories without being perturbed by the dependencies among classes.

7.1.1. Concrete implementations

  • Various user interface tools like Motif, Tk/tcl, JAVA, etc., have been used to implement the command ''capturer''.
  • The richness of the Collaboration has permitted different groups to offer various front-ends to the Geant4 command system.

7.1.2. Other tools for application programmers

  • Geant4 requires the application programmer to create three mandatory classes relating to detector geometry, physics processes and the primary generator.
  • The following tools have been developed to help him/her to create the first two of these classes without memorising the straight-forward but tedious names and methods of relevant classes like materials, solids, particles, etc.
  • These have proved very useful for rapid prototyping of simulation applications [115] .

7.2. Visualisation

  • Geant4 visualisation is designed to visualise detector geometry, particle trajectories, tracking steps, hits, texts (character strings), etc., to help users to prepare and execute detector simulation.
  • It is very difficult to respond to all of these requirements with only one built-in visualiser, so the authors have designed an abstract interface which supports several complementary graphics systems.
  • A concrete implementation of the interface is called a visualisation driver, and this can use a graphics library directly, communicate with an independent process via pipe or socket, or simply write an intermediate file for a separate viewer.

7.4. Geometry verification

  • The application developer's job includes describing a detector geometry, usually by writing C++ codes.
  • Geant4 visualisation supports a powerful way of visually debugging intersections of physicalvolume surfaces.
  • Fig. 15 is a sample visualisation of detector geometry with intersecting physical volumes highlighted.
  • The disadvantage is that small errors may be missed if the linear trajectories do not happen to pass through the problematic region of space.
  • On the other hand, it uses the geometry algorithms built into Geant4 itself and the geometry is sampled where the user is most interested in its validation.

8. Conclusion

  • The Geant4 toolkit provides a versatile and comprehensive software package for modern simulation applications that involve the interaction and passage of particles through matter.
  • It can handle complex geometries efficiently and compactly, and allows visualization of the geometry and particle tracks through a variety of interfaces.
  • These treat, for example, hadronic interactions from thermal energies up to 1 PeV; electromagnetic interactions of charged hadrons, ions, leptons and photons from 250 eV to 1 PeV or more, as well as the production and propagation of optical photons.
  • The implementation of the toolkit in an object-oriented design allows it to be easily extended, where appropriate, to meet the requirements of the user, through class inheritance.
  • Geant4 has been, and continues to be developed and maintained through a Memorandum of Understanding agreed between the many collaborating institutes.

Did you find this useful? Give us your feedback

Figures (14)

Content maybe subject to copyright    Report

ARTICLE IN PRESS
Nuclear Instruments and Methods in Physics Research A 506 (2003) 250303
Gea nt4—a simulation toolkit
S. Agostinelli
ae
, J. Allison
as,
*, K. Amako
e
, J. Apostolakis
a
, H. Araujo
aj
,
P. Arce
l,m,x,a
, M. Asai
g,ai
, D. Axen
i,t
, S. Banerjee
bi,l
, G. Barrand
an
, F. Behner
l
,
L. Bellagamba
c
, J. Boudreau
bd
, L. Broglia
ar
, A. Brunengo
c
, H. Burkhardt
a
,
S. Chauvie
bj,bl
, J. Chuma
h
, R. Chytracek
a
, G. Cooperman
az
, G. Cosmo
a
,
P. Degtyarenko
d
, A. Dell’Acqua
a,i
, G. Depaola
y
, D. Dietrich
af
, R. Enami
ab
,
A. Feliciello
bj
, C. Ferguson
bh
, H. Fesefeldt
l,o
, G. Folger
a
, F. Foppiano
ac
,
A. Forti
as
, S. Garelli
ac
, S. Giani
a
, R. Giannitrapani
bo
, D. Gibin
m,bc
, J.J. G
!
omez
Cadenas
m,bp
, I. Gonz
!
alez
q
, G. Gracia Abril
n
, G. Greeniaus
p,h,ag
, W. Greiner
af
,
V. Grichine
f
, A. Grossheim
m,z
, S. Guatelli
ad
, P. Gumplinger
h
, R. Hamatsu
bk
,
K. Hashimoto
ab
, H. Hasui
ab
, A. Heikkinen
ah
, A. Howard
aj
, V. Ivanchenko
a,ba
,
A. Johnson
g
, F.W. Jones
h
, J. Kallenbach
aa
, N. Kanaya
i,h
, M. Kawabata
ab
,
Y. Kawabata
ab
, M. Kawaguti
ab
, S. Kelner
at
, P. Kent
r
, A. Kimura
ay,bb
,
T. Kodama
aw
, R. Kokoulin
at
, M. Kossov
d
, H. Kurashige
am
, E. Lamanna
w
,
T. Lamp
!
en
ah
, V. Lara
a,l,bq
, V. Lefebure
l
, F. Lei
bh,be
, M. Liendl
l,a,br
,
W. Lockman
j,bn
, F. Longo
bm
, S. Magni
k,au
, M. Maire
ao
, E. Medernach
a
,
K. Minamimoto
aw,al
, P. Mora de Freitas
ap
, Y. Morita
e
, K. Murakami
e
,
M. Nagamatu
aw
, R. Nartallo
b
, P. Nieminen
b
, T. Nishimura
ab
, K. Ohtsubo
ab
,
M. Okamura
ab
, S. O’Neale
s
, Y. Oohata
bk
, K. Paech
af
, J. Perl
g
, A. Pfeiffer
a
,
M.G. Pia
ad
, F. Ranjard
n
, A. Rybin
ak
, S. Sadilov
a,ak
, E. Di Salvo
c
, G. Santin
bm
,
T. Sasaki
e
, N. Savvas
as
, Y. Sawada
ab
, S. Scherer
af
, S. Sei
aw
, V. Sirotenko
i,al
,
D. Smith
g
, N. Starkov
f
, H. Stoecker
af
, J. Sulkimo
ah
, M. Takahata
ay
, S. Tanaka
bg
,
E. Tcherniaev
a
, E. Safai Tehrani
g
, M. Tropeano
ae
, P. Truscott
be
, H. Uno
aw
,
L. Urban
v
, P. Urban
aq
, M. Verderi
ap
, A. Walkden
as
, W. Wander
av
, H. Weber
af
,
J.P. Wellisch
a,l
, T. Wenaus
u
, D.C. Williams
j,bf
, D. Wright
g,h
, T. Yamada
aw
,
H. Yoshida
aw
, D. Zschiesche
af
a
European Organization for Nuclear Research (CERN) Switzerland
b
European Space Agency (ESA), ESTEC, The Netherlands
c
Istituto Nazionale di Fisica Nucleare (INFN), Italy
d
Jefferson Lab, USA
e
KEK, Japan
*Corresponding author. Tel.: +44-161-275-4179; fax: +44-161-273-5867.
E-mail address: john.allison@man.ac.uk (J. Allison).
0168-9002/03/$ - see front matter r 2003 Elsevier Science B.V. All rights reserved.
doi:10.1016/S0168-9002(03)01368-8

f
Lebedev Institute, Russia
g
Stanford Linear Accelerator Center (SLAC), USA
h
TRIUMF, Canada
i
ATLAS Collaboration, CERN, Switzerland
j
BaBar Collaboration, USA
k
Borexino Collaboration, Italy
l
CMS Collaboration, CERN, Switzerland
m
HARP Collaboration, CERN, Switzerland
n
LHCb Collaboration, CERN, Switzerland
o
RWTH, Aachen, Germany
p
University of Alberta, Canada
q
ALICE Collaboration, CERN, Switzerland
r
University of Bath, UK
s
University of Birmingham, UK
t
University of British Columbia, Canada
u
Brookhaven National Laboratory, USA
v
Kfki, Budapest, Hungary
w
Universit
"
a della Calabria and INFN, Italy
x
CIEMAT, Italy
y
University of Cordoba, Spain
z
University of Dortmund, Germany
aa
FNAL, USA
ab
Fukui University, Japan
ac
IST Natl. Inst. for Cancer Research of Genova, Italy
ad
INFN Genova, Italy
ae
Universit
"
a di Genova, Italy
af
Inst. f
.
ur Theoretische Physik, Johann Wolfgang Goethe Universit
.
at, Frankfurt, Germany
ag
HERMES Collaboration, DESY, Germany
ah
Helsinki Institute of Physics (HIP), Finland
ai
Hiroshima Institute of Technology, Japan
aj
Imperial College of Science, Technology and Medicine, London, UK
ak
IHEP Protvino, Russia
al
North Illinois University, USA
am
Kobe University, Japan
an
IN2P3/LAL, Orsay, France
ao
IN2P3/LAPP, Annecy, France
ap
IN2P3/LLR, Palaiseau, France
aq
EPFL, Lausanne, Switzerland
ar
Lyon University, France
as
Department of Physics and Astronomy, The University of Manchester, UK
at
MEPhI, Moscow, Russia
au
INFN, Milan, Italy
av
MIT, USA
aw
Naruto University of Education, Japan
ay
Niigata University, Japan
az
Northeastern University, USA
ba
Budker Institute for Nuclear Physics, Novosibirsk, Russia
bb
Osaka Institute of Technology, Japan
bc
Universit
"
a di Padova, Italy
bd
University of Pittsburg, USA
be
QinetiQ, UK
bf
SCIPP/UCSC, Santa Cruz, USA
bg
Ritsumeikan University, Japan
bh
University of Southampton, UK
bi
TIFR, Mumbai, India
bj
INFN, Torino, Italy
bk
Tokyo Metropolitan University, Japan
ARTICLE IN PRESS
S. Agostinelli et al. / Nuclear Instruments and Methods in Physics Research A 506 (2003) 250303 251

bl
Universit
"
a di Torino, Italy
bm
Universit
"
a di Trieste and INFN Trieste, Italy
bn
UCSC, Santa Cruz, USA
bo
Universit
"
a di Udine and INFN Udine, Italy
bp
University of Valencia, Spain
bq
IFIC Instituto de Fisica Corpuscular de Valencia, Spain
br
Vienna University of Technology, Austria
Geant4 Collaboration
Received 9 August 2002; received in revised form 11 March 2003; accepted 14 March 2003
Abstract
Geant4 is a toolkit for simulating the passage of particles through matter. It includes a complete range of
functionality including tracking, geometry, physics models and hits. The physics processes offered cover a
comprehensive range, including electromagnetic, hadronic and optical processes, a large set of long-lived
particles, materials and elements, over a wide energy range starting, in some cases, from 250 eV and extending in
others to the TeV energy range. It has been designed and constructed to expose the physics models utilised, to handle
complex geometries, and to enable its easy adaptation for optimal use in different sets of applications. The toolkit
is the result of a worldwide collaboration of physicists and software engineers. It has been created exploiting
software engineering and object-oriented technology and implemented in the C++ programming language.
It has been used in applications in particle physics, nuclear physics, accelerator design, space engineering and medical
physics.
r 2003 Elsevier Science B.V. All rights reserved.
PACS: 07.05.Tp; 13; 23
Keywords: Simulation; Particle interactions; Geometrical modelling; Software engineering; Object-oriented technology; Distributed
software development
1. Introduction
Modern particle and nuclear physics experi-
ments pose enormous challenges in the creation of
complex yet robust software frameworks and
applications. Of particular importance is the
ever-increasing demand for large-scale, accurate
and comprehensive simulations of the particle
detectors used in these experiments. The demand
is driven by the escalating size, complexity, and
sensitivity of the detectors and fueled by the
availability of moderate-cost, high-capacity com-
puter systems on which larger and more complex
simulations become possible. Similar considera-
tions arise in other disciplines, such as: radiation
physics, space science, nuclear medicine and, in
fact, any area where particle interactions in matter
play a role.
In response to this, a new object-oriented
simulation toolkit, Gea nt4, has been developed.
The toolkit provides a diverse, wide-ranging, yet
cohesive set of software components which can be
employed in a variety of settings. These range from
simple one-off studies of basic phenomena and
geometries to full-scale detector simulations for
experiments at the Large Hadron Collider and
other facilities.
In defining and implementing the software
components, all aspects of the simulation process
have been included: the geometry of the system,
the materials involved, the fundamental particles
of interest, the generation of primary particles of
events, the tracking of particles through materials
and external electromagnetic fields, the physics
processes governing particle interactions, the
response of sensitive detector components, the
ARTICLE IN PRESS
S. Agostinelli et al. / Nuclear Instruments and Methods in Physics Research A 506 (2003) 250303252

generation of event data, the storage of events and
tracks, the visualisation of the detector and
particle trajectories, and the capture for subse-
quent analysis of simulation data at different levels
of detail and refinement.
Early in the design phase of the project, it was
recognised that while many users would incorpo-
rate the Geant4 tools within their own computa-
tional framework, others would want the
capability of easily constructing stand-alone ap-
plications which carry them from the initial
problem definition right through to the production
of results and graphics for publication. To this
end, the toolkit includes built-in steering routines
and command interpreters which operate at the
problem setup, run, event, particle transportation,
visualisation, and analysis levels, allowing all parts
of the toolkit to work in concert.
At the heart of this software system is an
abundant set of physics models to handle the
interactions of particles with matter across a very
wide energy range. Data and expertise have been
drawn from many sources around the world and in
this respect Geant4 acts as a repository that
incorporates a large part of all that is known about
particle interactions; moreover it continues to be
refined, expanded and developed. A serious
limitation of many previous simulation systems
was the difficulty of adding new or variant physics
models; development became difficult due to the
increasing size, complexity and interdependency of
the procedure-based code. In contrast, object-
oriented methods have allowed us effectively to
manage complexity and limit dependencies by
defining a uniform interface and common organi-
sational principles for all physics models. Within
this framework, the functionality of models can be
more easily seen and understood, and the creation
and addition of new models is a well-defined
procedure that entails little or no modification to
the existing code.
Geant4 was designed and developed by an
international collaboration, formed by individuals
from a number of cooperating institutes, HEP
experiments, and universities. It builds on the
accumulated experience of many contributors to
the field of Monte Carlo simulation of physics
detectors and physical processes. While geogra-
phically distributed software development and
large-scale object-oriented systems are no longer
a novelty, we consider that the Geant4 Collabora-
tion, in terms of the size and scope of the code and
the number of contributors, represents one of the
largest and most ambitious projects of this kind. It
has demonstrated that rigorous software engineer-
ing practices and object-oriented methods can be
profitably applied to the production of a coherent
and maintainable software product, even with the
fast-changing and open-ended requirements pre-
sented by physics research.
In the following sections we present a detailed
overview of Geant4 and its features and capabil-
ities, including the design and implementation of
the various categories of physics models. Many
new physics models have been developed, and
others have been refined or extended. They have
been created to support a growing range of
applications for the software, including particle,
nuclear, medical, accelerator and space physics.
The code and documentation, as well as tutorials
and examples, are available from our Web site [1].
1.1. History of Geant4
The origin of Geant4 development can be
traced back to two studies done independently at
CERN and KEK in 1993 [2]. Both groups sought
to investigate how modern computing techniques
could be applied to improve what was offered by
the existing GEANT3 program [3], which was a
benchmark and source of ideas and valuable
experience. These two activities merged and a
proposal was submitted to the CERN Detector
Research and Development Committee (DRDC)
[4] to construct a simulation program based on
object-oriented technology. The resulting project
was RD44, a worldwide collaboration that grew to
include the efforts of 100 scientists and engineers,
drawn from more than 10 experiments in Europe,
Russia, Japan, Canada and the United States.
The design choices faced by RD44 and the
decisions arrived at are described in later sections,
but key to its success was a careful design adapting
object-oriented methodology and an early decision
to use the practical C++ language.
ARTICLE IN PRESS
S. Agostinelli et al. / Nuclear Instruments and Methods in Physics Research A 506 (2003) 250303 253

The R&D phase was completed in December
1998 [1] with the delivery of the first production
release. Subsequently the Geant4 Collaboration
was established in January 1999 to continue the
development and refinement of the toolkit, and to
provide maintenance and user support.
1.2. Organisation of the collaboration
A Memorandum of Understanding (MoU) [5]
signed by all participating parties governs the
formal collaboration. It is subject to tacit renewal
every 2 years and sets out a collaboration structure
composed of a Collaboration Board (CB), a
Technical Steering Board (TSB) and several work-
ing groups. The MoU also defines the way in
which collaboration resources—money, man-
power, expertise, and key roles and activities (such
as program librarian and documentation man-
ager)—are measured in Contribution Units (CU),
and it further delineates how the boards are
constituted depending on the CU count for each
signatory. Participating groups include experimen-
tal teams and collaborations, laboratories and
national institutes.
It is the CB’s mandate to manage these
resources and to monitor the agreed responsibil-
ities among the affiliates. This body is also charged
with the evolution of the MoU. The TSB, on the
other hand, is the forum where technical matters,
like software engineering details and physics model
implementation issues, are discussed and decided
and where priorities are given to user requests. Its
primary tasks are the supervision of the produc-
tion service and the user support and the over-
seeing of ongoing further development of the
program. The TSB is chaired by the spokesperson
of the Collaboration, who is appointed by and
reports to the CB. The spokesperson is (re)elected
every two years.
Every domain of the Geant4 software that
corresponds to a releasable component (library) is
individually managed by a working group of
experts. In addition, there is a working group for
each of the activities of testing and quality
assurance, software management and documenta-
tion management. A coordinator who is selected
by the TSB heads each group. There is also an
overall release coordinator. This clean overall
problem decomposition makes the distributed
software design and development possible in a
worldwide collaboration. Every group can work in
parallel, allowing an optimal use of manpower and
expertise.
1.3. User support, documentation and source code
The Collaboration provides documentation and
user support for the toolkit. The support model is
described in more detail in Section 3.6.
Documentation [6] includes installation, user
and reference guides, and a range of training kits
(see also Section 1.4). It is intended to cover the
need of the beginner through to the expert user
who wishes to expand the capabilities of Gea nt4.
User support covers help with problems relating
to the code, consultation on using the toolkit and
responding to enhancement requests. A user may
also expect assistance in investigating anomalous
results.
A Web-based reporting system and a list of
frequently asked questions (FAQs) are available
on the Geant4. Web site [1]. The Collaboration
also runs a Web-based user forum [7], with sub-
forums according to areas of different interest.
Regular releases of the source code and doc-
umentation are freely available on the Web.
1.4. Examples and training kits
The toolkit includes examples at three levels:
*
Novice: for understanding basic functionalities;
*
Extended: focused on specific domains of
application (they may also need additional
third party libraries);
*
Advanced: full programs created to utilise
Geant4 in HEP experiments, and for space
and medical applications.
They are intended to develop the user’s under-
standing in many areas. Initial emphasis is on the
classes describing the user’s setup, which are
required by the toolkit. These classes are explained
in Section 2.4.
Geant4 also provides a training kit. It consists
of a modular set of units, each covering a specific
ARTICLE IN PRESS
S. Agostinelli et al. / Nuclear Instruments and Methods in Physics Research A 506 (2003) 250303254

Citations
More filters
Journal ArticleDOI
Georges Aad1, T. Abajyan2, Brad Abbott3, Jalal Abdallah4  +2964 moreInstitutions (200)
TL;DR: In this article, a search for the Standard Model Higgs boson in proton-proton collisions with the ATLAS detector at the LHC is presented, which has a significance of 5.9 standard deviations, corresponding to a background fluctuation probability of 1.7×10−9.

9,282 citations

Journal ArticleDOI
TL;DR: In this paper, results from searches for the standard model Higgs boson in proton-proton collisions at 7 and 8 TeV in the CMS experiment at the LHC, using data samples corresponding to integrated luminosities of up to 5.8 standard deviations.

8,857 citations

Journal ArticleDOI
TL;DR: The Pythia program as mentioned in this paper can be used to generate high-energy-physics ''events'' (i.e. sets of outgoing particles produced in the interactions between two incoming particles).
Abstract: The Pythia program can be used to generate high-energy-physics ''events'', i.e. sets of outgoing particles produced in the interactions between two incoming particles. The objective is to provide as accurate as possible a representation of event properties in a wide range of reactions, within and beyond the Standard Model, with emphasis on those where strong interactions play a role, directly or indirectly, and therefore multihadronic final states are produced. The physics is then not understood well enough to give an exact description; instead the program has to be based on a combination of analytical results and various QCD-based models. This physics input is summarized here, for areas such as hard subprocesses, initial- and final-state parton showers, underlying events and beam remnants, fragmentation and decays, and much more. Furthermore, extensive information is provided on all program elements: subroutines and functions, switches and parameters, and particle and process data. This should allow the user to tailor the generation task to the topics of interest.

6,300 citations

Journal ArticleDOI
TL;DR: GeGeant4 as mentioned in this paper is a software toolkit for the simulation of the passage of particles through matter, it is used by a large number of experiments and projects in a variety of application domains, including high energy physics, astrophysics and space science, medical physics and radiation protection.
Abstract: Geant4 is a software toolkit for the simulation of the passage of particles through matter. It is used by a large number of experiments and projects in a variety of application domains, including high energy physics, astrophysics and space science, medical physics and radiation protection. Its functionality and modeling capabilities continue to be extended, while its performance is enhanced. An overview of recent developments in diverse areas of the toolkit is presented. These include performance optimization for complex setups; improvements for the propagation in fields; new options for event biasing; and additions and improvements in geometry, physics processes and interactive capabilities

6,063 citations

Journal ArticleDOI
W. B. Atwood1, A. A. Abdo2, A. A. Abdo3, Markus Ackermann4  +289 moreInstitutions (37)
TL;DR: The Large Area Telescope (Fermi/LAT) as mentioned in this paper is the primary instrument on the Fermi Gamma-ray Space Telescope, which is an imaging, wide field-of-view, high-energy gamma-ray telescope, covering the energy range from below 20 MeV to more than 300 GeV.
Abstract: (Abridged) The Large Area Telescope (Fermi/LAT, hereafter LAT), the primary instrument on the Fermi Gamma-ray Space Telescope (Fermi) mission, is an imaging, wide field-of-view, high-energy gamma-ray telescope, covering the energy range from below 20 MeV to more than 300 GeV. This paper describes the LAT, its pre-flight expected performance, and summarizes the key science objectives that will be addressed. On-orbit performance will be presented in detail in a subsequent paper. The LAT is a pair-conversion telescope with a precision tracker and calorimeter, each consisting of a 4x4 array of 16 modules, a segmented anticoincidence detector that covers the tracker array, and a programmable trigger and data acquisition system. Each tracker module has a vertical stack of 18 x,y tracking planes, including two layers (x and y) of single-sided silicon strip detectors and high-Z converter material (tungsten) per tray. Every calorimeter module has 96 CsI(Tl) crystals, arranged in an 8 layer hodoscopic configuration with a total depth of 8.6 radiation lengths. The aspect ratio of the tracker (height/width) is 0.4 allowing a large field-of-view (2.4 sr). Data obtained with the LAT are intended to (i) permit rapid notification of high-energy gamma-ray bursts (GRBs) and transients and facilitate monitoring of variable sources, (ii) yield an extensive catalog of several thousand high-energy sources obtained from an all-sky survey, (iii) measure spectra from 20 MeV to more than 50 GeV for several hundred sources, (iv) localize point sources to 0.3 - 2 arc minutes, (v) map and obtain spectra of extended sources such as SNRs, molecular clouds, and nearby galaxies, (vi) measure the diffuse isotropic gamma-ray background up to TeV energies, and (vii) explore the discovery space for dark matter.

3,666 citations

References
More filters
Journal ArticleDOI
TL;DR: In this article, it is shown that the supercritical pomeron theory yields the natural fit of all high energy multiple production data, including those obtained at the SPS-Collider.

231 citations

Journal ArticleDOI
TL;DR: In this paper, a combination of thin-wall glass microspheres filled with high-pressure /sup 3/He gas dispersed in plastic scintillation was used to detect low-energy protons.
Abstract: The authors have been investigating the heterogeneous combination of neutron-conversion materials in a plastic or liquid scintillation matrix with the goal of developing neutron detectors of high detection efficiency and fast response They report on one such combination, consisting of thin-wall glass microspheres filled with high-pressure /sup 3/He gas dispersed in plastic scintillation They have developed glass formulations that are capable of containing the helium in shells with wall thickness as low as 1 mu m with leak rates at room temperature that correspond to several years half life The energy loss of the reaction products in the shell wall and the low light yield of plastic scintillations for low-energy protons result in low light yield per event The authors discuss the use of an optical modeling code to investigate the incorporation of wavelength-shifting elements to aid in the collection of this light from highly scattering composite scintillation media >

189 citations

Proceedings ArticleDOI
A. Levin1, C. Moisan
02 Nov 1996
TL;DR: In this article, Nayar et al. use a Monte Carlo simulation to deal with the interaction of scintillation photons with dielectric surfaces, using the standard deviation of the surface slope as a model parameter that can be extracted from simple measurements.
Abstract: DETECT is a Monte Carlo simulation capable of realistically modeling the optics of scintillation detectors. A limitation of this widely used program is its lack of realism and flexibility in dealing with the surface finish and reflector coating of photon counters. To address these limitations, we initiated the implementation into DETECT of a more physical model to treat the interactions of scintillation photons with dielectric surfaces. Inspired from the initial work of Nayar et al. (1991), this approach has the particular advantage of unifying, into a single parametrization, models that usually apply over a very limited range of surface roughness values. This flexibility is ensured by using the standard deviation of the surface slope as a model parameter that can be extracted from simple measurements.

181 citations

Journal ArticleDOI
TL;DR: The Crystal Barrel experiment at the Low Energy Antiproton Ring (LEAR) at CERN as discussed by the authors collected very large statistical samples in pbarp annihilation, especially at rest and with emphasis on final states with high neutral multiplicity.
Abstract: This report reviews the achievements of the Crystal Barrel experiment at the Low Energy Antiproton Ring (LEAR) at CERN. During seven years of operation Crystal Barrel has collected very large statistical samples in pbarp annihilation, especially at rest and with emphasis on final states with high neutral multiplicity. The measured rates for annihilation into various two-body channels and for electromagnetic processes have been used to test simple models for the annihilation mechanism based on the quark internal structure of hadrons. From three-body annihilations three scalar mesons, a0(1450), f0(1370) and f0(1500) have been established in various decay modes. One of them, f0(1500), may be identified with the expected ground state scalar glueball.

157 citations

Related Papers (5)
Frequently Asked Questions (15)
Q1. What are the contributions in "Geant4—a simulation toolkit" ?

Geant4 is a toolkit for simulating the passage of particles through matter. The physics processes offered cover a comprehensive range, including electromagnetic, hadronic and optical processes, a large set of long-lived particles, materials and elements, over a wide energy range starting, in some cases, from 250 eV and extending in others to the TeV energy range. 

The implementation of the toolkit in an object-oriented design allows it to be easily extended, where appropriate, to meet the requirements of the user, through class inheritance. 

Although unit and system testing are critical to ensure integrity and correctness of the Geant4 code, it is also important to monitor code quality from the start. 

The intercoms category implements an expandable command interpreter which is the key mechanism in Geant4 for realising customisable and state-dependent user interactions with all categories without being perturbed by the dependencies among classes. 

The key domains of the simulation of the passage of particles through matter are:* geometry and materials; * particle interaction in matter; * tracking management; * digitisation and hit management; * event and track management; * visualisation and visualisation framework; * user interface. 

The use of state of the art software technology is the key that allows for distributed development of the physics base of a tool-kit for simulation of hadronic physics in the Geant4 context. 

The need to suspend the primary charged particle track arises in the production of Cherenkov photons because the number of such photons generated during the length of a typical step, as defined by energy loss or multiplescattering, is often very large. 

The basic requirements on the physics modelling of hadronic interactions in a simulation toolkit span more than 15 orders of magnitude in energy. 

It takes cares of all message passing between objects in the different categories which are relevant to transporting a particle (for example, geometry, interactions in matter, etc.). 

The demand is driven by the escalating size, complexity, and sensitivity of the detectors and fueled by the availability of moderate-cost, high-capacity computer systems on which larger and more complex simulations become possible. 

A systematic error of 15% was added to the simulation results to take the error in the extrapolation of the total cross-sections into account. 

The range for other charged hadrons is computed from the proton table by using the scaled kinetic energy Ts ¼ Tmp=m; where T is the particle kinetic energy, m is the particle mass and mp is the proton mass, which is the energy of a proton with the same velocity as the tracked particle. 

Data driven modeling is known to provide the best, if not only, approach to low energy neutron transport for radiation studies in large detectors. 

To achieve this end the authors employ various Quality Assurance tools such as CodeWizard [43], to detect unsafe, nonstandard or errorprone coding practices in the source code, Insure++ [43] and Valgrind [44], to detect data integrity and memory management problems in a running application. 

The Geant4 toolkit contains a large variety of complementary and sometimes alternative physics models covering the physics of photons, electrons, muons, hadrons and ions from 250 eV up to several PeV.