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

Last change on this file since 904 was 904, checked in by garnier, 16 years ago

ajout de la doc

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.gif" format="GIF" contentwidth="10.0cm"  align="center" />
112  </imageobject>
113  <imageobject role="html">
114    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitMain.gif" format="GIF" 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.gif" format="GIF"
128contentwidth="10.0cm" align="center" />
129  </imageobject>
130  <imageobject role="html">
131    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitUser.gif" format="GIF" 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.gif" format="GIF" contentwidth="10.0cm" align="center" />
143  </imageobject>
144  <imageobject role="html">
145    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmReadoutGeom.gif" format="GIF" 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.