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