1 |
* |
2 |
* $Id: gpcatv.F,v 3.1.1.1 2002/07/11 16:02:14 cafagna Exp $ |
3 |
* |
4 |
* $Log: gpcatv.F,v $ |
5 |
* Revision 3.1.1.1 2002/07/11 16:02:14 cafagna |
6 |
* First GPAMELA release on CVS |
7 |
* |
8 |
* |
9 |
* 17/10/2002 22.28.20 by Jens Lund |
10 |
*CMZ : 3.00/00 14/11/2000 09.13.05 by Emiliano Mocchiutti |
11 |
*CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola |
12 |
*CMZ : 2.00/00 03/03/2000 15.39.06 by Francesco Cafagna |
13 |
*CMZ : 1.00/02 08/02/96 17.12.36 by Francesco Cafagna |
14 |
*-- Author : Francesco Cafagna 08/02/96 |
15 |
SUBROUTINE GPCATV |
16 |
************************************************************************ |
17 |
* * |
18 |
* Volumes definition for the TOP anticoincidence counters * |
19 |
* Called by: GPGEO * |
20 |
* * |
21 |
* Author: Francesco Cafagna, 08/02/96 16.58.49 * |
22 |
* * |
23 |
************************************************************************ |
24 |
#include "gpgeo.inc" |
25 |
#include "gpmed.inc" |
26 |
* |
27 |
INTEGER IROT,IVOLU,N,NMED,NUM |
28 |
REAL X,Y,Z |
29 |
*JeL: |
30 |
REAL TBOX(3),TTRD1(4) |
31 |
NMED=MN2 |
32 |
* |
33 |
* Define the CAT 'virtual' box |
34 |
CALL GSVOLU('CATA','BOX ',NMED,CATA, 3,IVOLU) |
35 |
* |
36 |
* Define the CAT (cover) Aluminum box |
37 |
NMED=MAL |
38 |
TBOX(1) = 0.5*56.0 |
39 |
TBOX(2) = 0.5*1.2 |
40 |
TBOX(3) = 0.5*54.33 |
41 |
CALL GSVOLU('ATBB','BOX ',NMED,TBOX, 3,IVOLU) |
42 |
* |
43 |
* Define the CAT rims |
44 |
NMED=MPLAS |
45 |
TBOX(1) = 0.5*55.3 |
46 |
TBOX(2) = 0.5*0.8 |
47 |
TBOX(3) = 0.5*53.63 |
48 |
CALL GSVOLU('PLA2','BOX ',NMED,TBOX, 3,IVOLU) |
49 |
* |
50 |
* Define the CAT scintillator |
51 |
NMED=MSCIN |
52 |
TBOX(1) = 0.5*53.7 |
53 |
TBOX(2) = 0.5*0.8 |
54 |
TBOX(3) = 0.5*52.03 |
55 |
CALL GSVOLU('TOP1','BOX ',NMED,TBOX, 3,IVOLU) |
56 |
* |
57 |
* Define middle Pl. box |
58 |
NMED=MPLAS |
59 |
TBOX(1) = 0.5*20.22 |
60 |
TBOX(2) = 0.5*0.8 |
61 |
TBOX(3) = 0.5*16.88 |
62 |
CALL GSVOLU('PTBM','BOX ',NMED,TBOX, 3,IVOLU) |
63 |
* |
64 |
* Define middle Al. box |
65 |
NMED=MAL |
66 |
TBOX(1) = 0.5*18.82 |
67 |
TBOX(2) = 0.5*0.8 |
68 |
TBOX(3) = 0.5*15.48 |
69 |
CALL GSVOLU('ATBM','BOX ',NMED,TBOX, 3,IVOLU) |
70 |
* |
71 |
* Define middle 'air' box |
72 |
NMED=MN2 |
73 |
TBOX(1) = 0.5*18.22 |
74 |
TBOX(2) = 0.5*1.2 |
75 |
TBOX(3) = 0.5*14.88 |
76 |
CALL GSVOLU('LTBM','BOX ',NMED,TBOX, 3,IVOLU) |
77 |
* |
78 |
* Define corner Pl. box |
79 |
NMED=MPLAS |
80 |
TBOX(1) = 0.5*9.95 |
81 |
TBOX(2) = 0.5*0.8 |
82 |
TBOX(3) = 0.5*11.115 |
83 |
CALL GSVOLU('PTBC','BOX ',NMED,TBOX, 3,IVOLU) |
84 |
* |
85 |
* Define corner Al. box |
86 |
NMED=MAL |
87 |
TBOX(1) = 0.5*9.95 |
88 |
TBOX(2) = 0.5*0.8 |
89 |
TBOX(3) = 0.5*11.115 |
90 |
CALL GSVOLU('ATBC','BOX ',NMED,TBOX, 3,IVOLU) |
91 |
* |
92 |
* Define corner 'air' box |
93 |
NMED=MN2 |
94 |
TBOX(1) = 0.5*9.95 |
95 |
TBOX(2) = 0.5*1.2 |
96 |
TBOX(3) = 0.5*11.115 |
97 |
CALL GSVOLU('LTBC','BOX ',NMED,TBOX, 3,IVOLU) |
98 |
* |
99 |
* Define Pl. trapezoid (TRD1) 'top' |
100 |
NMED=MPLAS |
101 |
TTRD1(1) = 0. |
102 |
TTRD1(2) = 16.9 |
103 |
TTRD1(3) = 0.5*0.8 |
104 |
TTRD1(4) = 0.5*4.81 |
105 |
CALL GSVOLU('PTRT','TRD1',NMED,TTRD1, 4,IVOLU) |
106 |
* |
107 |
* Define Al. trapezoid (TRD1) 'top' |
108 |
NMED=MAL |
109 |
TTRD1(1) = 0. |
110 |
TTRD1(2) = 17.7 |
111 |
TTRD1(3) = 0.5*0.8 |
112 |
TTRD1(4) = 0.5*4.81 |
113 |
CALL GSVOLU('ATRT','TRD1',NMED,TTRD1, 4,IVOLU) |
114 |
* |
115 |
* Define 'air' trapezoid (TRD1) 'top' |
116 |
NMED=MN2 |
117 |
TTRD1(1) = 0. |
118 |
TTRD1(2) = 18.05 |
119 |
TTRD1(3) = 0.5*1.2 |
120 |
TTRD1(4) = 0.5*4.81 |
121 |
CALL GSVOLU('LTRT','TRD1',NMED,TTRD1, 4,IVOLU) |
122 |
* |
123 |
* Define Pl. trapezoid (TRD1) 'bottom' |
124 |
NMED=MPLAS |
125 |
TTRD1(1) = 16.9 |
126 |
TTRD1(2) = 0. |
127 |
TTRD1(3) = 0.5*0.8 |
128 |
TTRD1(4) = 0.5*4.81 |
129 |
CALL GSVOLU('PTRB','TRD1',NMED,TTRD1, 4,IVOLU) |
130 |
* |
131 |
* Define Al. trapezoid (TRD1) 'bottom' |
132 |
NMED=MAL |
133 |
TTRD1(1) = 17.7 |
134 |
TTRD1(2) = 0. |
135 |
TTRD1(3) = 0.5*0.8 |
136 |
TTRD1(4) = 0.5*4.81 |
137 |
CALL GSVOLU('ATRB','TRD1',NMED,TTRD1, 4,IVOLU) |
138 |
* |
139 |
* Define 'air' trapezoid (TRD1) 'bottom' |
140 |
NMED=MN2 |
141 |
TTRD1(1) = 18.05 |
142 |
TTRD1(2) = 0. |
143 |
TTRD1(3) = 0.5*1.2 |
144 |
TTRD1(4) = 0.5*4.81 |
145 |
CALL GSVOLU('LTRB','TRD1',NMED,TTRD1, 4,IVOLU) |
146 |
* |
147 |
* Define Pl. trapezoid (TRD1) 'left&right' |
148 |
NMED=MPLAS |
149 |
TTRD1(1) = 0. |
150 |
TTRD1(2) = 14.9 |
151 |
TTRD1(3) = 0.5*0.8 |
152 |
TTRD1(4) = 0.5*4.75 |
153 |
CALL GSVOLU('PTRL','TRD1',NMED,TTRD1, 4,IVOLU) |
154 |
* |
155 |
* Define Al. trapezoid (TRD1) 'left&right' |
156 |
NMED=MAL |
157 |
TTRD1(1) = 0. |
158 |
TTRD1(2) = 15.7 |
159 |
TTRD1(3) = 0.5*0.8 |
160 |
TTRD1(4) = 0.5*4.75 |
161 |
CALL GSVOLU('ATRL','TRD1',NMED,TTRD1, 4,IVOLU) |
162 |
* |
163 |
* Define 'air' trapezoid (TRD1) 'left&right' |
164 |
NMED=MN2 |
165 |
TTRD1(1) = 0. |
166 |
TTRD1(2) = 16.05 |
167 |
TTRD1(3) = 0.5*1.2 |
168 |
TTRD1(4) = 0.5*4.75 |
169 |
CALL GSVOLU('LTRL','TRD1',NMED,TTRD1, 4,IVOLU) |
170 |
* |
171 |
* |
172 |
* POSITIONING OF THE CAT VOLUMES |
173 |
* |
174 |
* |
175 |
* Position the aluminum box (ATBB) in CATA |
176 |
N = 1 |
177 |
X = 0. |
178 |
Y = 0. |
179 |
Z = 0. |
180 |
CALL GSPOS('ATBB',N,'CATA',X,Y,Z,0,'ONLY') |
181 |
* |
182 |
* Position the plastic box (PLA2) in ATBB |
183 |
N = 1 |
184 |
X = 0. |
185 |
Y = 0. |
186 |
Z = 0. |
187 |
CALL GSPOS('PLA2',N,'ATBB',X,Y,Z,0,'ONLY') |
188 |
* |
189 |
* Position the CAT scintillator (TOP1) in PLA2 |
190 |
X = 0. |
191 |
Y = 0. |
192 |
Z = 0. |
193 |
CALL GSPOS('TOP1',N,'PLA2',X,Y,Z,0,'ONLY') |
194 |
* |
195 |
* Position the middle plastic box (PTBM) in TOP1 |
196 |
X = 0. |
197 |
Y = 0. |
198 |
Z = 0. |
199 |
CALL GSPOS('PTBM',N,'TOP1',X,Y,Z,0,'ONLY') |
200 |
* |
201 |
* Position the middle aluminum box (ATBM) in PLA2 |
202 |
X = 0. |
203 |
Y = 0. |
204 |
Z = 0. |
205 |
CALL GSPOS('ATBM',N,'PLA2',X,Y,Z,0,'ONLY') |
206 |
* |
207 |
* Position the middle 'air' box (LTBM) in ATBB |
208 |
X = 0. |
209 |
Y = 0. |
210 |
Z = 0. |
211 |
CALL GSPOS('LTBM',N,'ATBB',X,Y,Z,0,'ONLY') |
212 |
* |
213 |
* Position the plastic U.L corner box (PTBC) in TOP1 |
214 |
X = -21.875 |
215 |
Y = 0. |
216 |
Z = 20.4575 |
217 |
CALL GSPOS('PTBC',N,'TOP1',X,Y,Z,0,'ONLY') |
218 |
* |
219 |
* Position the aluminum U.L corner box (ATBC) in PLA2 |
220 |
X = -22.675 |
221 |
Y = 0. |
222 |
Z = 21.2575 |
223 |
CALL GSPOS('ATBC',N,'PLA2',X,Y,Z,0,'ONLY') |
224 |
* |
225 |
* Position the 'air' U.L corner box (LTBC) in ATBB |
226 |
X = -23.025 |
227 |
Y = 0. |
228 |
Z = 21.6075 |
229 |
CALL GSPOS('LTBC',N,'ATBB',X,Y,Z,0,'ONLY') |
230 |
* |
231 |
* Position the plastic U.R corner box (PTBC) in TOP1 |
232 |
N = 2 |
233 |
X = 21.875 |
234 |
Y = 0. |
235 |
Z = 20.4575 |
236 |
CALL GSPOS('PTBC',N,'TOP1',X,Y,Z,0,'ONLY') |
237 |
* |
238 |
* Position the aluminum U.R corner box (ATBC) in PLA2 |
239 |
N = 2 |
240 |
X = 22.675 |
241 |
Y = 0. |
242 |
Z = 21.2575 |
243 |
CALL GSPOS('ATBC',N,'PLA2',X,Y,Z,0,'ONLY') |
244 |
* |
245 |
* Position the 'air' U.R corner box (LTBC) in ATBB |
246 |
X = 23.025 |
247 |
Y = 0. |
248 |
Z = 21.6075 |
249 |
CALL GSPOS('LTBC',N,'ATBB',X,Y,Z,0,'ONLY') |
250 |
* |
251 |
* Position the plastic L.L corner box (PTBC) in TOP1 |
252 |
N = 3 |
253 |
X = -21.875 |
254 |
Y = 0. |
255 |
Z = -20.4575 |
256 |
CALL GSPOS('PTBC',N,'TOP1',X,Y,Z,0,'ONLY') |
257 |
* |
258 |
* Position the aluminum L.L corner box (ATBC) in PLA2 |
259 |
N = 3 |
260 |
X = -22.675 |
261 |
Y = 0. |
262 |
Z = -21.2575 |
263 |
CALL GSPOS('ATBC',N,'PLA2',X,Y,Z,0,'ONLY') |
264 |
* |
265 |
* Position the 'air' L.L corner box (LTBC) in ATBB |
266 |
X = -23.025 |
267 |
Y = 0. |
268 |
Z = -21.6075 |
269 |
CALL GSPOS('LTBC',N,'ATBB',X,Y,Z,0,'ONLY') |
270 |
* |
271 |
* Position the plastic L.R corner box (PTBC) in TOP1 |
272 |
N = 4 |
273 |
X = 21.875 |
274 |
Y = 0. |
275 |
Z = -20.4575 |
276 |
CALL GSPOS('PTBC',N,'TOP1',X,Y,Z,0,'ONLY') |
277 |
* |
278 |
* Position the aluminum L.R corner box (ATBC) in PLA2 |
279 |
N = 4 |
280 |
X = 22.675 |
281 |
Y = 0. |
282 |
Z = -21.2575 |
283 |
CALL GSPOS('ATBC',N,'PLA2',X,Y,Z,0,'ONLY') |
284 |
* |
285 |
* Position the 'air' L.R corner box (LTBC) in ATBB |
286 |
X = 23.025 |
287 |
Y = 0. |
288 |
Z = -21.6075 |
289 |
CALL GSPOS('LTBC',N,'ATBB',X,Y,Z,0,'ONLY') |
290 |
* |
291 |
* Position the plastic 'top' TRD1 (PTRT) in TOP1 |
292 |
N = 1 |
293 |
X = 0. |
294 |
Y = 0. |
295 |
Z = 23.61 |
296 |
CALL GSPOS('PTRT',N,'TOP1',X,Y,Z,0,'ONLY') |
297 |
* |
298 |
* Position the aluminum 'top' TRD1 (ATRT) in PLA2 |
299 |
N = 1 |
300 |
X = 0. |
301 |
Y = 0. |
302 |
Z = 24.41 |
303 |
CALL GSPOS('ATRT',N,'PLA2',X,Y,Z,0,'ONLY') |
304 |
* |
305 |
* Position the 'air' 'top' TRD1 (LTRT) in ATBB |
306 |
X = 0. |
307 |
Y = 0. |
308 |
Z = 24.76 |
309 |
CALL GSPOS('LTRT',N,'ATBB',X,Y,Z,0,'ONLY') |
310 |
* |
311 |
* Position the plastic 'bottom' TRD1 (PTRB) in TOP1 |
312 |
X = 0. |
313 |
Y = 0. |
314 |
Z = -23.61 |
315 |
CALL GSPOS('PTRB',N,'TOP1',X,Y,Z,0,'ONLY') |
316 |
* |
317 |
* Position the aluminum 'bottom' TRD1 (ATRB) in PLA2 |
318 |
X = 0. |
319 |
Y = 0. |
320 |
Z = -24.41 |
321 |
CALL GSPOS('ATRB',N,'PLA2',X,Y,Z,0,'ONLY') |
322 |
* |
323 |
* Position the 'air' 'bottom' TRD1 (LTRB) in ATBB |
324 |
X = 0. |
325 |
Y = 0. |
326 |
Z = -24.76 |
327 |
CALL GSPOS('LTRB',N,'ATBB',X,Y,Z,0,'ONLY') |
328 |
* |
329 |
* Position the plastic 'left' TRD1 (PTRL) in TOP1 and rotate |
330 |
N = 1 |
331 |
X = -24.475 |
332 |
Y = 0. |
333 |
Z = 0. |
334 |
CALL GSPOS('PTRL',N,'TOP1',X,Y,Z,7,'ONLY') |
335 |
* |
336 |
* Position the aluminum 'left' TRD1 (ATRL) in PLA2 and rotate |
337 |
N = 1 |
338 |
X = -25.275 |
339 |
Y = 0. |
340 |
Z = 0. |
341 |
CALL GSPOS('ATRL',N,'PLA2',X,Y,Z,7,'ONLY') |
342 |
* |
343 |
* Position the 'air' 'left' TRD1 (LTRL) in ATBB and rotate |
344 |
X = -25.625 |
345 |
Y = 0. |
346 |
Z = 0. |
347 |
CALL GSPOS('LTRL',N,'ATBB',X,Y,Z,7,'ONLY') |
348 |
* |
349 |
* Position the plastic 'right' TRD1 (PTRL) in TOP1 and rotate |
350 |
N = 2 |
351 |
X = 24.475 |
352 |
Y = 0. |
353 |
Z = 0. |
354 |
CALL GSPOS('PTRL',N,'TOP1',X,Y,Z,8,'ONLY') |
355 |
* |
356 |
* Position the aluminum 'right' TRD1 (ATRL) in PLA2 and rotate |
357 |
N = 2 |
358 |
X = 25.275 |
359 |
Y = 0. |
360 |
Z = 0. |
361 |
CALL GSPOS('ATRL',N,'PLA2',X,Y,Z,8,'ONLY') |
362 |
* |
363 |
* Position the 'air' 'right' TRD1 (LTRL) in ATBB and rotate |
364 |
X = 25.625 |
365 |
Y = 0. |
366 |
Z = 0. |
367 |
CALL GSPOS('LTRL',N,'ATBB',X,Y,Z,8,'ONLY') |
368 |
*END: JeL. |
369 |
|
370 |
*EM: |
371 |
C NMED=MSCIN |
372 |
* |
373 |
* Define the CATL volume |
374 |
* |
375 |
C CALL GSVOLU('CATL','BOX ',NMED,CATL, 3,IVOLU) |
376 |
* |
377 |
* Define the CATT volume |
378 |
* |
379 |
C CALL GSVOLU('CATT','BOX ',NMED,CATT, 3,IVOLU) |
380 |
* |
381 |
C NMED=MN2 |
382 |
* |
383 |
* Define the CATH volume |
384 |
* |
385 |
C CALL GSVOLU('CATH','BOX ',NMED,CATH, 3,IVOLU) |
386 |
* |
387 |
* Define the CATF volume |
388 |
* |
389 |
C CALL GSVOLU('CATF','BOX ',NMED,CATF, 3,IVOLU) |
390 |
* |
391 |
C NMED=MAL |
392 |
* |
393 |
* Define the CATB volume |
394 |
* |
395 |
C CALL GSVOLU('CATB','BOX ',NMED,CATB, 3,IVOLU) |
396 |
* |
397 |
* Define the CATO volume |
398 |
* |
399 |
C CALL GSVOLU('CATO','BOX ',NMED,CATO, 3,IVOLU) |
400 |
* |
401 |
* Define the CATP volume |
402 |
* |
403 |
C CALL GSVOLU('CATP','BOX ',NMED,CATP, 3,IVOLU) |
404 |
* |
405 |
* Positioning volume CATT into the mother CATB |
406 |
* |
407 |
C N = 1 |
408 |
C X= CATL(1)-CATB(1) |
409 |
C Y= CATL(2)+(2.*CATT(2)-CATB(2)) |
410 |
C X = -CATT(1) |
411 |
C Y = 0. |
412 |
C Z = 0. |
413 |
C CALL GSPOS('CATT',N,'CATB',X,Y,Z,0,'ONLY') |
414 |
C N = 2 |
415 |
C X = -X |
416 |
C Y = -Y |
417 |
C Z = 0. |
418 |
C CALL GSPOS('CATT',N,'CATB',X,Y,Z,0,'ONLY') |
419 |
* |
420 |
* Positioning volume CATL into the mother CATB |
421 |
* |
422 |
C N = 1 |
423 |
C X = -CATT(1)-(2.*CATL(1)-CATB(1)) |
424 |
C Y = CATT(2)-CATB(2) |
425 |
C X = -(2*CATT(1)+CATL(1)) |
426 |
C Y = 0. |
427 |
C Z = 0. |
428 |
C CALL GSPOS('CATL',N,'CATB',X,Y,Z,0,'ONLY') |
429 |
C N = 2 |
430 |
C X = -X |
431 |
C Y = -Y |
432 |
C Z = 0. |
433 |
C CALL GSPOS('CATL',N,'CATB',X,Y,Z,0,'ONLY') |
434 |
* |
435 |
* Positioning volume CATH into the mother CATB |
436 |
* |
437 |
C N = 1 |
438 |
C X = 0. |
439 |
C Y = 0. |
440 |
C Z = 0. |
441 |
C CALL GSPOS('CATH',N,'CATB',X,Y,Z,0,'ONLY') |
442 |
* |
443 |
* Positioning volume CATF into the mother CATB |
444 |
* |
445 |
C N = 1 |
446 |
C X = -(2*CATT(1)+CATL(1)) |
447 |
C Y = CATL(2)+CATF(2) |
448 |
C Z = 0. |
449 |
C CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
450 |
C N = 2 |
451 |
C X = X |
452 |
C Y = -Y |
453 |
C Z = 0. |
454 |
C CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
455 |
C N = 3 |
456 |
C X = -X |
457 |
C Y = Y |
458 |
C Z = 0. |
459 |
C CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
460 |
C N = 4 |
461 |
C X = X |
462 |
C Y = -Y |
463 |
C Z = 0. |
464 |
C CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY') |
465 |
|
466 |
* |
467 |
* Positioning volume CATP into the mother CATB |
468 |
* |
469 |
C N = 1 |
470 |
C X = -CATH(1)+CATP(1) |
471 |
C Y = 0. |
472 |
C Z = 0. |
473 |
C CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY') |
474 |
C N = 2 |
475 |
C X = -X |
476 |
C Y = Y |
477 |
C Z = 0. |
478 |
C CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY') |
479 |
* |
480 |
* Positioning volume CATO into the mother CATB |
481 |
* |
482 |
C N = 1 |
483 |
C X = 0. |
484 |
C Y = -CATH(2)+CATO(2) |
485 |
C Z = 0. |
486 |
C CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY') |
487 |
C N = 2 |
488 |
C X = X |
489 |
C Y = -Y |
490 |
C Z = 0. |
491 |
C CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY') |
492 |
* |
493 |
RETURN |
494 |
END |