source: trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/Introduction/introduction.tex @ 1339

Last change on this file since 1339 was 1208, checked in by garnier, 15 years ago

CVS update

File size: 3.1 KB
Line 
1\chapter{Introduction}
2
3\section{Scope of this manual}
4
5The User's Guide for Toolkit Developers provides detailed information about
6the design of Geant4 classes as well as the information required to extend
7the current functionality of the Geant4 toolkit.  This manual is designed
8to: 
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
19This manual is intended for developers and experienced users of Geant4. 
20It is assumed that the reader is already familiar with functionality of
21the Geant4 toolkit as explained in the ``User's Guide For Application
22Developers", and also has a working knowledge of programming using C++.
23A knowledge of object-oriented analysis and design will also be useful
24in understanding this manual.  It is also useful to consult the
25``Software Reference Manual'' which provides a list of Geant4 classes
26and their major methods.
27
28Detailed discussions of the physics included in Geant4 are provided in
29the ``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
35is useful to begin by reading the User Requirements Document referred to
36in the next section. \\
37
38{\bf Part II}, ``Design and Function of the Geant4 Categories'' provides
39detailed information about the design of each class category and the classes
40in it.  Before considering an extension of one of the toolkit categories, a
41detailed understanding of that category is required. \\
42
43{\bf Part III}, ``Extending Toolkit Functionality'' explains in some detail
44how to extend the functionality of Geant4.  Most of the class categories
45are covered and some, which are especially useful to most users, are
46covered in greater detail. \\
47
48It is not necessary to understand the entire manual before adding
49a new functionality.  To add a new physics process, for example, only the
50following 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
62At the beginning of Geant4 development, a set of user requirements was
63collected in order to inform the object-oriented analysis and design of
64the toolkit.  The User Requirements Document follows the PSS-05 software
65engineering standards and is available at
66\begin{verbatim}
67   http://cern.ch/geant4/OOAandD/URD.pdf .
68\end{verbatim}
69This document provides a general description of the main capabilities and
70constraints of the toolkit.  It also defines three types of users
71characterized by their level of interaction with the system.  Specific
72requirements are also listed and classified.
73
74\section{Status of this chapter}
75
7624.06.05 - re-organized and re-written by D.H. Wright \\
Note: See TracBrowser for help on using the repository browser.