avoid histos tied to directory to avoid their automatic deletion
[u/mrichter/AliRoot.git] / ITS / doc / doc_itsgeo.html
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
20 Geometry Code   (Rev. 1,00 -  April, 30<sup>th</sup>
21 2008 -  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
45 description</a></strong></p>
46 <p style="margin-bottom: 0cm;">The <font face="Courier 10 Pitch">
47 AliITSv11Hybrid</font> class describes the overall ITS geometry. It is a
48 mix between the old geometry (originally coded in the
49 <font face="Courier 10 Pitch">AliITSvPPRasymmFMD</font> class) and the new
50 TGeo geometry (v11). The "old" part is described using Geant3 volumes, while
51 the "new" one using TGeo volumes; moreover the new part is more adherent to
52 the 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
56 whether the old or the new part is used.
57 </p>
58 <p style="margin-bottom: 0cm;">Currently all the sensitive detectors and their
59 supports, the mechanical supports and part of the services (namely the SDD
60 cables) are described in the new geometry. The rest of the services and some
61 other mechanics are (sometimes partly) described in the old geometry. Work is
62 in 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">
70 Detector-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
73 geometry 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">
78 AliITSv11GeometrySPD</font> describes the whole SPD geometry
79 </p>
80 <p style="margin-bottom: 0cm;">-&gt; <font face="Courier 10 Pitch">
81 AliITSv11GeometrySDD</font> describes the whole SDD geometry
82 </p>
83 <p style="margin-bottom: 0cm;">-&gt; <font face="Courier 10 Pitch">
84 AliITSv11GeometrySSD</font> describes the whole SSD geometry
85 </p>
86 <p style="margin-bottom: 0cm;">-&gt; <font face="Courier 10 Pitch">
87 AliITSv11GeometrySupport</font> describes the geometry of some mechanical
88 supports (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">
96 Initialization</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
99 call its constructor in the <font face="Courier 10 Pitch">Config.C</font>
100 macro
101 </p>
102 <p style="margin-bottom: 0cm;"><font face="Courier 10 Pitch">
103 AliITSv11Hybrid *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
106 is actually ignored, and internally set to "ITS"), the second string is an
107 arbitrary title. Both strings are passed to the <font face="Courier 10 Pitch">
108 AliITS</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
113 members, creates an object for each detector-specific class and sets their
114 names, 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
122 Methods</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
130 calls <font face="Courier 10 Pitch">CreateOldGeometry</font> to define the
131 old (Geant3) volumes (the ones still active according to the aforementioned
132 flags); then it calls specific methods of the detector classes to create
133 the new geometry</li>
134 <li><font face="Courier 10 Pitch">AliITSv11Hybrid::CreateOldGeometry</font>
135 creates the old geometry volumes; flags are used to determine which sections
136 are to be skipped because already coded in the detector-specific classes</li>
137 <li><font face="Courier 10 Pitch">AliITSv11Hybrid::CreateMaterials</font>
138 defines all materials and mediums used in the ITS geometry description</li>
139 <li><font face="Courier 10 Pitch">AliITSv11Hybrid::AddAlignableVolumes</font>
140 creates entries for alignable volumes associating the symbolic volume name
141 with the corresponding volume path</li>
142 <li><font face="Courier 10 Pitch">AliITSv11Hybrid::StepManager</font> is
143 called at every step in the ITS to save hits according to the subdetector
144 which 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
152 classes 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
155 simulation 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
159 index number from the layer, ladder, and detector numbers<br>
160 <font face="Courier 10 Pitch">GetModuleId</font> to compute the layer,
161 ladder and detector number given the module index number<br>
162 <font face="Courier 10 Pitch">GetLayer</font> to compute the layer number
163 for a given the module index<br>
164 <font face="Courier 10 Pitch">GetMatrix</font> to get the
165 transformation 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
168 vector or the rotation matrix for a given module by quering the
169 TGeoManager<br>
170 <font face="Courier 10 Pitch">LocalToGlobal</font> and
171 <font face="Courier 10 Pitch">GlobalToLocal</font> to make the conversion
172 from the local sensitive reference system to the global reference system
173 and 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">
178 AliITSgeom</font> class contains other methods for querying and
179 interfacing the ITS geometry.
180 </p>
181 <p style="margin-bottom: 0cm;"><br>
182 </p>
183
184 </body></html>