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