[1208] | 1 | \chapter{Introduction} |
---|
| 2 | |
---|
| 3 | \section{Scope of this manual} |
---|
| 4 | |
---|
| 5 | The User's Guide for Toolkit Developers provides detailed information about |
---|
| 6 | the design of Geant4 classes as well as the information required to extend |
---|
| 7 | the current functionality of the Geant4 toolkit. This manual is designed |
---|
| 8 | to: |
---|
| 9 | |
---|
| 10 | \begin{itemize} |
---|
| 11 | \item provide a repository of information for those who want to |
---|
| 12 | understand or refer to the detailed design of the toolkit, and |
---|
| 13 | |
---|
| 14 | \item provide details and procedures for extending the functionality |
---|
| 15 | of the toolkit so that experienced users may contribute code |
---|
| 16 | which is consistent with the overall design of Geant4. |
---|
| 17 | \end{itemize} |
---|
| 18 | |
---|
| 19 | This manual is intended for developers and experienced users of Geant4. |
---|
| 20 | It is assumed that the reader is already familiar with functionality of |
---|
| 21 | the Geant4 toolkit as explained in the ``User's Guide For Application |
---|
| 22 | Developers", and also has a working knowledge of programming using C++. |
---|
| 23 | A knowledge of object-oriented analysis and design will also be useful |
---|
| 24 | in understanding this manual. It is also useful to consult the |
---|
| 25 | ``Software Reference Manual'' which provides a list of Geant4 classes |
---|
| 26 | and their major methods. |
---|
| 27 | |
---|
| 28 | Detailed discussions of the physics included in Geant4 are provided in |
---|
| 29 | the ``Physics Reference Manual''. |
---|
| 30 | |
---|
| 31 | |
---|
| 32 | \section{How to use this manual} |
---|
| 33 | |
---|
| 34 | {\bf Part I}: to understand the goal of the software design of Geant4, it |
---|
| 35 | is useful to begin by reading the User Requirements Document referred to |
---|
| 36 | in the next section. \\ |
---|
| 37 | |
---|
| 38 | {\bf Part II}, ``Design and Function of the Geant4 Categories'' provides |
---|
| 39 | detailed information about the design of each class category and the classes |
---|
| 40 | in it. Before considering an extension of one of the toolkit categories, a |
---|
| 41 | detailed understanding of that category is required. \\ |
---|
| 42 | |
---|
| 43 | {\bf Part III}, ``Extending Toolkit Functionality'' explains in some detail |
---|
| 44 | how to extend the functionality of Geant4. Most of the class categories |
---|
| 45 | are covered and some, which are especially useful to most users, are |
---|
| 46 | covered in greater detail. \\ |
---|
| 47 | |
---|
| 48 | It is not necessary to understand the entire manual before adding |
---|
| 49 | a new functionality. To add a new physics process, for example, only the |
---|
| 50 | following items must be read and understood: |
---|
| 51 | |
---|
| 52 | \begin{itemize} |
---|
| 53 | \item the design principle described in the ``Physics processes'' |
---|
| 54 | chapter of Part II |
---|
| 55 | \item techniques explained in the ``Physics processes'' chapter |
---|
| 56 | of Part III. |
---|
| 57 | \end{itemize} |
---|
| 58 | |
---|
| 59 | |
---|
| 60 | \section{User Requirements Document} |
---|
| 61 | |
---|
| 62 | At the beginning of Geant4 development, a set of user requirements was |
---|
| 63 | collected in order to inform the object-oriented analysis and design of |
---|
| 64 | the toolkit. The User Requirements Document follows the PSS-05 software |
---|
| 65 | engineering standards and is available at |
---|
| 66 | \begin{verbatim} |
---|
| 67 | http://cern.ch/geant4/OOAandD/URD.pdf . |
---|
| 68 | \end{verbatim} |
---|
| 69 | This document provides a general description of the main capabilities and |
---|
| 70 | constraints of the toolkit. It also defines three types of users |
---|
| 71 | characterized by their level of interaction with the system. Specific |
---|
| 72 | requirements are also listed and classified. |
---|
| 73 | |
---|
| 74 | \section{Status of this chapter} |
---|
| 75 | |
---|
| 76 | 24.06.05 - re-organized and re-written by D.H. Wright \\ |
---|