]>
Commit | Line | Data |
---|---|---|
4c039060 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /* | |
17 | $Log$ | |
18 | */ | |
19 | ||
fe4da5cc | 20 | /////////////////////////////////////////////////////////////////////////////// |
21 | // // | |
22 | // Forward Multiplicity Detector Version 1 // | |
23 | // // | |
24 | //Begin_Html | |
25 | /* | |
1439f98e | 26 | <img src="picts/AliFMDv1Class.gif"> |
fe4da5cc | 27 | </pre> |
28 | <br clear=left> | |
29 | <font size=+2 color=red> | |
30 | <p>The responsible person for this module is | |
31 | <a href="mailto:Valeri.Kondratiev@cern.ch">Valeri Kondratiev</a>. | |
32 | </font> | |
33 | <pre> | |
34 | */ | |
35 | //End_Html | |
36 | // // | |
37 | /////////////////////////////////////////////////////////////////////////////// | |
38 | ||
3b0743c9 | 39 | #include <stdlib.h> |
40 | ||
fe4da5cc | 41 | #include "AliRun.h" |
42 | #include "AliFMDv1.h" | |
43 | #include "AliMC.h" | |
44 | #include "AliConst.h" | |
45 | ||
46 | ||
47 | ClassImp(AliFMDv1) | |
48 | ||
49 | //_____________________________________________________________________________ | |
99560b47 | 50 | AliFMDv1::AliFMDv1() |
fe4da5cc | 51 | { |
52 | // | |
53 | // Defautl constructor for FMD version 1 | |
54 | // | |
55 | } | |
56 | ||
57 | //_____________________________________________________________________________ | |
58 | AliFMDv1::AliFMDv1(const char *name, const char *title) | |
59 | : AliFMD(name,title) | |
60 | { | |
61 | // | |
62 | // Standard constructor for FMD version 1 | |
63 | // | |
99560b47 | 64 | AliModule *start = gAlice->GetModule("START"); |
65 | if(start) { | |
66 | Error("ctor","This version of FMD is incompatible with START\n"); | |
67 | exit(1); | |
68 | } | |
fe4da5cc | 69 | } |
70 | ||
71 | //_____________________________________________________________________________ | |
72 | void AliFMDv1::CreateGeometry() | |
73 | { | |
74 | // | |
75 | // Creation of the geometry of the FMD version 1 | |
76 | // | |
77 | //Begin_Html | |
78 | /* | |
1439f98e | 79 | <img src="picts/AliFMDv1Tree.gif"> |
fe4da5cc | 80 | */ |
81 | //End_Html | |
82 | //Begin_Html | |
83 | /* | |
1439f98e | 84 | <img src="picts/AliFMDv1.gif"> |
fe4da5cc | 85 | */ |
86 | //End_Html | |
87 | ||
fe4da5cc | 88 | |
89 | Float_t rout; | |
90 | Float_t z; | |
91 | Float_t h1, h2, t0, t1, t2; | |
92 | Float_t tt; | |
93 | Float_t par[3], rin; | |
94 | const Float_t v1 = 42.0; | |
95 | const Float_t v2 = 4.5; | |
96 | const Float_t v3 = 5.62; | |
97 | const Float_t v4 = 16.0; | |
98 | ||
ad51aeb0 | 99 | Int_t *idtmed = fIdtmed->GetArray()-899; |
fe4da5cc | 100 | |
101 | // ******************************************************** | |
102 | // DEFINE RIGHT DISK#3 OF FMD | |
103 | // ******************************************************** | |
104 | ||
105 | // Define parameters | |
106 | ||
107 | rin = 4.5; | |
108 | rout = 10.5; | |
109 | z = 85.; | |
110 | tt = 2.5; | |
111 | h1 = TMath::Sqrt(rout * rout + v1/ (tt * kPI)) - rout; | |
112 | h2 = .4; | |
113 | t0 = v2/ (h1 * kPI * (h1 + rout * 2.)); | |
114 | t1 = v3/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
115 | t2 = v4/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
116 | ||
117 | // *******Inner slice*********** | |
118 | // Inner steel wall | |
119 | par[0] = rin - .02; | |
120 | par[1] = rin; | |
121 | par[2] = 1.5; | |
cfce8870 | 122 | gMC->Gsvolu("IWR3", "TUBE", idtmed[899], par, 3); |
123 | gMC->Gspos("IWR3", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
fe4da5cc | 124 | // Front steel wall |
125 | par[0] = rin; | |
126 | par[1] = rout; | |
127 | par[2] = .01; | |
cfce8870 | 128 | gMC->Gsvolu("FWR3", "TUBE", idtmed[899], par, 3); |
129 | gMC->Gspos("FWR3", 1, "ALIC", 0., 0., z + .01, 0, "ONLY"); | |
fe4da5cc | 130 | // Rear steel wall |
cfce8870 | 131 | gMC->Gsvolu("RWR3", "TUBE", idtmed[899], par, 3); |
132 | gMC->Gspos("RWR3", 1, "ALIC", 0., 0., z + 2.99, 0, "ONLY"); | |
fe4da5cc | 133 | // MCP |
134 | par[0] = rin; | |
135 | par[1] = rout; | |
136 | par[2] = .07; | |
cfce8870 | 137 | gMC->Gsvolu("MPR3", "TUBE", idtmed[900], par, 3); |
138 | gMC->Gspos("MPR3", 1, "ALIC", 0., 0., z + 1.57, 0, "ONLY"); | |
fe4da5cc | 139 | // Silicon plate |
140 | par[0] = rin; | |
141 | par[1] = rout; | |
142 | par[2] = .019; | |
cfce8870 | 143 | gMC->Gsvolu("SPR3", "TUBE", idtmed[901], par, 3); |
144 | gMC->Gspos("SPR3", 1, "ALIC", 0., 0., z + 1.719, 0, "ONLY"); | |
fe4da5cc | 145 | // Summator plate |
146 | par[0] = rin; | |
147 | par[1] = rout; | |
148 | par[2] = .01; | |
cfce8870 | 149 | gMC->Gsvolu("SMR3", "TUBE", idtmed[902], par, 3); |
150 | gMC->Gspos("SMR3", 1, "ALIC", 0., 0., z + 2.01, 0, "ONLY"); | |
fe4da5cc | 151 | // *******Outer slice ******* |
152 | // Ceramic plate | |
153 | par[0] = rout; | |
154 | par[1] = rout + h1; | |
155 | par[2] = 1.25; | |
cfce8870 | 156 | gMC->Gsvolu("CPR3", "TUBE", idtmed[902], par, 3); |
157 | gMC->Gspos("CPR3", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
fe4da5cc | 158 | // Covar spring |
159 | par[0] = rout; | |
160 | par[1] = rout + h1; | |
161 | par[2] = t0 / 2.; | |
cfce8870 | 162 | gMC->Gsvolu("C1R3", "TUBE", idtmed[903], par, 3); |
163 | gMC->Gspos("C1R3", 1, "ALIC", 0., 0., z + .25 - t0 / 2., 0, "ONLY"); | |
164 | gMC->Gsvolu("C2R3", "TUBE", idtmed[903], par, 3); | |
165 | gMC->Gspos("C2R3", 1, "ALIC", 0., 0., z + 2.75 + t0 / 2., 0, "ONLY"); | |
fe4da5cc | 166 | // Getter camera |
167 | par[0] = rout + h1; | |
168 | par[1] = rout + h1 + h2; | |
169 | par[2] = t1 / 2.; | |
cfce8870 | 170 | gMC->Gsvolu("GKR3", "TUBE", idtmed[903], par, 3); |
171 | gMC->Gspos("GKR3", 1, "ALIC", 0., 0., z + .25 + t1 / 2., 0, "ONLY"); | |
fe4da5cc | 172 | // Ceramic slice |
173 | par[0] = rout + h1; | |
174 | par[1] = rout + h1 + h2; | |
175 | par[2] = t2 / 2.; | |
cfce8870 | 176 | gMC->Gsvolu("SCR3", "TUBE", idtmed[902], par, 3); |
177 | gMC->Gspos("SCR3", 1, "ALIC", 0., 0., z + .25 + t1 + t2 / 2., 0, "ONLY"); | |
fe4da5cc | 178 | // ******Electronic slice ******* |
179 | // Silicon ring | |
180 | par[0] = rout + h1 + h2; | |
181 | par[1] = rout + h1 + h2 + 5.; | |
182 | par[2] = .025; | |
cfce8870 | 183 | gMC->Gsvolu("SER3", "TUBE", idtmed[901], par, 3); |
184 | gMC->Gspos("SER3", 1, "ALIC", 0., 0., z + 1.57 - .025, 0, "ONLY"); | |
fe4da5cc | 185 | // Ceramic ring |
186 | par[0] = rout + h1 + h2; | |
187 | par[1] = rout + h1 + h2 + 5.; | |
188 | par[2] = .025; | |
cfce8870 | 189 | gMC->Gsvolu("CER3", "TUBE", idtmed[902], par, 3); |
190 | gMC->Gspos("CER3", 1, "ALIC", 0., 0., z + 1.58 + .025, 0, "ONLY"); | |
fe4da5cc | 191 | // *********************************************************** |
192 | // DEFINE LEFT DISK#3 OF FMD | |
193 | // *********************************************************** | |
194 | ||
195 | // Define parameters | |
196 | ||
197 | rin = 4.5; | |
198 | rout = 10.5; | |
199 | z = -85.; | |
200 | tt = 2.5; | |
201 | h1 = TMath::Sqrt(rout * rout + v1/ (tt * kPI)) - rout; | |
202 | h2 = .4; | |
203 | t0 = v2/ (h1 * kPI * (h1 + rout * 2.)); | |
204 | t1 = v3/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
205 | t2 = v4/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
206 | ||
207 | // *******Inner slice*********** | |
208 | // Inner steel wall | |
209 | par[0] = rin - .02; | |
210 | par[1] = rin; | |
211 | par[2] = 1.5; | |
cfce8870 | 212 | gMC->Gsvolu("IWL3", "TUBE", idtmed[899], par, 3); |
213 | gMC->Gspos("IWL3", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 214 | // Front steel wall |
215 | par[0] = rin; | |
216 | par[1] = rout; | |
217 | par[2] = .01; | |
cfce8870 | 218 | gMC->Gsvolu("FWL3", "TUBE", idtmed[899], par, 3); |
219 | gMC->Gspos("FWL3", 1, "ALIC", 0., 0., z - .01, 0, "ONLY"); | |
fe4da5cc | 220 | // Rear steel wall |
cfce8870 | 221 | gMC->Gsvolu("RWL3", "TUBE", idtmed[899], par, 3); |
222 | gMC->Gspos("RWL3", 1, "ALIC", 0., 0., z - 2.99, 0, "ONLY"); | |
fe4da5cc | 223 | // MCP |
224 | par[0] = rin; | |
225 | par[1] = rout; | |
226 | par[2] = .07; | |
cfce8870 | 227 | gMC->Gsvolu("MPL3", "TUBE", idtmed[900], par, 3); |
228 | gMC->Gspos("MPL3", 1, "ALIC", 0., 0., z - 1.57, 0, "ONLY"); | |
fe4da5cc | 229 | // Silicon plate |
230 | par[0] = rin; | |
231 | par[1] = rout; | |
232 | par[2] = .019; | |
cfce8870 | 233 | gMC->Gsvolu("SPL3", "TUBE", idtmed[901], par, 3); |
234 | gMC->Gspos("SPL3", 1, "ALIC", 0., 0., z - 1.719, 0, "ONLY"); | |
fe4da5cc | 235 | // Summator plate |
236 | par[0] = rin; | |
237 | par[1] = rout; | |
238 | par[2] = .01; | |
cfce8870 | 239 | gMC->Gsvolu("SML3", "TUBE", idtmed[902], par, 3); |
240 | gMC->Gspos("SML3", 1, "ALIC", 0., 0., z - 2.01, 0, "ONLY"); | |
fe4da5cc | 241 | // *******Outer slice ******* |
242 | // Ceramic plate | |
243 | par[0] = rout; | |
244 | par[1] = rout + h1; | |
245 | par[2] = 1.25; | |
cfce8870 | 246 | gMC->Gsvolu("CPL3", "TUBE", idtmed[902], par, 3); |
247 | gMC->Gspos("CPL3", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 248 | // Covar spring |
249 | par[0] = rout; | |
250 | par[1] = rout + h1; | |
251 | par[2] = t0 / 2.; | |
cfce8870 | 252 | gMC->Gsvolu("C1L3", "TUBE", idtmed[903], par, 3); |
253 | gMC->Gspos("C1L3", 1, "ALIC", 0., 0., z - .25 + t0 / 2., 0, "ONLY"); | |
254 | gMC->Gsvolu("C2L3", "TUBE", idtmed[903], par, 3); | |
255 | gMC->Gspos("C2L3", 1, "ALIC", 0., 0., z - 2.75 - t0 / 2., 0, "ONLY"); | |
fe4da5cc | 256 | // Getter camera |
257 | par[0] = rout + h1; | |
258 | par[1] = rout + h1 + h2; | |
259 | par[2] = t1 / 2.; | |
cfce8870 | 260 | gMC->Gsvolu("GKL3", "TUBE", idtmed[903], par, 3); |
261 | gMC->Gspos("GKL3", 1, "ALIC", 0., 0., z - .25 - t1 / 2., 0, "ONLY"); | |
fe4da5cc | 262 | // Ceramic slice |
263 | par[0] = rout + h1; | |
264 | par[1] = rout + h1 + h2; | |
265 | par[2] = t2 / 2.; | |
cfce8870 | 266 | gMC->Gsvolu("SCL3", "TUBE", idtmed[902], par, 3); |
267 | gMC->Gspos("SCL3", 1, "ALIC", 0., 0., z - .25 - t1 - t2 / 2., 0, "ONLY"); | |
fe4da5cc | 268 | // ******Electronic slice ******* |
269 | // Silicon ring | |
270 | par[0] = rout + h1 + h2; | |
271 | par[1] = rout + h1 + h2 + 5.; | |
272 | par[2] = .025; | |
cfce8870 | 273 | gMC->Gsvolu("SEL3", "TUBE", idtmed[901], par, 3); |
274 | gMC->Gspos("SEL3", 1, "ALIC", 0., 0., z - 1.57 + .025, 0, "ONLY"); | |
fe4da5cc | 275 | // Ceramic ring |
276 | par[0] = rout + h1 + h2; | |
277 | par[1] = rout + h1 + h2 + 5.; | |
278 | par[2] = .025; | |
cfce8870 | 279 | gMC->Gsvolu("CEL3", "TUBE", idtmed[902], par, 3); |
280 | gMC->Gspos("CEL3", 1, "ALIC", 0., 0., z - 1.58 - .025, 0, "ONLY"); | |
fe4da5cc | 281 | // ******************************************************** |
282 | // DEFINE RIGHT DISK#2 OF FMD | |
283 | // ******************************************************** | |
284 | ||
285 | // Define parameters | |
286 | ||
287 | rin = 8.; | |
288 | rout = 14.; | |
289 | z = 69.7; | |
290 | tt = 2.5; | |
291 | h1 = TMath::Sqrt(rout * rout + v1/ (tt * kPI)) - rout; | |
292 | h2 = .4; | |
293 | t0 = v2/ (h1 * kPI * (h1 + rout * 2.)); | |
294 | t1 = v3/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
295 | t2 = v4/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
296 | ||
297 | // *******Inner slice*********** | |
298 | // Inner steel wall | |
299 | par[0] = rin - .02; | |
300 | par[1] = rin; | |
301 | par[2] = 1.5; | |
cfce8870 | 302 | gMC->Gsvolu("IWR2", "TUBE", idtmed[899], par, 3); |
303 | gMC->Gspos("IWR2", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
fe4da5cc | 304 | // Front steel wall |
305 | par[0] = rin; | |
306 | par[1] = rout; | |
307 | par[2] = .01; | |
cfce8870 | 308 | gMC->Gsvolu("FWR2", "TUBE", idtmed[899], par, 3); |
309 | gMC->Gspos("FWR2", 1, "ALIC", 0., 0., z + .01, 0, "ONLY"); | |
fe4da5cc | 310 | // Rear steel wall |
cfce8870 | 311 | gMC->Gsvolu("RWR2", "TUBE", idtmed[899], par, 3); |
312 | gMC->Gspos("RWR2", 1, "ALIC", 0., 0., z + 2.99, 0, "ONLY"); | |
fe4da5cc | 313 | // MCP |
314 | par[0] = rin; | |
315 | par[1] = rout; | |
316 | par[2] = .07; | |
cfce8870 | 317 | gMC->Gsvolu("MPR2", "TUBE", idtmed[900], par, 3); |
318 | gMC->Gspos("MPR2", 1, "ALIC", 0., 0., z + 1.57, 0, "ONLY"); | |
fe4da5cc | 319 | // Silicon plate |
320 | par[0] = rin; | |
321 | par[1] = rout; | |
322 | par[2] = .019; | |
cfce8870 | 323 | gMC->Gsvolu("SPR2", "TUBE", idtmed[901], par, 3); |
324 | gMC->Gspos("SPR2", 1, "ALIC", 0., 0., z + 1.719, 0, "ONLY"); | |
fe4da5cc | 325 | // Summator plate |
326 | par[0] = rin; | |
327 | par[1] = rout; | |
328 | par[2] = .01; | |
cfce8870 | 329 | gMC->Gsvolu("SMR2", "TUBE", idtmed[902], par, 3); |
330 | gMC->Gspos("SMR2", 1, "ALIC", 0., 0., z + 2.01, 0, "ONLY"); | |
fe4da5cc | 331 | // *******Outer slice ******* |
332 | // Ceramic plate | |
333 | par[0] = rout; | |
334 | par[1] = rout + h1; | |
335 | par[2] = 1.25; | |
cfce8870 | 336 | gMC->Gsvolu("CPR2", "TUBE", idtmed[902], par, 3); |
337 | gMC->Gspos("CPR2", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
fe4da5cc | 338 | // Covar spring |
339 | par[0] = rout; | |
340 | par[1] = rout + h1; | |
341 | par[2] = t0 / 2.; | |
cfce8870 | 342 | gMC->Gsvolu("C1R2", "TUBE", idtmed[903], par, 3); |
343 | gMC->Gspos("C1R2", 1, "ALIC", 0., 0., z + .25 - t0 / 2., 0, "ONLY"); | |
344 | gMC->Gsvolu("C2R2", "TUBE", idtmed[903], par, 3); | |
345 | gMC->Gspos("C2R2", 1, "ALIC", 0., 0., z + 2.75 + t0 / 2., 0, "ONLY"); | |
fe4da5cc | 346 | // Getter camera |
347 | par[0] = rout + h1; | |
348 | par[1] = rout + h1 + h2; | |
349 | par[2] = t1 / 2.; | |
cfce8870 | 350 | gMC->Gsvolu("GKR2", "TUBE", idtmed[903], par, 3); |
351 | gMC->Gspos("GKR2", 1, "ALIC", 0., 0., z + .25 + t1 / 2., 0, "ONLY"); | |
fe4da5cc | 352 | // Ceramic slice |
353 | par[0] = rout + h1; | |
354 | par[1] = rout + h1 + h2; | |
355 | par[2] = t2 / 2.; | |
cfce8870 | 356 | gMC->Gsvolu("SCR2", "TUBE", idtmed[902], par, 3); |
357 | gMC->Gspos("SCR2", 1, "ALIC", 0., 0., z + .25 + t1 + t2 / 2., 0, "ONLY"); | |
fe4da5cc | 358 | // ******Electronic slice ******* |
359 | // Silicon ring | |
360 | par[0] = rout + h1 + h2; | |
361 | par[1] = rout + h1 + h2 + 5.; | |
362 | par[2] = .025; | |
cfce8870 | 363 | gMC->Gsvolu("SER2", "TUBE", idtmed[901], par, 3); |
364 | gMC->Gspos("SER2", 1, "ALIC", 0., 0., z + 1.57 - .025, 0, "ONLY"); | |
fe4da5cc | 365 | // Ceramic ring |
366 | par[0] = rout + h1 + h2; | |
367 | par[1] = rout + h1 + h2 + 5.; | |
368 | par[2] = .025; | |
cfce8870 | 369 | gMC->Gsvolu("CER2", "TUBE", idtmed[902], par, 3); |
370 | gMC->Gspos("CER2", 1, "ALIC", 0., 0., z + 1.58 + .025, 0, "ONLY"); | |
fe4da5cc | 371 | // *********************************************************** |
372 | // DEFINE LEFT DISK#2 OF FMD | |
373 | // *********************************************************** | |
374 | ||
375 | // Define parameters | |
376 | ||
377 | rin = 8.; | |
378 | rout = 14.; | |
379 | z = -69.7; | |
380 | tt = 2.5; | |
381 | h1 = TMath::Sqrt(rout * rout + v1/ (tt * kPI)) - rout; | |
382 | h2 = .4; | |
383 | t0 = v2/ (h1 * kPI * (h1 + rout * 2.)); | |
384 | t1 = v3/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
385 | t2 = v4/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
386 | ||
387 | // *******Inner slice*********** | |
388 | // Inner steel wall | |
389 | par[0] = rin - .02; | |
390 | par[1] = rin; | |
391 | par[2] = 1.5; | |
cfce8870 | 392 | gMC->Gsvolu("IWL2", "TUBE", idtmed[899], par, 3); |
393 | gMC->Gspos("IWL2", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 394 | // Front steel wall |
395 | par[0] = rin; | |
396 | par[1] = rout; | |
397 | par[2] = .01; | |
cfce8870 | 398 | gMC->Gsvolu("FWL2", "TUBE", idtmed[899], par, 3); |
399 | gMC->Gspos("FWL2", 1, "ALIC", 0., 0., z - .01, 0, "ONLY"); | |
fe4da5cc | 400 | // Rear steel wall |
cfce8870 | 401 | gMC->Gsvolu("RWL2", "TUBE", idtmed[899], par, 3); |
402 | gMC->Gspos("RWL2", 1, "ALIC", 0., 0., z - 2.99, 0, "ONLY"); | |
fe4da5cc | 403 | // MCP |
404 | par[0] = rin; | |
405 | par[1] = rout; | |
406 | par[2] = .07; | |
cfce8870 | 407 | gMC->Gsvolu("MPL2", "TUBE", idtmed[900], par, 3); |
408 | gMC->Gspos("MPL2", 1, "ALIC", 0., 0., z - 1.57, 0, "ONLY"); | |
fe4da5cc | 409 | // Silicon plate |
410 | par[0] = rin; | |
411 | par[1] = rout; | |
412 | par[2] = .019; | |
cfce8870 | 413 | gMC->Gsvolu("SPL2", "TUBE", idtmed[901], par, 3); |
414 | gMC->Gspos("SPL2", 1, "ALIC", 0., 0., z - 1.719, 0, "ONLY"); | |
fe4da5cc | 415 | // Summator plate |
416 | par[0] = rin; | |
417 | par[1] = rout; | |
418 | par[2] = .01; | |
cfce8870 | 419 | gMC->Gsvolu("SML2", "TUBE", idtmed[902], par, 3); |
420 | gMC->Gspos("SML2", 1, "ALIC", 0., 0., z - 2.01, 0, "ONLY"); | |
fe4da5cc | 421 | // *******Outer slice ******* |
422 | // Ceramic plate | |
423 | par[0] = rout; | |
424 | par[1] = rout + h1; | |
425 | par[2] = 1.25; | |
cfce8870 | 426 | gMC->Gsvolu("CPL2", "TUBE", idtmed[902], par, 3); |
427 | gMC->Gspos("CPL2", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 428 | // Covar spring |
429 | par[0] = rout; | |
430 | par[1] = rout + h1; | |
431 | par[2] = t0 / 2.; | |
cfce8870 | 432 | gMC->Gsvolu("C1L2", "TUBE", idtmed[903], par, 3); |
433 | gMC->Gspos("C1L2", 1, "ALIC", 0., 0., z - .25 + t0 / 2., 0, "ONLY"); | |
434 | gMC->Gsvolu("C2L2", "TUBE", idtmed[903], par, 3); | |
435 | gMC->Gspos("C2L2", 1, "ALIC", 0., 0., z - 2.75 - t0 / 2., 0, "ONLY"); | |
fe4da5cc | 436 | // Getter camera |
437 | par[0] = rout + h1; | |
438 | par[1] = rout + h1 + h2; | |
439 | par[2] = t1 / 2.; | |
cfce8870 | 440 | gMC->Gsvolu("GKL2", "TUBE", idtmed[903], par, 3); |
441 | gMC->Gspos("GKL2", 1, "ALIC", 0., 0., z - .25 - t1 / 2., 0, "ONLY"); | |
fe4da5cc | 442 | // Ceramic slice |
443 | par[0] = rout + h1; | |
444 | par[1] = rout + h1 + h2; | |
445 | par[2] = t2 / 2.; | |
cfce8870 | 446 | gMC->Gsvolu("SCL2", "TUBE", idtmed[902], par, 3); |
447 | gMC->Gspos("SCL2", 1, "ALIC", 0., 0., z - .25 - t1 - t2 / 2., 0, "ONLY"); | |
fe4da5cc | 448 | // ******Electronic slice ******* |
449 | // Silicon ring | |
450 | par[0] = rout + h1 + h2; | |
451 | par[1] = rout + h1 + h2 + 5.; | |
452 | par[2] = .025; | |
cfce8870 | 453 | gMC->Gsvolu("SEL2", "TUBE", idtmed[901], par, 3); |
454 | gMC->Gspos("SEL2", 1, "ALIC", 0., 0., z - 1.57 + .025, 0, "ONLY"); | |
fe4da5cc | 455 | // Ceramic ring |
456 | par[0] = rout + h1 + h2; | |
457 | par[1] = rout + h1 + h2 + 5.; | |
458 | par[2] = .025; | |
cfce8870 | 459 | gMC->Gsvolu("CEL2", "TUBE", idtmed[902], par, 3); |
460 | gMC->Gspos("CEL2", 1, "ALIC", 0., 0., z - 1.58 - .025, 0, "ONLY"); | |
fe4da5cc | 461 | // ******************************************************** |
462 | // DEFINE RIGHT DISK#1 OF FMD | |
463 | // ******************************************************** | |
464 | ||
465 | // Define parameters | |
466 | ||
467 | rin = 8.; | |
468 | rout = 17.5; | |
469 | z = 42.5; | |
470 | tt = 2.5; | |
471 | h1 = TMath::Sqrt(rout * rout + v1/ (tt * kPI)) - rout; | |
472 | h2 = .4; | |
473 | t0 = v2/ (h1 * kPI * (h1 + rout * 2.)); | |
474 | t1 = v3/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
475 | t2 = v4/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
476 | ||
477 | // *******Inner slice*********** | |
478 | // Inner steel wall | |
479 | par[0] = rin - .02; | |
480 | par[1] = rin; | |
481 | par[2] = 1.5; | |
cfce8870 | 482 | gMC->Gsvolu("IWR1", "TUBE", idtmed[899], par, 3); |
483 | gMC->Gspos("IWR1", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
fe4da5cc | 484 | // Front steel wall |
485 | par[0] = rin; | |
486 | par[1] = rout; | |
487 | par[2] = .01; | |
cfce8870 | 488 | gMC->Gsvolu("FWR1", "TUBE", idtmed[899], par, 3); |
489 | gMC->Gspos("FWR1", 1, "ALIC", 0., 0., z + .01, 0, "ONLY"); | |
fe4da5cc | 490 | // Rear steel wall |
cfce8870 | 491 | gMC->Gsvolu("RWR1", "TUBE", idtmed[899], par, 3); |
492 | gMC->Gspos("RWR1", 1, "ALIC", 0., 0., z + 2.99, 0, "ONLY"); | |
fe4da5cc | 493 | // MCP |
494 | par[0] = rin; | |
495 | par[1] = rout; | |
496 | par[2] = .07; | |
cfce8870 | 497 | gMC->Gsvolu("MPR1", "TUBE", idtmed[900], par, 3); |
498 | gMC->Gspos("MPR1", 1, "ALIC", 0., 0., z + 1.57, 0, "ONLY"); | |
fe4da5cc | 499 | // Silicon plate |
500 | par[0] = rin; | |
501 | par[1] = rout; | |
502 | par[2] = .019; | |
cfce8870 | 503 | gMC->Gsvolu("SPR1", "TUBE", idtmed[901], par, 3); |
504 | gMC->Gspos("SPR1", 1, "ALIC", 0., 0., z + 1.719, 0, "ONLY"); | |
fe4da5cc | 505 | // Summator plate |
506 | par[0] = rin; | |
507 | par[1] = rout; | |
508 | par[2] = .01; | |
cfce8870 | 509 | gMC->Gsvolu("SMR1", "TUBE", idtmed[902], par, 3); |
510 | gMC->Gspos("SMR1", 1, "ALIC", 0., 0., z + 2.01, 0, "ONLY"); | |
fe4da5cc | 511 | // *******Outer slice ******* |
512 | // Ceramic plate | |
513 | par[0] = rout; | |
514 | par[1] = rout + h1; | |
515 | par[2] = 1.25; | |
cfce8870 | 516 | gMC->Gsvolu("CPR1", "TUBE", idtmed[902], par, 3); |
517 | gMC->Gspos("CPR1", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
fe4da5cc | 518 | // Covar spring |
519 | par[0] = rout; | |
520 | par[1] = rout + h1; | |
521 | par[2] = t0 / 2.; | |
cfce8870 | 522 | gMC->Gsvolu("C1R1", "TUBE", idtmed[903], par, 3); |
523 | gMC->Gspos("C1R1", 1, "ALIC", 0., 0., z + .25 - t0 / 2., 0, "ONLY"); | |
524 | gMC->Gsvolu("C2R1", "TUBE", idtmed[903], par, 3); | |
525 | gMC->Gspos("C2R1", 1, "ALIC", 0., 0., z + 2.75 + t0 / 2., 0, "ONLY"); | |
fe4da5cc | 526 | // Getter camera |
527 | par[0] = rout + h1; | |
528 | par[1] = rout + h1 + h2; | |
529 | par[2] = t1 / 2.; | |
cfce8870 | 530 | gMC->Gsvolu("GKR1", "TUBE", idtmed[903], par, 3); |
531 | gMC->Gspos("GKR1", 1, "ALIC", 0., 0., z + .25 + t1 / 2., 0, "ONLY"); | |
fe4da5cc | 532 | // Ceramic slice |
533 | par[0] = rout + h1; | |
534 | par[1] = rout + h1 + h2; | |
535 | par[2] = t2 / 2.; | |
cfce8870 | 536 | gMC->Gsvolu("SCR1", "TUBE", idtmed[902], par, 3); |
537 | gMC->Gspos("SCR1", 1, "ALIC", 0., 0., z + .25 + t1 + t2 / 2., 0, "ONLY"); | |
fe4da5cc | 538 | // ******Electronic slice ******* |
539 | // Silicon ring | |
540 | par[0] = rout + h1 + h2; | |
541 | par[1] = rout + h1 + h2 + 5.; | |
542 | par[2] = .025; | |
cfce8870 | 543 | gMC->Gsvolu("SER1", "TUBE", idtmed[901], par, 3); |
544 | gMC->Gspos("SER1", 1, "ALIC", 0., 0., z + 1.57 - .025, 0, "ONLY"); | |
fe4da5cc | 545 | // Ceramic ring |
546 | par[0] = rout + h1 + h2; | |
547 | par[1] = rout + h1 + h2 + 5.; | |
548 | par[2] = .025; | |
cfce8870 | 549 | gMC->Gsvolu("CER1", "TUBE", idtmed[902], par, 3); |
550 | gMC->Gspos("CER1", 1, "ALIC", 0., 0., z + 1.58 + .025, 0, "ONLY"); | |
fe4da5cc | 551 | // *********************************************************** |
552 | // DEFINE LEFT DISK#1 OF FMD | |
553 | // *********************************************************** | |
554 | ||
555 | // Define parameters | |
556 | ||
557 | rin = 8.; | |
558 | rout = 17.5; | |
559 | z = -42.5; | |
560 | tt = 2.5; | |
561 | h1 = TMath::Sqrt(rout * rout + v1/ (tt * kPI)) - rout; | |
562 | h2 = .4; | |
563 | t0 = v2/ (h1 * kPI * (h1 + rout * 2.)); | |
564 | t1 = v3/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
565 | t2 = v4/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
566 | ||
567 | // *******Inner slice*********** | |
568 | // Inner steel wall | |
569 | par[0] = rin - .02; | |
570 | par[1] = rin; | |
571 | par[2] = 1.5; | |
cfce8870 | 572 | gMC->Gsvolu("IWL1", "TUBE", idtmed[899], par, 3); |
573 | gMC->Gspos("IWL1", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 574 | // Front steel wall |
575 | par[0] = rin; | |
576 | par[1] = rout; | |
577 | par[2] = .01; | |
cfce8870 | 578 | gMC->Gsvolu("FWL1", "TUBE", idtmed[899], par, 3); |
579 | gMC->Gspos("FWL1", 1, "ALIC", 0., 0., z - .01, 0, "ONLY"); | |
fe4da5cc | 580 | // Rear steel wall |
cfce8870 | 581 | gMC->Gsvolu("RWL1", "TUBE", idtmed[899], par, 3); |
582 | gMC->Gspos("RWL1", 1, "ALIC", 0., 0., z - 2.99, 0, "ONLY"); | |
fe4da5cc | 583 | // MCP |
584 | par[0] = rin; | |
585 | par[1] = rout; | |
586 | par[2] = .07; | |
cfce8870 | 587 | gMC->Gsvolu("MPL1", "TUBE", idtmed[900], par, 3); |
588 | gMC->Gspos("MPL1", 1, "ALIC", 0., 0., z - 1.57, 0, "ONLY"); | |
fe4da5cc | 589 | // Silicon plate |
590 | par[0] = rin; | |
591 | par[1] = rout; | |
592 | par[2] = .019; | |
cfce8870 | 593 | gMC->Gsvolu("SPL1", "TUBE", idtmed[901], par, 3); |
594 | gMC->Gspos("SPL1", 1, "ALIC", 0., 0., z - 1.719, 0, "ONLY"); | |
fe4da5cc | 595 | // Summator plate |
596 | par[0] = rin; | |
597 | par[1] = rout; | |
598 | par[2] = .01; | |
cfce8870 | 599 | gMC->Gsvolu("SML1", "TUBE", idtmed[902], par, 3); |
600 | gMC->Gspos("SML1", 1, "ALIC", 0., 0., z - 2.01, 0, "ONLY"); | |
fe4da5cc | 601 | // *******Outer slice ******* |
602 | // Ceramic plate | |
603 | par[0] = rout; | |
604 | par[1] = rout + h1; | |
605 | par[2] = 1.25; | |
cfce8870 | 606 | gMC->Gsvolu("CPL1", "TUBE", idtmed[902], par, 3); |
607 | gMC->Gspos("CPL1", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 608 | // Covar spring |
609 | par[0] = rout; | |
610 | par[1] = rout + h1; | |
611 | par[2] = t0 / 2.; | |
cfce8870 | 612 | gMC->Gsvolu("C1L1", "TUBE", idtmed[903], par, 3); |
613 | gMC->Gspos("C1L1", 1, "ALIC", 0., 0., z - .25 + t0 / 2., 0, "ONLY"); | |
614 | gMC->Gsvolu("C2L1", "TUBE", idtmed[903], par, 3); | |
615 | gMC->Gspos("C2L1", 1, "ALIC", 0., 0., z - 2.75 - t0 / 2., 0, "ONLY"); | |
fe4da5cc | 616 | // Getter camera |
617 | par[0] = rout + h1; | |
618 | par[1] = rout + h1 + h2; | |
619 | par[2] = t1 / 2.; | |
cfce8870 | 620 | gMC->Gsvolu("GKL1", "TUBE", idtmed[903], par, 3); |
621 | gMC->Gspos("GKL1", 1, "ALIC", 0., 0., z - .25 - t1 / 2., 0, "ONLY"); | |
fe4da5cc | 622 | // Ceramic slice |
623 | par[0] = rout + h1; | |
624 | par[1] = rout + h1 + h2; | |
625 | par[2] = t2 / 2.; | |
cfce8870 | 626 | gMC->Gsvolu("SCL1", "TUBE", idtmed[902], par, 3); |
627 | gMC->Gspos("SCL1", 1, "ALIC", 0., 0., z - .25 - t1 - t2 / 2., 0, "ONLY"); | |
fe4da5cc | 628 | // ******Electronic slice ******* |
629 | // Silicon ring | |
630 | par[0] = rout + h1 + h2; | |
631 | par[1] = rout + h1 + h2 + 5.; | |
632 | par[2] = .025; | |
cfce8870 | 633 | gMC->Gsvolu("SEL1", "TUBE", idtmed[901], par, 3); |
634 | gMC->Gspos("SEL1", 1, "ALIC", 0., 0., z - 1.57 + .025, 0, "ONLY"); | |
fe4da5cc | 635 | // Ceramic ring |
636 | par[0] = rout + h1 + h2; | |
637 | par[1] = rout + h1 + h2 + 5.; | |
638 | par[2] = .025; | |
cfce8870 | 639 | gMC->Gsvolu("CEL1", "TUBE", idtmed[902], par, 3); |
640 | gMC->Gspos("CEL1", 1, "ALIC", 0., 0., z - 1.58 - .025, 0, "ONLY"); | |
fe4da5cc | 641 | // *********************************************************** |
642 | // DEFINE LEFT DISK#4 OF FMD | |
643 | // *********************************************************** | |
644 | ||
645 | // Define parameters | |
646 | ||
647 | rin = 4.2; | |
648 | rout = 13.; | |
649 | z = -229.5; | |
650 | tt = 2.5; | |
651 | h1 = TMath::Sqrt(rout * rout + v1/ (tt * kPI)) - rout; | |
652 | h2 = .4; | |
653 | t0 = v2/ (h1 * kPI * (h1 + rout * 2.)); | |
654 | t1 = v3/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
655 | t2 = v4/ (h2 * kPI * (h2 + (h1 + rout) * 2.)); | |
656 | ||
657 | // *******Inner slice*********** | |
658 | // Inner steel wall | |
659 | par[0] = rin - .02; | |
660 | par[1] = rin; | |
661 | par[2] = 1.5; | |
cfce8870 | 662 | gMC->Gsvolu("IWL4", "TUBE", idtmed[899], par, 3); |
663 | gMC->Gspos("IWL4", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 664 | // Front steel wall |
665 | par[0] = rin; | |
666 | par[1] = rout; | |
667 | par[2] = .01; | |
cfce8870 | 668 | gMC->Gsvolu("FWL4", "TUBE", idtmed[899], par, 3); |
669 | gMC->Gspos("FWL4", 1, "ALIC", 0., 0., z - .01, 0, "ONLY"); | |
fe4da5cc | 670 | // Rear steel wall |
cfce8870 | 671 | gMC->Gsvolu("RWL4", "TUBE", idtmed[899], par, 3); |
672 | gMC->Gspos("RWL4", 1, "ALIC", 0., 0., z - 2.99, 0, "ONLY"); | |
fe4da5cc | 673 | // MCP |
674 | par[0] = rin; | |
675 | par[1] = rout; | |
676 | par[2] = .07; | |
cfce8870 | 677 | gMC->Gsvolu("MPL4", "TUBE", idtmed[900], par, 3); |
678 | gMC->Gspos("MPL4", 1, "ALIC", 0., 0., z - 1.57, 0, "ONLY"); | |
fe4da5cc | 679 | // Silicon plate |
680 | par[0] = rin; | |
681 | par[1] = rout; | |
682 | par[2] = .019; | |
cfce8870 | 683 | gMC->Gsvolu("SPL4", "TUBE", idtmed[901], par, 3); |
684 | gMC->Gspos("SPL4", 1, "ALIC", 0., 0., z - 1.719, 0, "ONLY"); | |
fe4da5cc | 685 | // Summator plate |
686 | par[0] = rin; | |
687 | par[1] = rout; | |
688 | par[2] = .01; | |
cfce8870 | 689 | gMC->Gsvolu("SML4", "TUBE", idtmed[902], par, 3); |
690 | gMC->Gspos("SML4", 1, "ALIC", 0., 0., z - 2.01, 0, "ONLY"); | |
fe4da5cc | 691 | // *******Outer slice ******* |
692 | // Ceramic plate | |
693 | par[0] = rout; | |
694 | par[1] = rout + h1; | |
695 | par[2] = 1.25; | |
cfce8870 | 696 | gMC->Gsvolu("CPL4", "TUBE", idtmed[902], par, 3); |
697 | gMC->Gspos("CPL4", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
fe4da5cc | 698 | // Covar spring |
699 | par[0] = rout; | |
700 | par[1] = rout + h1; | |
701 | par[2] = t0 / 2.; | |
cfce8870 | 702 | gMC->Gsvolu("C1L4", "TUBE", idtmed[903], par, 3); |
703 | gMC->Gspos("C1L4", 1, "ALIC", 0., 0., z - .25 + t0 / 2., 0, "ONLY"); | |
704 | gMC->Gsvolu("C2L4", "TUBE", idtmed[903], par, 3); | |
705 | gMC->Gspos("C2L4", 1, "ALIC", 0., 0., z - 2.75 - t0 / 2., 0, "ONLY"); | |
fe4da5cc | 706 | // Getter camera |
707 | par[0] = rout + h1; | |
708 | par[1] = rout + h1 + h2; | |
709 | par[2] = t1 / 2.; | |
cfce8870 | 710 | gMC->Gsvolu("GKL4", "TUBE", idtmed[903], par, 3); |
711 | gMC->Gspos("GKL4", 1, "ALIC", 0., 0., z - .25 - t1 / 2., 0, "ONLY"); | |
fe4da5cc | 712 | // Ceramic slice |
713 | par[0] = rout + h1; | |
714 | par[1] = rout + h1 + h2; | |
715 | par[2] = t2 / 2.; | |
cfce8870 | 716 | gMC->Gsvolu("SCL4", "TUBE", idtmed[902], par, 3); |
717 | gMC->Gspos("SCL4", 1, "ALIC", 0., 0., z - .25 - t1 - t2 / 2., 0, "ONLY"); | |
fe4da5cc | 718 | // ******Electronic slice ******* |
719 | // Silicon ring | |
720 | par[0] = rout + h1 + h2; | |
721 | par[1] = rout + h1 + h2 + 5.; | |
722 | par[2] = .025; | |
cfce8870 | 723 | gMC->Gsvolu("SEL4", "TUBE", idtmed[901], par, 3); |
724 | gMC->Gspos("SEL4", 1, "ALIC", 0., 0., z - 1.57 + .025, 0, "ONLY"); | |
fe4da5cc | 725 | // Ceramic ring |
726 | par[0] = rout + h1 + h2; | |
727 | par[1] = rout + h1 + h2 + 5.; | |
728 | par[2] = .025; | |
cfce8870 | 729 | gMC->Gsvolu("CEL4", "TUBE", idtmed[902], par, 3); |
730 | gMC->Gspos("CEL4", 1, "ALIC", 0., 0., z - 1.58 - .025, 0, "ONLY"); | |
fe4da5cc | 731 | } |
732 | ||
733 | //_____________________________________________________________________________ | |
b316044f | 734 | void AliFMDv1::DrawModule() |
fe4da5cc | 735 | { |
736 | // | |
737 | // Draw a shaded view of the FMD version 1 | |
738 | // | |
739 | ||
fe4da5cc | 740 | |
741 | // Set everything unseen | |
cfce8870 | 742 | gMC->Gsatt("*", "seen", -1); |
fe4da5cc | 743 | // |
744 | // Set ALIC mother transparent | |
cfce8870 | 745 | gMC->Gsatt("ALIC","SEEN",0); |
fe4da5cc | 746 | // |
747 | // Set the volumes visible | |
cfce8870 | 748 | gMC->Gsatt("IWR3","seen",1); |
749 | gMC->Gsatt("FWR3","seen",1); | |
750 | gMC->Gsatt("RWR3","seen",1); | |
751 | gMC->Gsatt("MPR3","seen",1); | |
752 | gMC->Gsatt("SPR3","seen",1); | |
753 | gMC->Gsatt("SMR3","seen",1); | |
754 | gMC->Gsatt("CPR3","seen",1); | |
755 | gMC->Gsatt("C1R3","seen",1); | |
756 | gMC->Gsatt("C2R3","seen",1); | |
757 | gMC->Gsatt("GKR3","seen",1); | |
758 | gMC->Gsatt("SCR3","seen",1); | |
759 | gMC->Gsatt("SER3","seen",1); | |
760 | gMC->Gsatt("CER3","seen",1); | |
761 | gMC->Gsatt("IWL3","seen",1); | |
762 | gMC->Gsatt("FWL3","seen",1); | |
763 | gMC->Gsatt("RWL3","seen",1); | |
764 | gMC->Gsatt("MPL3","seen",1); | |
765 | gMC->Gsatt("SPL3","seen",1); | |
766 | gMC->Gsatt("SML3","seen",1); | |
767 | gMC->Gsatt("CPL3","seen",1); | |
768 | gMC->Gsatt("C1L3","seen",1); | |
769 | gMC->Gsatt("C2L3","seen",1); | |
770 | gMC->Gsatt("GKL3","seen",1); | |
771 | gMC->Gsatt("SCL3","seen",1); | |
772 | gMC->Gsatt("SEL3","seen",1); | |
773 | gMC->Gsatt("CEL3","seen",1); | |
774 | gMC->Gsatt("IWR2","seen",1); | |
775 | gMC->Gsatt("FWR2","seen",1); | |
776 | gMC->Gsatt("RWR2","seen",1); | |
777 | gMC->Gsatt("MPR2","seen",1); | |
778 | gMC->Gsatt("SPR2","seen",1); | |
779 | gMC->Gsatt("SMR2","seen",1); | |
780 | gMC->Gsatt("CPR2","seen",1); | |
781 | gMC->Gsatt("C1R2","seen",1); | |
782 | gMC->Gsatt("C2R2","seen",1); | |
783 | gMC->Gsatt("GKR2","seen",1); | |
784 | gMC->Gsatt("SCR2","seen",1); | |
785 | gMC->Gsatt("SER2","seen",1); | |
786 | gMC->Gsatt("CER2","seen",1); | |
787 | gMC->Gsatt("IWL2","seen",1); | |
788 | gMC->Gsatt("FWL2","seen",1); | |
789 | gMC->Gsatt("RWL2","seen",1); | |
790 | gMC->Gsatt("MPL2","seen",1); | |
791 | gMC->Gsatt("SPL2","seen",1); | |
792 | gMC->Gsatt("SML2","seen",1); | |
793 | gMC->Gsatt("CPL2","seen",1); | |
794 | gMC->Gsatt("C1L2","seen",1); | |
795 | gMC->Gsatt("C2L2","seen",1); | |
796 | gMC->Gsatt("GKL2","seen",1); | |
797 | gMC->Gsatt("SCL2","seen",1); | |
798 | gMC->Gsatt("SEL2","seen",1); | |
799 | gMC->Gsatt("CEL2","seen",1); | |
800 | gMC->Gsatt("IWR1","seen",1); | |
801 | gMC->Gsatt("FWR1","seen",1); | |
802 | gMC->Gsatt("RWR1","seen",1); | |
803 | gMC->Gsatt("MPR1","seen",1); | |
804 | gMC->Gsatt("SPR1","seen",1); | |
805 | gMC->Gsatt("SMR1","seen",1); | |
806 | gMC->Gsatt("CPR1","seen",1); | |
807 | gMC->Gsatt("C1R1","seen",1); | |
808 | gMC->Gsatt("C2R1","seen",1); | |
809 | gMC->Gsatt("GKR1","seen",1); | |
810 | gMC->Gsatt("SCR1","seen",1); | |
811 | gMC->Gsatt("SER1","seen",1); | |
812 | gMC->Gsatt("CER1","seen",1); | |
813 | gMC->Gsatt("IWL1","seen",1); | |
814 | gMC->Gsatt("FWL1","seen",1); | |
815 | gMC->Gsatt("RWL1","seen",1); | |
816 | gMC->Gsatt("MPL1","seen",1); | |
817 | gMC->Gsatt("SPL1","seen",1); | |
818 | gMC->Gsatt("SML1","seen",1); | |
819 | gMC->Gsatt("CPL1","seen",1); | |
820 | gMC->Gsatt("C1L1","seen",1); | |
821 | gMC->Gsatt("C2L1","seen",1); | |
822 | gMC->Gsatt("GKL1","seen",1); | |
823 | gMC->Gsatt("SCL1","seen",1); | |
824 | gMC->Gsatt("SEL1","seen",1); | |
825 | gMC->Gsatt("CEL1","seen",1); | |
826 | gMC->Gsatt("IWL4","seen",1); | |
827 | gMC->Gsatt("FWL4","seen",1); | |
828 | gMC->Gsatt("RWL4","seen",1); | |
829 | gMC->Gsatt("MPL4","seen",1); | |
830 | gMC->Gsatt("SPL4","seen",1); | |
831 | gMC->Gsatt("SML4","seen",1); | |
832 | gMC->Gsatt("CPL4","seen",1); | |
833 | gMC->Gsatt("C1L4","seen",1); | |
834 | gMC->Gsatt("C2L4","seen",1); | |
835 | gMC->Gsatt("GKL4","seen",1); | |
836 | gMC->Gsatt("SCL4","seen",1); | |
837 | gMC->Gsatt("SEL4","seen",1); | |
838 | gMC->Gsatt("CEL4","seen",1); | |
fe4da5cc | 839 | // |
cfce8870 | 840 | gMC->Gdopt("hide", "on"); |
841 | gMC->Gdopt("shad", "on"); | |
842 | gMC->Gsatt("*", "fill", 7); | |
843 | gMC->SetClipBox("."); | |
844 | gMC->SetClipBox("*", 0, 1000, -1000, 1000, -1000, 1000); | |
845 | gMC->DefaultRange(); | |
846 | gMC->Gdraw("alic", 40, 30, 0, 6, 9, .08, .08); | |
847 | gMC->Gdhead(1111, "Forward Multiplicity Detector version 1"); | |
848 | gMC->Gdman(13, 9, "MAN"); | |
fe4da5cc | 849 | } |
850 | ||
851 | //_____________________________________________________________________________ | |
852 | void AliFMDv1::CreateMaterials() | |
853 | { | |
854 | // | |
855 | // Create materials for version 1 of FMD | |
856 | // | |
857 | ||
858 | // Steel for chamber | |
859 | Float_t ast[4] = { 55.847,58.71,51.996,47.9 }; | |
860 | Float_t zst[4] = { 26.,28.,24.,22. }; | |
861 | Float_t wst[4] = { .6,.18,.12,.1 }; | |
862 | // Lead glass for MCP | |
863 | Float_t amcp[3] = { 15.9994,28.086,207.19 }; | |
864 | Float_t zmcp[3] = { 8.,14.,82. }; | |
865 | Float_t wmcp[3] = { .43,.375,.195 }; | |
866 | // Ceramic for plates | |
867 | Float_t acer[2] = { 26.98,15.9994 }; | |
868 | Float_t zcer[2] = { 13.,8. }; | |
869 | Float_t wcer[2] = { .4,.6 }; | |
870 | ||
871 | Float_t epsil, stmin, deemax, tmaxfd, stemax; | |
872 | ||
873 | Int_t ISXFLD = gAlice->Field()->Integ(); | |
874 | Float_t SXMGMX = gAlice->Field()->Max(); | |
875 | ||
876 | // Silicon | |
877 | ||
878 | AliMaterial(2, "SI$", 28.086, 14., 2.33, 9.36, 45.5); | |
879 | ||
880 | // Covar | |
881 | ||
882 | AliMaterial(4, "FE$", 55.85, 26., 8.3, 1.67, 15.9); | |
883 | ||
884 | // Steel | |
885 | ||
886 | AliMixture(0, "FMD_STEEL$", ast, zst, 7.9, 4, wst); | |
887 | ||
888 | // Lead glass | |
889 | ||
890 | AliMixture(1, "FMD_MCP$", amcp, zmcp, 1.55, 3, wmcp); | |
891 | ||
892 | // Ceramic | |
893 | ||
894 | AliMixture(3, "FMD_CERAMIC$", acer, zcer, 3.96, -2, wcer); | |
895 | // ******************************************************* | |
896 | // Defines tracking media parameters. | |
897 | // ******************************************************* | |
898 | epsil = .001; // Tracking precision, DLS | |
899 | stemax = -1.; // Maximum displacement for multiple scattering | |
900 | tmaxfd = -20.; // Maximum angle due to field deflection | |
901 | deemax = -.3; // Maximum fractional energy loss, DLS | |
902 | stmin = -.8; | |
903 | // ******************************************************** | |
ad51aeb0 | 904 | AliMedium(0, "STEEL_L3 ", 0, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin); |
905 | AliMedium(1, "LEAD_GLASS_L3 ", 1, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin); | |
906 | AliMedium(2, "SILICON_L3 ", 2, 1, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin); | |
907 | AliMedium(3, "CERAMIC_L3 ", 3, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin); | |
908 | AliMedium(4, "COVAR_L3 ", 4, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin); | |
fe4da5cc | 909 | } |
910 |