]>
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$ | |
f707b5c1 | 18 | Revision 1.11 2000/12/22 11:17:39 hristov |
19 | New FMD code from Alla + code cleaning | |
20 | ||
d28dcc0d | 21 | Revision 1.10 2000/10/02 21:28:07 fca |
22 | Removal of useless dependecies via forward declarations | |
23 | ||
94de3818 | 24 | Revision 1.9 2000/05/10 21:56:07 fca |
25 | Avoid clashes with ITS and add supports | |
26 | ||
0d630091 | 27 | Revision 1.7 1999/09/29 09:24:14 fca |
28 | Introduction of the Copyright and cvs Log | |
29 | ||
4c039060 | 30 | */ |
31 | ||
fe4da5cc | 32 | /////////////////////////////////////////////////////////////////////////////// |
33 | // // | |
0d630091 | 34 | // Forward Multiplicity Detector version 1 // |
fe4da5cc | 35 | // // |
36 | //Begin_Html | |
37 | /* | |
1439f98e | 38 | <img src="picts/AliFMDv1Class.gif"> |
fe4da5cc | 39 | </pre> |
40 | <br clear=left> | |
41 | <font size=+2 color=red> | |
42 | <p>The responsible person for this module is | |
43 | <a href="mailto:Valeri.Kondratiev@cern.ch">Valeri Kondratiev</a>. | |
44 | </font> | |
45 | <pre> | |
46 | */ | |
47 | //End_Html | |
48 | // // | |
49 | /////////////////////////////////////////////////////////////////////////////// | |
50 | ||
51 | #include "AliRun.h" | |
52 | #include "AliFMDv1.h" | |
53 | #include "AliMC.h" | |
94de3818 | 54 | #include "AliMagF.h" |
f707b5c1 | 55 | #include <stdlib.h> |
fe4da5cc | 56 | |
57 | ClassImp(AliFMDv1) | |
58 | ||
59 | //_____________________________________________________________________________ | |
99560b47 | 60 | AliFMDv1::AliFMDv1() |
fe4da5cc | 61 | { |
62 | // | |
0d630091 | 63 | // Default constructor for FMD version 1 |
fe4da5cc | 64 | // |
65 | } | |
66 | ||
67 | //_____________________________________________________________________________ | |
68 | AliFMDv1::AliFMDv1(const char *name, const char *title) | |
69 | : AliFMD(name,title) | |
70 | { | |
71 | // | |
72 | // Standard constructor for FMD version 1 | |
73 | // | |
99560b47 | 74 | AliModule *start = gAlice->GetModule("START"); |
75 | if(start) { | |
76 | Error("ctor","This version of FMD is incompatible with START\n"); | |
77 | exit(1); | |
78 | } | |
fe4da5cc | 79 | } |
80 | ||
0d630091 | 81 | //___________________________________________ |
fe4da5cc | 82 | void AliFMDv1::CreateGeometry() |
83 | { | |
84 | // | |
85 | // Creation of the geometry of the FMD version 1 | |
86 | // | |
87 | //Begin_Html | |
88 | /* | |
1439f98e | 89 | <img src="picts/AliFMDv1Tree.gif"> |
fe4da5cc | 90 | */ |
91 | //End_Html | |
92 | //Begin_Html | |
93 | /* | |
1439f98e | 94 | <img src="picts/AliFMDv1.gif"> |
fe4da5cc | 95 | */ |
96 | //End_Html | |
97 | ||
fe4da5cc | 98 | |
0d630091 | 99 | Float_t rout, z; |
fe4da5cc | 100 | Float_t par[3], rin; |
0d630091 | 101 | |
102 | Int_t irotm[100]; | |
fe4da5cc | 103 | |
0d630091 | 104 | TArrayI &idtmed = *fIdtmed; |
fe4da5cc | 105 | |
106 | // ******************************************************** | |
0d630091 | 107 | // DEFINE DISK#3 OF FMD |
fe4da5cc | 108 | // ******************************************************** |
109 | ||
0d630091 | 110 | gMC->Gsvolu("BR3_", "BOX ", idtmed[4], par, 0); |
111 | gMC->Gsvolu("CB3_", "BOX ", idtmed[5], par, 0); | |
112 | gMC->Gsvolu("BR5_", "BOX ", idtmed[4], par, 0); | |
113 | gMC->Gsvolu("CB5_", "BOX ", idtmed[5], par, 0); | |
114 | ||
115 | // Define parameters for the right disk | |
fe4da5cc | 116 | |
117 | rin = 4.5; | |
118 | rout = 10.5; | |
0d630091 | 119 | z = 77.; |
120 | ||
121 | // Ring #1 | |
122 | ||
fe4da5cc | 123 | par[0] = rin; |
124 | par[1] = rout; | |
0d630091 | 125 | par[2] = 1.5; |
126 | gMC->Gsvolu("R1R3", "TUBE", idtmed[1], par, 3); | |
127 | gMC->Gspos("R1R3", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
128 | ||
129 | // Ring #2 | |
130 | ||
fe4da5cc | 131 | par[0] = rout; |
0d630091 | 132 | par[1] = rout + .65; |
133 | par[2] = 1.5; | |
134 | gMC->Gsvolu("R2R3", "TUBE", idtmed[2], par, 3); | |
135 | gMC->Gspos("R2R3", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
136 | ||
137 | // Ring #3 | |
138 | ||
139 | par[0] = rout + .65; | |
140 | par[1] = rout + 5.65; | |
fe4da5cc | 141 | par[2] = .025; |
0d630091 | 142 | gMC->Gsvolu("R3R3", "TUBE", idtmed[3], par, 3); |
143 | gMC->Gspos("R3R3", 1, "ALIC", 0., 0., z + 1.525, 0, "ONLY"); | |
144 | ||
145 | // Bracket #1 | |
146 | ||
147 | par[0] = 1.5; | |
148 | par[1] = 0.1; | |
149 | par[2] = 15.35; | |
150 | gMC->Matrix(irotm[11], 90., 0., 161.2, 90., 71.2, 90.); | |
151 | gMC->Gsposp("BR3_",1,"ALIC", 0., 25.25, 85.0, irotm[11],"ONLY",par,3); | |
152 | par[1] = 0.5; | |
153 | gMC->Gsposp("CB3_",1,"ALIC", 0., 25.41, 84.53,irotm[11],"ONLY",par,3); | |
154 | ||
155 | ||
156 | // Bracket #2 | |
157 | ||
158 | par[0] = 1.5; | |
159 | par[1] = 0.1; | |
160 | par[2] = 15.35; | |
161 | gMC->Matrix(irotm[12], 90., 180., 161.2, 270., 71.2, 270.); | |
162 | gMC->Gsposp("BR3_",2,"ALIC", 0.,-25.25, 85.0, irotm[12],"ONLY",par,3); | |
163 | par[1] = 0.5; | |
164 | gMC->Gsposp("CB3_",2,"ALIC", 0.,-25.41, 84.53,irotm[12],"ONLY",par,3); | |
165 | ||
166 | ||
167 | // Bracket #3 | |
168 | ||
169 | par[0] = 1.5; | |
170 | par[1] = 0.1; | |
171 | par[2] = 15.35; | |
172 | gMC->Matrix(irotm[13], 90., 270., 161.2, 0., 71.2, 0.); | |
173 | gMC->Gsposp("BR3_",3,"ALIC", 25.25, 0., 85.0, irotm[13],"ONLY",par,3); | |
174 | par[1] = 0.5; | |
175 | gMC->Gsposp("CB3_",3,"ALIC", 25.41, 0., 84.53,irotm[13],"ONLY",par,3); | |
176 | ||
177 | ||
178 | // Bracket #4 | |
179 | ||
180 | par[0] = 1.5; | |
181 | par[1] = 0.1; | |
182 | par[2] = 15.35; | |
183 | gMC->Matrix(irotm[14], 90., 90., 161.2, 180., 71.2, 180.); | |
184 | gMC->Gsposp("BR3_",4,"ALIC", -25.25, 0., 85.0, irotm[14],"ONLY",par,3); | |
185 | par[1] = 0.5; | |
186 | gMC->Gsposp("CB3_",4,"ALIC", -25.41, 0., 84.53,irotm[14],"ONLY",par,3); | |
187 | ||
188 | // Right support ring | |
189 | ||
190 | par[0] = 39.; | |
191 | par[1] = 41.; | |
192 | par[2] = .5; | |
193 | gMC->Gsvolu("R1SP", "TUBE", idtmed[4], par, 3); | |
194 | gMC->Gspos("R1SP", 1, "ALIC", 0., 0., 89.5, 0, "ONLY"); | |
195 | ||
196 | // Define parameters for the left disk | |
fe4da5cc | 197 | |
198 | rin = 4.5; | |
199 | rout = 10.5; | |
0d630091 | 200 | z = -77.; |
201 | ||
202 | // Ring #1 | |
203 | ||
fe4da5cc | 204 | par[0] = rin; |
205 | par[1] = rout; | |
0d630091 | 206 | par[2] = 1.5; |
207 | gMC->Gsvolu("R1L3", "TUBE", idtmed[1], par, 3); | |
208 | gMC->Gspos("R1L3", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
209 | ||
210 | // Ring #2 | |
211 | ||
fe4da5cc | 212 | par[0] = rout; |
0d630091 | 213 | par[1] = rout + .65; |
214 | par[2] = 1.5; | |
215 | gMC->Gsvolu("R2L3", "TUBE", idtmed[2], par, 3); | |
216 | gMC->Gspos("R2L3", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
217 | ||
218 | // Ring #3 | |
219 | ||
220 | par[0] = rout + .65; | |
221 | par[1] = rout + 5.65; | |
fe4da5cc | 222 | par[2] = .025; |
0d630091 | 223 | gMC->Gsvolu("R3L3", "TUBE", idtmed[3], par, 3); |
224 | gMC->Gspos("R3L3", 1, "ALIC", 0., 0., z - 1.525, 0, "ONLY"); | |
225 | ||
226 | // Bracket #1 | |
227 | ||
228 | par[0] = 1.5; | |
229 | par[1] = 0.1; | |
230 | par[2] = 15.35; | |
231 | gMC->Matrix(irotm[61], 90., 0., 180.-161.2, 90., 180.-71.2, 90.); | |
232 | gMC->Gsposp("BR3_",5,"ALIC", 0., 25.25, -85.0, irotm[61],"ONLY",par,3); | |
233 | par[1] = 0.5; | |
234 | gMC->Gsposp("CB3_",5,"ALIC", 0., 25.41, -84.53,irotm[61],"ONLY",par,3); | |
235 | ||
236 | gMC->Matrix(irotm[91], 90., 0., 90.-10.6, 90., 180.-10.6, 90.); | |
237 | par[1] = 0.1; | |
238 | par[2] = 81.4; | |
239 | gMC->Gsposp("BR5_",1,"ALIC", 0., 55.0, -170.0,irotm[91],"ONLY",par,3); | |
240 | par[1] = 0.5; | |
241 | gMC->Gsposp("CB5_",1,"ALIC", 0., 55.5, -169.5,irotm[91],"ONLY",par,3); | |
242 | ||
243 | // Bracket #2 | |
244 | ||
245 | par[0] = 1.5; | |
246 | par[1] = 0.1; | |
247 | par[2] = 15.35; | |
248 | gMC->Matrix(irotm[62], 90., 180., 180.-161.2, 270., 180.-71.2, 270.); | |
249 | gMC->Gsposp("BR3_",6,"ALIC", 0.,-25.25, -85.0,irotm[62],"ONLY",par,3); | |
250 | par[1] = 0.5; | |
251 | gMC->Gsposp("CB3_",6,"ALIC", 0.,-25.41, -84.53,irotm[62],"ONLY",par,3); | |
252 | ||
253 | gMC->Matrix(irotm[92], 90., 180., 90.-10.6, 270., 180.-10.6, 270.); | |
254 | par[1] = 0.1; | |
255 | par[2] = 81.4; | |
256 | gMC->Gsposp("BR5_",2,"ALIC", 0., -55.0, -170.0,irotm[92],"ONLY",par,3); | |
257 | par[1] = 0.5; | |
258 | gMC->Gsposp("CB5_",2,"ALIC", 0., -55.5, -169.5,irotm[92],"ONLY",par,3); | |
259 | ||
260 | // Bracket #3 | |
261 | ||
262 | par[0] = 1.5; | |
263 | par[1] = 0.1; | |
264 | par[2] = 15.35; | |
265 | gMC->Matrix(irotm[63], 90., 270., 180.-161.2, 0., 180.-71.2, 0.); | |
266 | gMC->Gsposp("BR3_",7,"ALIC", 25.25, 0., -85.0, irotm[63],"ONLY",par,3); | |
267 | par[1] = 0.5; | |
268 | gMC->Gsposp("CB3_",7,"ALIC", 25.41, 0., -84.53,irotm[63],"ONLY",par,3); | |
269 | ||
270 | gMC->Matrix(irotm[93], 90., 270., 90.-10.6, 0., 180.-10.6, 0.); | |
271 | par[1] = 0.1; | |
272 | par[2] = 81.4; | |
273 | gMC->Gsposp("BR5_",3,"ALIC", 55., 0., -170.,irotm[93],"ONLY",par,3); | |
274 | par[1] = 0.5; | |
275 | gMC->Gsposp("CB5_",3,"ALIC", 55.5, 0., -169.5,irotm[93],"ONLY",par,3); | |
276 | ||
277 | // Bracket #4 | |
278 | ||
279 | par[0] = 1.5; | |
280 | par[1] = 0.1; | |
281 | par[2] = 15.35; | |
282 | gMC->Matrix(irotm[64], 90., 90., 180.-161.2, 180., 180.-71.2, 180.); | |
283 | gMC->Gsposp("BR3_",8,"ALIC", -25.25, 0., -85., irotm[64],"ONLY",par,3); | |
284 | par[1] = 0.5; | |
285 | gMC->Gsposp("CB3_",8,"ALIC", -25.41, 0., -84.53,irotm[64],"ONLY",par,3); | |
286 | ||
287 | gMC->Matrix(irotm[94], 90., 90., 90.-10.6, 180., 180.-10.6, 180.); | |
288 | par[1] = 0.1; | |
289 | par[2] = 81.4; | |
290 | gMC->Gsposp("BR5_",4,"ALIC", -55., 0., -170.,irotm[94],"ONLY",par,3); | |
291 | par[1] = 0.5; | |
292 | gMC->Gsposp("CB5_",4,"ALIC", -55.5, 0., -169.5,irotm[94],"ONLY",par,3); | |
293 | ||
294 | // Central support ring | |
295 | ||
296 | par[0] = 39.; | |
297 | par[1] = 41.; | |
298 | par[2] = .5; | |
299 | gMC->Gsvolu("R2SP", "TUBE", idtmed[4], par, 3); | |
300 | gMC->Gspos("R2SP", 1, "ALIC", 0., 0., -89.5, 0, "ONLY"); | |
301 | ||
302 | // Left support ring | |
303 | ||
304 | par[0] = 69.; | |
305 | par[1] = 71.; | |
306 | par[2] = .5; | |
307 | gMC->Gsvolu("R3SP", "TUBE", idtmed[4], par, 3); | |
308 | gMC->Gspos("R3SP", 1, "ALIC", 0., 0., -249.5, 0, "ONLY"); | |
309 | ||
fe4da5cc | 310 | // ******************************************************** |
0d630091 | 311 | // DEFINE DISK#2 OF FMD |
fe4da5cc | 312 | // ******************************************************** |
313 | ||
0d630091 | 314 | gMC->Gsvolu("BR2_", "BOX ", idtmed[4], par, 0); |
315 | gMC->Gsvolu("CB2_", "BOX ", idtmed[5], par, 0); | |
316 | ||
317 | // Define parameters for right disk #2 | |
fe4da5cc | 318 | |
0d630091 | 319 | rin = 7.7; |
320 | rout = 13.7; | |
321 | z = 64.4; | |
322 | ||
323 | // Ring #1 | |
324 | ||
fe4da5cc | 325 | par[0] = rin; |
326 | par[1] = rout; | |
0d630091 | 327 | par[2] = 1.5; |
328 | gMC->Gsvolu("R1R2", "TUBE", idtmed[1], par, 3); | |
329 | gMC->Gspos("R1R2", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
330 | ||
331 | // Ring #2 | |
332 | ||
fe4da5cc | 333 | par[0] = rout; |
0d630091 | 334 | par[1] = rout + .65; |
335 | par[2] = 1.5; | |
336 | gMC->Gsvolu("R2R2", "TUBE", idtmed[2], par, 3); | |
337 | gMC->Gspos("R2R2", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
338 | ||
339 | // Ring #3 | |
340 | ||
341 | par[0] = rout + .65; | |
342 | par[1] = rout + 5.65; | |
fe4da5cc | 343 | par[2] = .025; |
0d630091 | 344 | gMC->Gsvolu("R3R2", "TUBE", idtmed[3], par, 3); |
345 | gMC->Gspos("R3R2", 1, "ALIC", 0., 0., z + 1.525, 0, "ONLY"); | |
346 | ||
347 | // Bracket #1 | |
348 | ||
349 | par[0] = 1.5; | |
350 | par[1] = 0.1; | |
351 | par[2] = 17.35; | |
352 | gMC->Matrix(irotm[21], 90., 30., 139.3, 120., 49.3, 120.); | |
353 | gMC->Gsposp("BR2_",1,"ALIC", -13.4, 23.3, 78.7, irotm[21],"ONLY",par,3); | |
354 | par[1] = 0.5; | |
355 | gMC->Gsposp("CB2_",1,"ALIC", -13.56, 23.6, 78.4, irotm[21],"ONLY",par,3); | |
356 | ||
357 | // Bracket #2 | |
358 | ||
359 | par[0] = 1.5; | |
360 | par[1] = 0.1; | |
361 | par[2] = 17.35; | |
362 | gMC->Matrix(irotm[22], 90., 210., 139.3, 300., 49.3, 300.); | |
363 | gMC->Gsposp("BR2_",2,"ALIC", 13.4,-23.3, 78.7, irotm[22],"ONLY",par,3); | |
364 | par[1] = 0.5; | |
365 | gMC->Gsposp("CB2_",2,"ALIC", 13.5,-23.6, 78.4,irotm[22],"ONLY",par,3); | |
366 | ||
367 | ||
368 | // Bracket #3 | |
369 | ||
370 | par[0] = 1.5; | |
371 | par[1] = 0.1; | |
372 | par[2] = 17.35; | |
373 | gMC->Matrix(irotm[23], 90., 300., 139.3, 30., 49.3, 30.); | |
374 | gMC->Gsposp("BR2_",3,"ALIC", 23.3, 13.4, 78.7, irotm[23],"ONLY",par,3); | |
375 | par[1] = 0.5; | |
376 | gMC->Gsposp("CB2_",3,"ALIC", 23.6, 13.56, 78.4,irotm[23],"ONLY",par,3); | |
377 | ||
378 | // Bracket #4 | |
379 | ||
380 | par[0] = 1.5; | |
381 | par[1] = 0.1; | |
382 | par[2] = 17.35; | |
383 | gMC->Matrix(irotm[24], 90., 120., 139.3, 210., 49.3, 210.); | |
384 | gMC->Gsposp("BR2_",4,"ALIC", -23.3, -13.4, 78.7,irotm[24],"ONLY",par,3); | |
385 | par[1] = 0.5; | |
386 | gMC->Gsposp("CB2_",4,"ALIC", -23.6, -13.56, 78.4,irotm[24],"ONLY",par,3); | |
387 | ||
388 | // Define parameters for left disk | |
fe4da5cc | 389 | |
0d630091 | 390 | rin = 7.7; |
391 | rout = 13.7; | |
392 | z = -64.4; | |
393 | ||
394 | // Ring #1 | |
395 | ||
fe4da5cc | 396 | par[0] = rin; |
397 | par[1] = rout; | |
0d630091 | 398 | par[2] = 1.5; |
399 | gMC->Gsvolu("R1L2", "TUBE", idtmed[1], par, 3); | |
400 | gMC->Gspos("R1L2", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
401 | ||
402 | // Ring #2 | |
403 | ||
fe4da5cc | 404 | par[0] = rout; |
0d630091 | 405 | par[1] = rout + .65; |
406 | par[2] = 1.5; | |
407 | gMC->Gsvolu("R2L2", "TUBE", idtmed[2], par, 3); | |
408 | gMC->Gspos("R2L2", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
409 | ||
410 | // Ring #3 | |
411 | ||
412 | par[0] = rout + .65; | |
413 | par[1] = rout + 5.65; | |
fe4da5cc | 414 | par[2] = .025; |
0d630091 | 415 | gMC->Gsvolu("R3L2", "TUBE", idtmed[3], par, 3); |
416 | gMC->Gspos("R3L2", 1, "ALIC", 0., 0., z - 1.525, 0, "ONLY"); | |
417 | ||
418 | // Bracket #1 | |
419 | ||
420 | par[0] = 1.5; | |
421 | par[1] = 0.1; | |
422 | par[2] = 17.35; | |
423 | gMC->Matrix(irotm[51], 90., 30., 180.-139.3, 120., 180.-49.3, 120.); | |
424 | gMC->Gsposp("BR2_",5,"ALIC", -13.4, 23.3, -78.7, irotm[51],"ONLY",par,3); | |
425 | par[1] = 0.5; | |
426 | gMC->Gsposp("CB2_",5,"ALIC", -13.56, 23.6, -78.4,irotm[51],"ONLY",par,3); | |
427 | ||
428 | gMC->Matrix(irotm[81], 90., 30., 90.-10.6, 120., 180.-10.6, 120.); | |
429 | par[1] = 0.1; | |
430 | par[2] = 81.4; | |
431 | gMC->Gsposp("BR5_",5,"ALIC", -27.5, 47.6, -170.0,irotm[81],"ONLY",par,3); | |
432 | par[1] = 0.5; | |
433 | gMC->Gsposp("CB5_",5,"ALIC", -27.85, 48., -169.5,irotm[81],"ONLY",par,3); | |
434 | ||
435 | // Bracket #2 | |
436 | ||
437 | par[0] = 1.5; | |
438 | par[1] = 0.1; | |
439 | par[2] = 17.35; | |
440 | gMC->Matrix(irotm[52], 90., 210., 180.-139.3, 300., 180.-49.3, 300.); | |
441 | gMC->Gsposp("BR2_",6,"ALIC", 13.4, -23.3, -78.7,irotm[52],"ONLY",par,3); | |
442 | par[1] = 0.5; | |
443 | gMC->Gsposp("CB2_",6,"ALIC", 13.56, -23.6, -78.4,irotm[52],"ONLY",par,3); | |
444 | ||
445 | gMC->Matrix(irotm[82], 90., 210., 90.-10.6, 300., 180.-10.6, 300.); | |
446 | par[1] = 0.1; | |
447 | par[2] = 81.4; | |
448 | gMC->Gsposp("BR5_",6,"ALIC", 27.5, -47.6, -170.0,irotm[82],"ONLY",par,3); | |
449 | par[1] = 0.5; | |
450 | gMC->Gsposp("CB5_",6,"ALIC", 27.85, -48., -169.5,irotm[82],"ONLY",par,3); | |
451 | ||
452 | // Bracket #3 | |
453 | ||
454 | par[0] = 1.5; | |
455 | par[1] = 0.1; | |
456 | par[2] = 17.35; | |
457 | gMC->Matrix(irotm[53], 90., 300., 180.-139.3, 30., 180.-49.3, 30.); | |
458 | gMC->Gsposp("BR2_",7,"ALIC", 23.3, 13.4, -78.7, irotm[53],"ONLY",par,3); | |
459 | par[1] = 0.5; | |
460 | gMC->Gsposp("CB2_",7,"ALIC", 23.6, 13.56, -78.4,irotm[53],"ONLY",par,3); | |
461 | ||
462 | gMC->Matrix(irotm[83], 90., 300., 90.-10.6, 30., 180.-10.6, 30.); | |
463 | par[1] = 0.1; | |
464 | par[2] = 81.4; | |
465 | gMC->Gsposp("BR5_",7,"ALIC", 47.6, 27.5, -170.,irotm[83],"ONLY",par,3); | |
466 | par[1] = 0.5; | |
467 | gMC->Gsposp("CB5_",7,"ALIC", 48., 27.85, -169.5,irotm[83],"ONLY",par,3); | |
468 | ||
469 | // Bracket #4 | |
470 | ||
471 | par[0] = 1.5; | |
472 | par[1] = 0.1; | |
473 | par[2] = 17.35; | |
474 | gMC->Matrix(irotm[54], 90., 120., 180.-139.3, 210., 180.-49.3, 210.); | |
475 | gMC->Gsposp("BR2_",8,"ALIC", -23.3, -13.4, -78.7, irotm[54],"ONLY",par,3); | |
476 | par[1] = 0.5; | |
477 | gMC->Gsposp("CB2_",8,"ALIC", -23.6, -13.56, -78.4,irotm[54],"ONLY",par,3); | |
478 | ||
479 | gMC->Matrix(irotm[84], 90., 120., 90.-10.6, 210., 180.-10.6, 210.); | |
480 | par[1] = 0.1; | |
481 | par[2] = 81.4; | |
482 | gMC->Gsposp("BR5_",8,"ALIC", -47.6, -27.5, -170.,irotm[84],"ONLY",par,3); | |
483 | par[1] = 0.5; | |
484 | gMC->Gsposp("CB5_",8,"ALIC", -48., -27.85, -169.5,irotm[84],"ONLY",par,3); | |
485 | ||
fe4da5cc | 486 | // ******************************************************** |
0d630091 | 487 | // DEFINE DISK#1 OF FMD |
fe4da5cc | 488 | // ******************************************************** |
489 | ||
0d630091 | 490 | gMC->Gsvolu("BR1_", "BOX ", idtmed[4], par, 0); |
491 | gMC->Gsvolu("CB1_", "BOX ", idtmed[5], par, 0); | |
fe4da5cc | 492 | |
0d630091 | 493 | // Define parameters for right disk #1 |
494 | ||
495 | rin = 12.4; | |
496 | rout = 18.4; | |
497 | z = 59.4; | |
498 | ||
499 | // Ring #1 | |
500 | ||
fe4da5cc | 501 | par[0] = rin; |
502 | par[1] = rout; | |
0d630091 | 503 | par[2] = 1.5; |
504 | gMC->Gsvolu("R1R1", "TUBE", idtmed[1], par, 3); | |
505 | gMC->Gspos("R1R1", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
506 | ||
507 | // Ring #2 | |
508 | ||
fe4da5cc | 509 | par[0] = rout; |
0d630091 | 510 | par[1] = rout + .65; |
511 | par[2] = 1.5; | |
512 | gMC->Gsvolu("R2R1", "TUBE", idtmed[2], par, 3); | |
513 | gMC->Gspos("R2R1", 1, "ALIC", 0., 0., z + 1.5, 0, "ONLY"); | |
514 | ||
515 | // Ring #3 | |
516 | ||
517 | par[0] = rout + .65; | |
518 | par[1] = rout + 5.65; | |
fe4da5cc | 519 | par[2] = .025; |
0d630091 | 520 | gMC->Gsvolu("R3R1", "TUBE", idtmed[3], par, 3); |
521 | gMC->Gspos("R3R1", 1, "ALIC", 0., 0., z + 1.525, 0, "ONLY"); | |
522 | ||
523 | // Bracket #1 | |
524 | ||
525 | par[0] = 1.5; | |
526 | par[1] = 0.1; | |
527 | par[2] = 17.5; | |
528 | gMC->Matrix(irotm[31], 90., 60., 128., 150., 38., 150.); | |
529 | gMC->Gsposp("BR1_",1,"ALIC", -25.3, 14.6, 76.2, irotm[31],"ONLY",par,3); | |
530 | par[1] = 0.5; | |
531 | gMC->Gsposp("CB1_",1,"ALIC", -25.35, 14.8, 75.9, irotm[31],"ONLY",par,3); | |
532 | ||
533 | // Bracket #2 | |
534 | ||
535 | par[0] = 1.5; | |
536 | par[1] = 0.1; | |
537 | par[2] = 17.5; | |
538 | gMC->Matrix(irotm[32], 90., 240., 128., 330., 38., 330.); | |
539 | gMC->Gsposp("BR1_",2,"ALIC", 25.3, -14.6, 76.2, irotm[32],"ONLY",par,3); | |
540 | par[1] = 0.5; | |
541 | gMC->Gsposp("CB1_",2,"ALIC", 25.35, -14.8, 75.9,irotm[32],"ONLY",par,3); | |
542 | ||
543 | // Bracket #3 | |
544 | ||
545 | par[0] = 1.5; | |
546 | par[1] = 0.1; | |
547 | par[2] = 17.5; | |
548 | gMC->Matrix(irotm[33], 90., 330., 128., 60., 38., 60.); | |
549 | gMC->Gsposp("BR1_",3,"ALIC", 14.6, 25.3, 76.2, irotm[33],"ONLY",par,3); | |
550 | par[1] = 0.5; | |
551 | gMC->Gsposp("CB1_",3,"ALIC", 14.8, 25.35, 75.9,irotm[33],"ONLY",par,3); | |
552 | ||
553 | // Bracket #4 | |
554 | ||
555 | par[0] = 1.5; | |
556 | par[1] = 0.1; | |
557 | par[2] = 17.5; | |
558 | gMC->Matrix(irotm[34], 90., 150., 128., 240., 38., 240.); | |
559 | gMC->Gsposp("BR1_",4,"ALIC", -14.6, -25.3, 76.2,irotm[34],"ONLY",par,3); | |
560 | par[1] = 0.5; | |
561 | gMC->Gsposp("CB1_",4,"ALIC", -14.8, -25.35, 75.9,irotm[34],"ONLY",par,3); | |
562 | ||
563 | // Define parameters for left disk #1 | |
fe4da5cc | 564 | |
0d630091 | 565 | rin = 12.4; |
566 | rout = 18.4; | |
567 | z = -59.4; | |
568 | ||
569 | // Ring #1 | |
570 | ||
fe4da5cc | 571 | par[0] = rin; |
572 | par[1] = rout; | |
0d630091 | 573 | par[2] = 1.5; |
574 | gMC->Gsvolu("R1L1", "TUBE", idtmed[1], par, 3); | |
575 | gMC->Gspos("R1L1", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
576 | ||
577 | // Ring #2 | |
578 | ||
fe4da5cc | 579 | par[0] = rout; |
0d630091 | 580 | par[1] = rout + .65; |
581 | par[2] = 1.5; | |
582 | gMC->Gsvolu("R2L1", "TUBE", idtmed[2], par, 3); | |
583 | gMC->Gspos("R2L1", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
584 | ||
585 | // Ring #3 | |
586 | ||
587 | par[0] = rout + .65; | |
588 | par[1] = rout + 5.65; | |
fe4da5cc | 589 | par[2] = .025; |
0d630091 | 590 | gMC->Gsvolu("R3L1", "TUBE", idtmed[3], par, 3); |
591 | gMC->Gspos("R3L1", 1, "ALIC", 0., 0., z - 1.525, 0, "ONLY"); | |
592 | ||
593 | // Bracket #1 | |
594 | ||
595 | par[0] = 1.5; | |
596 | par[1] = 0.1; | |
597 | par[2] = 17.5; | |
598 | gMC->Matrix(irotm[41], 90., 60., 180.-128., 150., 180.-38.0, 150.); | |
599 | gMC->Gsposp("BR1_",5,"ALIC", -25.3, 14.6, -76.2, irotm[41],"ONLY",par,3); | |
600 | par[1] = 0.5; | |
601 | gMC->Gsposp("CB1_",5,"ALIC", -25.35, 14.8, -75.9,irotm[41],"ONLY",par,3); | |
602 | ||
603 | gMC->Matrix(irotm[1], 90., 60., 90.-10.6, 150., 180.-10.6, 150.); | |
604 | par[1] = 0.1; | |
605 | par[2] = 81.4; | |
606 | gMC->Gsposp("BR5_",9,"ALIC", -47.6, 27.5, -170.,irotm[1],"ONLY",par,3); | |
607 | par[1] = 0.5; | |
608 | gMC->Gsposp("CB5_",9,"ALIC", -48., 27.85, -169.5,irotm[1],"ONLY",par,3); | |
609 | ||
610 | // Bracket #2 | |
611 | ||
612 | par[0] = 1.5; | |
613 | par[1] = 0.1; | |
614 | par[2] = 17.5; | |
615 | gMC->Matrix(irotm[42], 90., 240., 180.-128., 330., 180.-38., 330.); | |
616 | gMC->Gsposp("BR1_",6,"ALIC", 25.3,-14.6, -76.2,irotm[42],"ONLY",par,3); | |
617 | par[1] = 0.5; | |
618 | gMC->Gsposp("CB1_",6,"ALIC", 25.35,-14.8, -75.9,irotm[42],"ONLY",par,3); | |
619 | ||
620 | gMC->Matrix(irotm[2], 90., 240., 90.-10.6, 330., 180.-10.6, 330.); | |
621 | par[1] = 0.1; | |
622 | par[2] = 81.4; | |
623 | gMC->Gsposp("BR5_",10,"ALIC", 47.6, -27.5, -170.0,irotm[2],"ONLY",par,3); | |
624 | par[1] = 0.5; | |
625 | gMC->Gsposp("CB5_",10,"ALIC", 48., -27.85, -169.5,irotm[2],"ONLY",par,3); | |
626 | ||
627 | // Bracket #3 | |
628 | ||
629 | par[0] = 1.5; | |
630 | par[1] = 0.1; | |
631 | par[2] = 17.5; | |
632 | gMC->Matrix(irotm[43], 90., 330., 180.-128., 60., 180.-38., 60.); | |
633 | gMC->Gsposp("BR1_",7,"ALIC", 14.6, 25.3, -76.2, irotm[43],"ONLY",par,3); | |
634 | par[1] = 0.5; | |
635 | gMC->Gsposp("CB1_",7,"ALIC", 14.8, 25.35, -75.9,irotm[43],"ONLY",par,3); | |
636 | ||
637 | gMC->Matrix(irotm[3], 90., 330., 90.-10.6, 60., 180.-10.6, 60.); | |
638 | par[1] = 0.1; | |
639 | par[2] = 81.4; | |
640 | gMC->Gsposp("BR5_",11,"ALIC", 27.5, 47.6, -170.,irotm[3],"ONLY",par,3); | |
641 | par[1] = 0.5; | |
642 | gMC->Gsposp("CB5_",11,"ALIC", 27.85, 48., -169.5,irotm[3],"ONLY",par,3); | |
643 | ||
644 | // Bracket #4 | |
645 | ||
646 | par[0] = 1.5; | |
647 | par[1] = 0.1; | |
648 | par[2] = 17.5; | |
649 | gMC->Matrix(irotm[44], 90., 150., 180.-128., 240., 180.-38., 240.); | |
650 | gMC->Gsposp("BR1_",8,"ALIC", -14.6, -25.3, -76.2, irotm[44],"ONLY",par,3); | |
651 | par[1] = 0.5; | |
652 | gMC->Gsposp("CB1_",8,"ALIC", -14.8, -25.35, -75.9,irotm[44],"ONLY",par,3); | |
653 | ||
654 | gMC->Matrix(irotm[4], 90., 150., 90.-10.6, 240., 180.-10.6, 240.); | |
655 | par[1] = 0.1; | |
656 | par[2] = 81.4; | |
657 | gMC->Gsposp("BR5_",12,"ALIC", -27.5, -47.6, -170.,irotm[4],"ONLY",par,3); | |
658 | par[1] = 0.5; | |
659 | gMC->Gsposp("CB5_",12,"ALIC", -27.85, -48., -169.5,irotm[4],"ONLY",par,3); | |
660 | ||
fe4da5cc | 661 | // *********************************************************** |
0d630091 | 662 | // DEFINE LEFT DISK#4 OF FMD |
fe4da5cc | 663 | // *********************************************************** |
0d630091 | 664 | |
665 | gMC->Gsvolu("BR4_", "BOX ", idtmed[4], par, 0); | |
666 | gMC->Gsvolu("CB4_", "BOX ", idtmed[5], par, 0); | |
667 | ||
668 | // Define parameters | |
669 | ||
670 | rin = 4.5; | |
671 | rout = 10.5; | |
fe4da5cc | 672 | z = -229.5; |
0d630091 | 673 | |
674 | // Ring #1 | |
675 | ||
fe4da5cc | 676 | par[0] = rin; |
677 | par[1] = rout; | |
0d630091 | 678 | par[2] = 1.5; |
679 | gMC->Gsvolu("R1L4", "TUBE", idtmed[1], par, 3); | |
680 | gMC->Gspos("R1L4", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
681 | ||
682 | // Ring #2 | |
683 | ||
fe4da5cc | 684 | par[0] = rout; |
0d630091 | 685 | par[1] = rout + .65; |
686 | par[2] = 1.5; | |
687 | gMC->Gsvolu("R2L4", "TUBE", idtmed[2], par, 3); | |
688 | gMC->Gspos("R2L4", 1, "ALIC", 0., 0., z - 1.5, 0, "ONLY"); | |
689 | ||
690 | // Ring #3 | |
691 | ||
692 | par[0] = rout + .65; | |
693 | par[1] = rout + 5.65; | |
fe4da5cc | 694 | par[2] = .025; |
0d630091 | 695 | gMC->Gsvolu("R3L4", "TUBE", idtmed[3], par, 3); |
696 | gMC->Gspos("R3L4", 1, "ALIC", 0., 0., z - 1.525, 0, "ONLY"); | |
697 | ||
698 | // Bracket #1 | |
699 | ||
700 | par[0] = 1.5; | |
701 | par[1] = 0.1; | |
702 | par[2] = 31.25; | |
703 | gMC->Matrix(irotm[71], 90., 0., 90.-71., 90., 180.-71., 90.); | |
704 | gMC->Gsposp("BR4_",1,"ALIC", 0., 40.25, -240., irotm[71],"ONLY",par,3); | |
705 | par[1] = 0.5; | |
706 | gMC->Gsposp("CB4_",1,"ALIC", 0., 40.75, -239.5, irotm[71],"ONLY",par,3); | |
707 | ||
708 | // Bracket #2 | |
709 | ||
710 | par[0] = 1.5; | |
711 | par[1] = 0.1; | |
712 | par[2] = 31.25; | |
713 | gMC->Matrix(irotm[72], 90., 180., 90.-71., 270., 180.-71., 270.); | |
714 | gMC->Gsposp("BR4_",2,"ALIC", 0., -40.25, -240., irotm[72],"ONLY",par,3); | |
715 | par[1] = 0.5; | |
716 | gMC->Gsposp("CB4_",2,"ALIC", 0., -40.75, -239.5,irotm[72],"ONLY",par,3); | |
717 | ||
718 | // Bracket #3 | |
719 | ||
720 | par[0] = 1.5; | |
721 | par[1] = 0.1; | |
722 | par[2] = 31.25; | |
723 | gMC->Matrix(irotm[73], 90., 270., 90.-71., 0., 180.-71., 0.); | |
724 | gMC->Gsposp("BR4_",3,"ALIC", 40.25, 0., -240., irotm[73],"ONLY",par,3); | |
725 | par[1] = 0.5; | |
726 | gMC->Gsposp("CB4_",3,"ALIC", 40.75, 0., -239.5,irotm[73],"ONLY",par,3); | |
727 | ||
728 | // Bracket #4 | |
729 | ||
730 | par[0] = 1.5; | |
731 | par[1] = 0.1; | |
732 | par[2] = 31.25; | |
733 | gMC->Matrix(irotm[74], 90., 90., 90.-71., 180., 180.-71., 180.); | |
734 | gMC->Gsposp("BR4_",4,"ALIC", -40.25, 0., -240.,irotm[74],"ONLY",par,3); | |
735 | par[1] = 0.5; | |
736 | gMC->Gsposp("CB4_",4,"ALIC", -40.75, 0., -239.5,irotm[74],"ONLY",par,3); | |
fe4da5cc | 737 | } |
0d630091 | 738 | |
fe4da5cc | 739 | //_____________________________________________________________________________ |
b316044f | 740 | void AliFMDv1::DrawModule() |
fe4da5cc | 741 | { |
742 | // | |
743 | // Draw a shaded view of the FMD version 1 | |
744 | // | |
745 | ||
fe4da5cc | 746 | // Set everything unseen |
cfce8870 | 747 | gMC->Gsatt("*", "seen", -1); |
fe4da5cc | 748 | // |
749 | // Set ALIC mother transparent | |
cfce8870 | 750 | gMC->Gsatt("ALIC","SEEN",0); |
fe4da5cc | 751 | // |
752 | // Set the volumes visible | |
0d630091 | 753 | gMC->Gsatt("R1R3","SEEN",1); |
754 | gMC->Gsatt("R2R3","SEEN",1); | |
755 | gMC->Gsatt("R3R3","SEEN",1); | |
756 | gMC->Gsatt("R1L3","SEEN",1); | |
757 | gMC->Gsatt("R2L3","SEEN",1); | |
758 | gMC->Gsatt("R3L3","SEEN",1); | |
759 | gMC->Gsatt("R1R2","SEEN",1); | |
760 | gMC->Gsatt("R2R2","SEEN",1); | |
761 | gMC->Gsatt("R3R2","SEEN",1); | |
762 | gMC->Gsatt("R1L2","SEEN",1); | |
763 | gMC->Gsatt("R2L2","SEEN",1); | |
764 | gMC->Gsatt("R3L2","SEEN",1); | |
765 | gMC->Gsatt("R1R1","SEEN",1); | |
766 | gMC->Gsatt("R2R1","SEEN",1); | |
767 | gMC->Gsatt("R3R1","SEEN",1); | |
768 | gMC->Gsatt("R1L1","SEEN",1); | |
769 | gMC->Gsatt("R2L1","SEEN",1); | |
770 | gMC->Gsatt("R3L1","SEEN",1); | |
771 | gMC->Gsatt("R1L4","SEEN",1); | |
772 | gMC->Gsatt("R2L4","SEEN",1); | |
773 | gMC->Gsatt("R3L4","SEEN",1); | |
774 | gMC->Gsatt("BR1_","SEEN",1); | |
775 | gMC->Gsatt("BR2_","SEEN",1); | |
776 | gMC->Gsatt("BR3_","SEEN",1); | |
777 | gMC->Gsatt("BR4_","SEEN",1); | |
778 | gMC->Gsatt("BR5_","SEEN",1); | |
779 | gMC->Gsatt("CB1_","SEEN",1); | |
780 | gMC->Gsatt("CB2_","SEEN",1); | |
781 | gMC->Gsatt("CB3_","SEEN",1); | |
782 | gMC->Gsatt("CB4_","SEEN",1); | |
783 | gMC->Gsatt("CB5_","SEEN",1); | |
784 | gMC->Gsatt("R1SP","SEEN",1); | |
785 | gMC->Gsatt("R2SP","SEEN",1); | |
786 | gMC->Gsatt("R3SP","SEEN",1); | |
fe4da5cc | 787 | // |
cfce8870 | 788 | gMC->Gdopt("hide", "on"); |
789 | gMC->Gdopt("shad", "on"); | |
790 | gMC->Gsatt("*", "fill", 7); | |
791 | gMC->SetClipBox("."); | |
792 | gMC->SetClipBox("*", 0, 1000, -1000, 1000, -1000, 1000); | |
793 | gMC->DefaultRange(); | |
794 | gMC->Gdraw("alic", 40, 30, 0, 6, 9, .08, .08); | |
795 | gMC->Gdhead(1111, "Forward Multiplicity Detector version 1"); | |
796 | gMC->Gdman(13, 9, "MAN"); | |
fe4da5cc | 797 | } |
798 | ||
799 | //_____________________________________________________________________________ | |
800 | void AliFMDv1::CreateMaterials() | |
801 | { | |
802 | // | |
0d630091 | 803 | // Create Materials for version 1 of FMD |
fe4da5cc | 804 | // |
805 | ||
0d630091 | 806 | // Material for ring #1 |
807 | Float_t ar1[8] = { 55.8,58.7,52.,47.9,16.,28.,207.2,27. }; | |
808 | Float_t zr1[8] = { 26.,28.,24.,22.,8.,14.,82.,13. }; | |
809 | Float_t wr1[8] = { .27,.081,.054,.045,.18,.25,.06,.06 }; | |
810 | // Material for ring #2 | |
811 | Float_t ar2[3] = { 55.8,27.,16. }; | |
812 | Float_t zr2[3] = { 26.,13.,8. }; | |
813 | Float_t wr2[3] = { .35,.34,.31 }; | |
814 | // Material for ring #3 | |
815 | Float_t ar3[3] = { 28.,27.,16. }; | |
816 | Float_t zr3[3] = { 14.,13.,8. }; | |
817 | Float_t wr3[3] = { .37,.33,.3 }; | |
818 | // Material for brackets | |
819 | Float_t abr[2] = { 1.,12. }; | |
820 | Float_t zbr[2] = { 1.,6. }; | |
821 | Float_t wbr[2] = { .1,.9 }; | |
822 | // Material for cables | |
823 | Float_t acb[4] = { 1.,12.,37.,63.54 }; | |
824 | Float_t zcb[4] = { 1.,6.,17.,2.9 }; | |
825 | Float_t wcb[4] = { .02,.14,.12,.72 }; | |
fe4da5cc | 826 | |
827 | Float_t epsil, stmin, deemax, tmaxfd, stemax; | |
828 | ||
d28dcc0d | 829 | Int_t isxfld = gAlice->Field()->Integ(); |
830 | Float_t sxmgmx = gAlice->Field()->Max(); | |
fe4da5cc | 831 | |
0d630091 | 832 | // Ring #1 |
fe4da5cc | 833 | |
0d630091 | 834 | AliMixture(1, "FMD_R1$", ar1, zr1, 2.69, 8, wr1); |
fe4da5cc | 835 | |
0d630091 | 836 | // Ring #2 |
fe4da5cc | 837 | |
0d630091 | 838 | AliMixture(2, "FMD_R2$", ar2, zr2, 2.63, 3, wr2); |
fe4da5cc | 839 | |
0d630091 | 840 | // Ring #3 |
fe4da5cc | 841 | |
0d630091 | 842 | AliMixture(3, "FMD_R3$", ar3, zr3, 3.15, 3, wr3); |
843 | ||
844 | // Brackets | |
fe4da5cc | 845 | |
0d630091 | 846 | AliMixture(4, "FMD_BR$", abr, zbr, 1.8, 2, wbr); |
847 | ||
848 | // Cables | |
fe4da5cc | 849 | |
0d630091 | 850 | AliMixture(5, "FMD_CB$", acb, zcb, 3.11, 4, wcb); |
851 | ||
fe4da5cc | 852 | // ******************************************************* |
853 | // Defines tracking media parameters. | |
854 | // ******************************************************* | |
855 | epsil = .001; // Tracking precision, DLS | |
856 | stemax = -1.; // Maximum displacement for multiple scattering | |
857 | tmaxfd = -20.; // Maximum angle due to field deflection | |
858 | deemax = -.3; // Maximum fractional energy loss, DLS | |
859 | stmin = -.8; | |
860 | // ******************************************************** | |
d28dcc0d | 861 | AliMedium(1, "FMD_R1_L3 ", 1, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); |
862 | AliMedium(2, "FMD_R2_L3 ", 2, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); | |
863 | AliMedium(3, "FMD_R3_L3 ", 3, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); | |
864 | AliMedium(4, "FMD_BR_L3 ", 4, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); | |
865 | AliMedium(5, "FMD_CB_L3 ", 5, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); | |
fe4da5cc | 866 | } |
867 | ||
0d630091 | 868 | |
869 |