end-of-line normalization
[u/mrichter/AliRoot.git] / ITS / doc / doc_itsgeo.html
CommitLineData
7fac8669 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head>
3 <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"><title></title>
4
5 <meta name="GENERATOR" content="OpenOffice.org 1.1.5 (Linux)">
6 <meta name="CREATED" content="20080430;10144900">
7 <meta name="CHANGED" content="20080430;11283000">
8 <style>
9 <!--
10 @page { size: 21.59cm 27.94cm; margin: 2.01cm }
11 P { margin-bottom: 0.2cm }
12 -->
13 </style></head>
14
15<body dir="ltr" lang="en-US">
16<p style="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid;">
17<font face="Albany, sans-serif"><font size="4">============================================================================</font></font></p>
18<p style="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid;">
19<font face="Albany, sans-serif"><font size="4">Description of ALICE ITS
20Geometry Code (Rev. 1,00 - April, 30<sup>th</sup>
212008 - M. Sitta)</font></font></p>
22<p style="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid;">
23<font face="Albany, sans-serif"><font size="4">============================================================================</font></font></p>
24<p style="margin-bottom: 0cm;"><a name="Content"></a><strong><font style="font-size: 16pt;" size="4">Content</font></strong>
25</p>
26<p style="margin-bottom: 0cm;"><br>
27</p>
28<ol>
29 <li><p style="margin-bottom: 0cm;"><a href="#punto%201">General
30 description</a></p>
31 </li><li><p style="margin-bottom: 0cm;"><a href="#punto%202">
32 Detector-specific classes</a></p>
33 </li><li><p style="margin-bottom: 0cm;"><a href="#punto%203">Initialization
34 </a></p>
35 </li><li><p style="margin-bottom: 0cm;"><a href="#punto%204">Main
36 methods</a></p>
37 </li><li><p style="margin-bottom: 0cm;"><a href="#punto%205">Helper
38 classes AliITSgeom and AliITSgeomTGeo</a></p>
39</li></ol>
40<p style="margin-bottom: 0cm;"><br>
41</p>
42<p style="margin-bottom: 0cm;"><br>
43</p>
44<p><a name="punto 1"></a><strong><a href="#Content" name="punto 1">General
45description</a></strong></p>
46<p style="margin-bottom: 0cm;">The <font face="Courier 10 Pitch">
47AliITSv11Hybrid</font> class describes the overall ITS geometry. It is a
48mix between the old geometry (originally coded in the
49<font face="Courier 10 Pitch">AliITSvPPRasymmFMD</font> class) and the new
50TGeo geometry (v11). The "old" part is described using Geant3 volumes, while
51the "new" one using TGeo volumes; moreover the new part is more adherent to
52the technical drawings and so is more realistic.
53</p>
54<p style="margin-bottom: 0cm;">Proper flags, set in the
55<font face="Courier 10 Pitch">AliITSInitGeometry</font> class, determine
56whether the old or the new part is used.
57</p>
58<p style="margin-bottom: 0cm;">Currently all the sensitive detectors and their
59supports, the mechanical supports and part of the services (namely the SDD
60cables) are described in the new geometry. The rest of the services and some
61other mechanics are (sometimes partly) described in the old geometry. Work is
62in progress to move everything in the new geometry.
63</p>
64<p style="margin-bottom: 0cm;"><br>
65</p>
66<p style="margin-bottom: 0cm;">================================================================================</p>
67<p style="margin-bottom: 0cm;"><br>
68</p>
69<p><a name="punto 2"></a><strong><a href="#Content" name="punto 2">
70Detector-specific classes</a></strong></p>
71<p style="margin-bottom: 0cm;">The old geometry is fully described in the
72<font face="Courier 10 Pitch">AliITSv11Hybrid</font> class. For the new
73geometry on the other hand, a set of specific classes are defined
74</p>
75<p style="margin-bottom: 0cm;"><br>
76</p>
77<p style="margin-bottom: 0cm;">-&gt; <font face="Courier 10 Pitch">
78AliITSv11GeometrySPD</font> describes the whole SPD geometry
79</p>
80<p style="margin-bottom: 0cm;">-&gt; <font face="Courier 10 Pitch">
81AliITSv11GeometrySDD</font> describes the whole SDD geometry
82</p>
83<p style="margin-bottom: 0cm;">-&gt; <font face="Courier 10 Pitch">
84AliITSv11GeometrySSD</font> describes the whole SSD geometry
85</p>
86<p style="margin-bottom: 0cm;">-&gt; <font face="Courier 10 Pitch">
87AliITSv11GeometrySupport</font> describes the geometry of some mechanical
88supports (thermal shields and support cylinders and cones)
89</p>
90<p style="margin-bottom: 0cm;"><br>
91</p>
92<p style="margin-bottom: 0cm;">================================================================================</p>
93<p style="margin-bottom: 0cm;"><br>
94</p>
95<p><a name="punto 3"></a><strong><a href="#Content" name="punto 3">
96Initialization</a></strong></p>
97<p style="margin-bottom: 0cm;">To initialize an object of the
98<font face="Courier 10 Pitch">AliITSv11Hybrid</font> class it is enough to
99call its constructor in the <font face="Courier 10 Pitch">Config.C</font>
100macro
101</p>
102<p style="margin-bottom: 0cm;"><font face="Courier 10 Pitch">
103AliITSv11Hybrid *ITS = new AliITSv11Hybrid("ITS","ITS detailed version with TGeo description");</font>
104</p>
105<p style="margin-bottom: 0cm;">the first string is the detector name (which
106is actually ignored, and internally set to "ITS"), the second string is an
107arbitrary title. Both strings are passed to the <font face="Courier 10 Pitch">
108AliITS</font> constructor.
109</p>
110<p style="margin-bottom: 0cm;"><br>
111</p>
112<p style="margin-bottom: 0cm;">The class constructor initializes its private
113members, creates an object for each detector-specific class and sets their
114names, and sets the defaults for some detector parameters.
115</p>
116<p style="margin-bottom: 0cm;"><br>
117</p>
118<p style="margin-bottom: 0cm;">================================================================================</p>
119<p style="margin-bottom: 0cm;"><br>
120</p>
121<p><a name="punto 4"></a><strong><a href="#Content" name="punto 4">Main
122Methods</a></strong></p>
123<p style="margin-bottom: 0cm;">The main methods of the
124<font face="Courier 10 Pitch">AliITSv11Hybrid</font> class are
125</p>
126<p style="margin-bottom: 0cm;"><br>
127</p>
128<ul>
129<li><font face="Courier 10 Pitch">AliITSv11Hybrid::CreateGeometry</font> first
130calls <font face="Courier 10 Pitch">CreateOldGeometry</font> to define the
131old (Geant3) volumes (the ones still active according to the aforementioned
132flags); then it calls specific methods of the detector classes to create
133the new geometry</li>
134<li><font face="Courier 10 Pitch">AliITSv11Hybrid::CreateOldGeometry</font>
135creates the old geometry volumes; flags are used to determine which sections
136are to be skipped because already coded in the detector-specific classes</li>
137<li><font face="Courier 10 Pitch">AliITSv11Hybrid::CreateMaterials</font>
138defines all materials and mediums used in the ITS geometry description</li>
139<li><font face="Courier 10 Pitch">AliITSv11Hybrid::AddAlignableVolumes</font>
140creates entries for alignable volumes associating the symbolic volume name
141with the corresponding volume path</li>
142<li><font face="Courier 10 Pitch">AliITSv11Hybrid::StepManager</font> is
143called at every step in the ITS to save hits according to the subdetector
144which the particle is in</li>
145</ul>
146<p style="margin-bottom: 0cm;"><br>
147</p>
148<p style="margin-bottom: 0cm;">================================================================================</p>
149<p style="margin-bottom: 0cm;"><br>
150</p>
151<p><a name="punto 5"></a><strong><a href="#Content" name="punto 5">Helper
152classes AliITSgeom and AliITSgeomTGeo</a></strong></p>
153<p style="margin-bottom: 0cm;"><font face="Courier 10 Pitch">AliITSgeomTGeo
154</font> is a simple interface class to TGeoManager. It is used in the
155simulation and reconstruction in order to query the TGeo ITS geometry.
156</p>
157<p style="margin-bottom: 0cm;">It has methods such as for example<br>
158<font face="Courier 10 Pitch">GetModuleIndex</font> to compute the module
159index number from the layer, ladder, and detector numbers<br>
160<font face="Courier 10 Pitch">GetModuleId</font> to compute the layer,
161ladder and detector number given the module index number<br>
162<font face="Courier 10 Pitch">GetLayer</font> to compute the layer number
163for a given the module index<br>
164<font face="Courier 10 Pitch">GetMatrix</font> to get the
165transformation matrix for a given module by quering the TGeoManager<br>
166<font face="Courier 10 Pitch">GetTranslation</font> and
167<font face="Courier 10 Pitch">GetRotation</font> to get the translation
168vector or the rotation matrix for a given module by quering the
169TGeoManager<br>
170<font face="Courier 10 Pitch">LocalToGlobal</font> and
171<font face="Courier 10 Pitch">GlobalToLocal</font> to make the conversion
172from the local sensitive reference system to the global reference system
173and vice-versa, for an arbitrary local or global position
174</p>
175<p style="margin-bottom: 0cm;"><br>
176</p>
177<p style="margin-bottom: 0cm;">Similarly the <font face="Courier 10 Pitch">
178AliITSgeom</font> class contains other methods for querying and
179interfacing the ITS geometry.
180</p>
181<p style="margin-bottom: 0cm;"><br>
182</p>
183
184</body></html>