Geant4 User's Guide
For Application Developers |
1. Introduction
Geant4 is a completely new detector simulation toolkit written in the C++ language. The reader is assumed to have a basic knowledge of object-oriented programming using C++. No knowledge of earlier FORTRAN versions of Geant is required. Although Geant4 is a fairly complicated software system, only a relatively small part of it needs to be understood in order to begin developing detector simulation applications.
Chapter 3, "Toolkit Fundamentals" discusses general Geant4 issues such as class categories and the physical units system. It goes on to discuss runs and events, which are the basic units of a simulation.
Chapter 4, "Detector Definition and Response" describes how to construct a detector from customized materials and geometric shapes, and embed it in electromagnetic fields. It also describes how to make the detector sensitive to particles passing through it and how to store this information.
How particles are propagated through a material is treated in Chapter 5, "Tracking and Physics". The Geant4 "philosophy" of particle tracking is presented along with summaries of the physics processes provided by the toolkit. The definition and implementation of Geant4 particles is discussed and a list of particle properties is provided.
Chapter 6, "User Actions" is a description of the "user hooks" by which the simulation code may be customized to perform special tasks.
Chapter 7, "Communication and Control" provides a summary of the commands available to the user to control the execution of the simulation. After Chapter 2, Chapters 6 and 7 are of formeost importance to the new application developer.
The display of detector geometry, tracks and events may be incorporated into a simulation application by using the tools described in Chapter 8, "Visualization".
Chapter 9, "Examples" provides a set of novice and advanced simulation codes which may be compiled and run "as is" from the Geant4 source code. These examples may be used as educational tools or as base code from which more complex applications are developed.