source: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Hit/hit.xml@ 1036

Last change on this file since 1036 was 921, checked in by garnier, 17 years ago

en test de gl2ps. Problemes de libraries

File size: 5.7 KB
Line 
1<!-- ******************************************************** -->
2<!-- Docbook Version: For Toolkit Developers Guide -->
3<!-- ******************************************************** -->
4
5<!-- ******************* Section (Level#1) ****************** -->
6<sect1 id="sect.DsgnFuncHitDig">
7<title>
8Hits and Digitization
9</title>
10
11
12<!-- ******************* Section (Level#2) ****************** -->
13<sect2 id="sect.DsgnFuncHitDig.DsgPhlsp">
14<title>
15Design Philosophy
16</title>
17
18<para>
19In Geant4 a <emphasis role="italic">hit</emphasis> is a snapshot of a
20physical interaction or an accumulation of interactions of a track or
21tracks in a ``sensitive'' detector component. A digitization, or
22<emphasis role="italic">digit</emphasis>, represents a detector output,
23such as an ADC/TDC count or a trigger signal.
24A <emphasis role="italic">digit</emphasis> is created from one or
25more hits and/or other <emphasis role="italic">digits</emphasis>.
26</para>
27
28<para>
29Given the wide variety of Geant4 applications, ways of describing detector
30sensitivity and the quantities to be stored in the
31<emphasis role="italic">hits</emphasis> and
32<emphasis role="italic">digits</emphasis> vary greatly. This category
33therefore provides only abstract classes for both detector sensitivity and
34<emphasis role="italic">hits</emphasis>/<emphasis role="italic">digits</emphasis>.
35It also provides tools for organizing the
36<emphasis role="italic">hits</emphasis>/<emphasis role="italic">digits</emphasis>
37into collections.
38</para>
39
40</sect2>
41
42<!-- ******************* Section (Level#2) ****************** -->
43<sect2 id="sect.DsgnFuncHitDig.ClassDsg">
44<title>
45Class Design
46</title>
47
48<para>
49<itemizedlist spacing="compact">
50 <listitem><para>
51 <emphasis role="bold">G4SensitiveDetectorManager</emphasis> -
52 a list of G4SensitiveDetectors.
53 </para></listitem>
54 <listitem><para>
55 <emphasis role="bold">G4HitsStructure</emphasis> -
56 a tree-like structure of G4Hit collections. Each branch represents the
57 hits in given sub-detector. For example, the first level of branches
58 may consist of a tracker, ECAL, and HCAL, while the second level, in HCAL,
59 consists of the barrel and endcaps. Finally the barrel may have phi-slices,
60 Z-slices, etc.
61 </para></listitem>
62 <listitem><para>
63 <emphasis role="bold">G4VSensitiveDetector</emphasis> -
64 an abstract class of all of sensitive volumes.
65 </para></listitem>
66 <listitem><para>
67 <emphasis role="bold">G4HitsCollection</emphasis> -
68 a collection of hits. Instantiates an RWCollection class.
69 </para></listitem>
70 <listitem><para>
71 <emphasis role="bold">G4VHit</emphasis> -
72 this class has all the information about a particular hit caused by a
73 single step.
74 </para></listitem>
75 <listitem><para>
76 <emphasis role="bold">G4VDigitizer</emphasis> -
77 the class of objects which transform the hits deposited by particles into
78 digitizations.
79 </para></listitem>
80 <listitem><para>
81 <emphasis role="bold">G4DigitizerManager</emphasis> -
82 the (single) object dispatching common messages to individual digitizers.
83 </para></listitem>
84 <listitem><para>
85 <emphasis role="bold">G4VDigi</emphasis> -
86 an abstract (base) class for all G4 digitizations. This could be data as
87 simple as a singe byte, or as complex as an Ntuple.
88 </para></listitem>
89 <listitem><para>
90 <emphasis role="bold">G4DigiStructure</emphasis> -
91 digitizations are organized as a structure, which could be anything
92 between a single value and an Ntuple.
93 </para></listitem>
94</itemizedlist>
95</para>
96
97<para>
98The object-oriented design of the 'hit' related classes is shown in the
99following class diagrams. The diagrams are described in the Booch notation.
100<xref linkend="fig.DsgnFuncHitDig_1" /> shows the general management of hit classes.
101<xref linkend="fig.DsgnFuncHitDig_2" /> shows the OO design of user-related hit classes.
102<xref linkend="fig.DsgnFuncHitDig_3" /> shows the OO design of the readout geometry.
103
104<figure id="fig.DsgnFuncHitDig_1">
105<title>
106Overview of hit classes management
107</title>
108<mediaobject>
109 <imageobject role="fo">
110 <imagedata
111fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitMain.jpg" format="JPG" contentwidth="10.0cm" align="center" />
112 </imageobject>
113 <imageobject role="html">
114 <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitMain.jpg" format="JPG" align="center" />
115 </imageobject>
116</mediaobject>
117</figure>
118
119
120<figure id="fig.DsgnFuncHitDig_2">
121<title>
122User hit classes
123</title>
124<mediaobject>
125 <imageobject role="fo">
126 <imagedata
127fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitUser.jpg" format="JPG"
128contentwidth="10.0cm" align="center" />
129 </imageobject>
130 <imageobject role="html">
131 <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitUser.jpg" format="JPG" align="center" />
132 </imageobject>
133</mediaobject>
134</figure>
135
136<figure id="fig.DsgnFuncHitDig_3">
137<title>
138Readout geometry
139</title>
140<mediaobject>
141 <imageobject role="fo">
142 <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmReadoutGeom.jpg" format="JPG" contentwidth="10.0cm" align="center" />
143 </imageobject>
144 <imageobject role="html">
145 <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmReadoutGeom.jpg" format="JPG" align="center" />
146 </imageobject>
147</mediaobject>
148</figure>
149</para>
150
151<!-- ******* Bridgehead ******* -->
152<bridgehead role="revisionHistory" renderas="sect4">
153[Status of this chapter]
154</bridgehead>
155<para>
156<simplelist type="var">
157 <member>
158 27.06.05 section on design philosophy added (from Geant4 general paper) by
159 D.H. Wright
160 </member>
161 <member>
162 Dec. 2006 Conversion from latex to Docbook verson by K. Amako
163 </member>
164</simplelist>
165</para>
166
167
168
169</sect2>
170</sect1>
Note: See TracBrowser for help on using the repository browser.