[904] | 1 | <!-- ******************************************************** --> |
---|
| 2 | <!-- --> |
---|
| 3 | <!-- [History] --> |
---|
| 4 | <!-- Converted to DocBook: Katsuya Amako, Nov-2006 --> |
---|
| 5 | <!-- --> |
---|
| 6 | <!-- ******************************************************** --> |
---|
| 7 | |
---|
| 8 | |
---|
| 9 | <!-- ******************* Section (Level#1) ****************** --> |
---|
| 10 | <sect1 id="sect.scope"> |
---|
| 11 | <title> |
---|
| 12 | Scope of this manual |
---|
| 13 | </title> |
---|
| 14 | |
---|
| 15 | <para> |
---|
| 16 | The User's Guide for Toolkit Developers provides detailed information about |
---|
| 17 | the design of Geant4 classes as well as the information required to extend |
---|
| 18 | the current functionality of the Geant4 toolkit. This manual is designed |
---|
| 19 | to: |
---|
| 20 | |
---|
| 21 | <itemizedlist spacing="compact"> |
---|
| 22 | <listitem><para> |
---|
| 23 | provide a repository of information for those who want to |
---|
| 24 | understand or refer to the detailed design of the toolkit, and |
---|
| 25 | </para></listitem> |
---|
| 26 | <listitem><para> |
---|
| 27 | provide details and procedures for extending the functionality |
---|
| 28 | of the toolkit so that experienced users may contribute code |
---|
| 29 | which is consistent with the overall design of Geant4. |
---|
| 30 | </para></listitem> |
---|
| 31 | </itemizedlist> |
---|
| 32 | </para> |
---|
| 33 | |
---|
| 34 | <para> |
---|
| 35 | This manual is intended for developers and experienced users of Geant4. |
---|
| 36 | It is assumed that the reader is already familiar with functionality of |
---|
| 37 | the Geant4 toolkit as explained in the ``User's Guide For Application |
---|
| 38 | Developers", and also has a working knowledge of programming using C++. |
---|
| 39 | A knowledge of object-oriented analysis and design will also be useful |
---|
| 40 | in understanding this manual. It is also useful to consult the |
---|
| 41 | ``Software Reference Manual'' which provides a list of Geant4 classes |
---|
| 42 | and their major methods. |
---|
| 43 | </para> |
---|
| 44 | |
---|
| 45 | <para> |
---|
| 46 | Detailed discussions of the physics included in Geant4 are provided in |
---|
| 47 | the ``Physics Reference Manual''. |
---|
| 48 | </para> |
---|
| 49 | </sect1> |
---|
| 50 | |
---|
| 51 | |
---|
| 52 | <!-- ******************* Section (Level#1) ****************** --> |
---|
| 53 | <sect1 id="sect.howToUseMan"> |
---|
| 54 | <title> |
---|
| 55 | How to use this manual |
---|
| 56 | </title> |
---|
| 57 | |
---|
| 58 | <para> |
---|
| 59 | <emphasis role="bold">Part I</emphasis>: |
---|
| 60 | to understand the goal of the software design of Geant4, it |
---|
| 61 | is useful to begin by reading the User Requirements Document referred to |
---|
| 62 | in the next section. |
---|
| 63 | </para> |
---|
| 64 | |
---|
| 65 | <para> |
---|
| 66 | <emphasis role="bold">Part II</emphasis>: |
---|
| 67 | ``Design and Function of the Geant4 Categories'' provides |
---|
| 68 | detailed information about the design of each class category and the classes |
---|
| 69 | in it. Before considering an extension of one of the toolkit categories, a |
---|
| 70 | detailed understanding of that category is required. |
---|
| 71 | </para> |
---|
| 72 | |
---|
| 73 | <para> |
---|
| 74 | <emphasis role="bold">Part III</emphasis>: |
---|
| 75 | ``Extending Toolkit Functionality'' explains in some detail |
---|
| 76 | how to extend the functionality of Geant4. Most of the class categories |
---|
| 77 | are covered and some, which are especially useful to most users, are |
---|
| 78 | covered in greater detail. |
---|
| 79 | </para> |
---|
| 80 | |
---|
| 81 | <para> |
---|
| 82 | It is not necessary to understand the entire manual before adding |
---|
| 83 | a new functionality. To add a new physics process, for example, only the |
---|
| 84 | following items must be read and understood: |
---|
| 85 | |
---|
| 86 | <itemizedlist spacing="compact"> |
---|
| 87 | <listitem><para> |
---|
| 88 | the design principle described in the ``Physics processes'' |
---|
| 89 | chapter of Part II </para></listitem> |
---|
| 90 | <listitem><para> |
---|
| 91 | techniques explained in the ``Physics processes'' chapter |
---|
| 92 | of Part III. |
---|
| 93 | </para></listitem> |
---|
| 94 | </itemizedlist> |
---|
| 95 | </para> |
---|
| 96 | |
---|
| 97 | </sect1> |
---|
| 98 | |
---|
| 99 | <!-- ******************* Section (Level#1) ****************** --> |
---|
| 100 | <sect1 id="sect.userReqDoc"> |
---|
| 101 | <title> |
---|
| 102 | User Requirements Document |
---|
| 103 | </title> |
---|
| 104 | |
---|
| 105 | <para> |
---|
| 106 | At the beginning of Geant4 development, a set of user requirements was |
---|
| 107 | collected in order to inform the object-oriented analysis and design of |
---|
| 108 | the toolkit. The User Requirements Document follows the PSS-05 software |
---|
| 109 | engineering standards and is available at |
---|
| 110 | </para> |
---|
| 111 | <para> |
---|
| 112 | <ulink url="http://cern.ch/geant4/OOAandD/URD.pdf"> |
---|
| 113 | http://cern.ch/geant4/OOAandD/URD.pdf . |
---|
| 114 | </ulink> |
---|
| 115 | </para> |
---|
| 116 | |
---|
| 117 | <para> |
---|
| 118 | This document provides a general description of the main capabilities and |
---|
| 119 | constraints of the toolkit. It also defines three types of users |
---|
| 120 | characterized by their level of interaction with the system. Specific |
---|
| 121 | requirements are also listed and classified. |
---|
| 122 | </para> |
---|
| 123 | |
---|
| 124 | <!-- ******* Bridgehead ******* --> |
---|
| 125 | <bridgehead role="revisionHistory" renderas='sect4'> |
---|
| 126 | [Status of this chapter] |
---|
| 127 | </bridgehead> |
---|
| 128 | |
---|
| 129 | <para> |
---|
| 130 | <simplelist type="var"> |
---|
| 131 | <member> |
---|
| 132 | 24.06.05 - re-organized and re-written by D.H. Wright |
---|
| 133 | </member> |
---|
| 134 | </simplelist> |
---|
| 135 | </para> |
---|
| 136 | |
---|
| 137 | |
---|
| 138 | </sect1> |
---|