/[PAMELA software]/gpamela/gpcard/gpcardv.F
ViewVC logotype

Contents of /gpamela/gpcard/gpcardv.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations) (download)
Tue Jan 29 18:25:16 2008 UTC (16 years, 10 months ago) by pamela
Branch: MAIN
CVS Tags: v4r14, HEAD
Changes since 1.3: +74 -74 lines
Review of the shell and TOF geometries. New materials around the shell
added to simulate the insulation.

1 SUBROUTINE GPCARDV
2 ************************************************************************
3 * *
4 * Volumes definition for the side anticoincidence counters *
5 * Called by: GPGEO *
6 * *
7 * Authors: Francesco Cafagna, 08/02/96 16.58.49 *
8 * Alessandro Bruno, 20/11/06 20.30.00 *
9 * *
10 ************************************************************************
11 #include "gconst.inc"
12 #include "gpgeo.inc"
13 #include "gpmed.inc"
14 #include "gprot.inc"
15 INTEGER IROT,IVOLU,N,NMED,NUM,I
16 REAL X,Y,Z
17 REAL ANGLCAR1,ANGLCAR2
18 REAL H1,H2
19 REAL A1,B1,C1,D1,F1,ANG1C
20 REAL A2,B2,C2,D2,F2,ANG2C
21 REAL AA,BB,DD,ZH
22 *
23 H1=CAR(2)+CAR(3)
24 H2=CAR(1)-H1
25 *
26 * Greater Scintillator CAR1 (or type B)
27 *
28 B1=CARB(2)+CAR(4)+CAR(5)+H1/TAN(DEGRAD*CAR(7))
29 C1=H2/TAN(DEGRAD*CAR(7))
30 A1=CARB(1)-C1
31 D1=CARB(1)-CARB(2)-CAR(4)-CAR(5)
32 F1=C1+H1/TAN(DEGRAD*CAR(7))
33 ANG1C=ATAN((B1/2.+D1-A1/2.)/CAR(1))
34
35 C1D1(1) = CAR(1)/2.
36 C1D1(2) = -ANG1C*RADDEG
37 C1D1(3) = 0.
38 C1D1(4) = CAR(6)
39 C1D1(5) = A1/2.
40 C1D1(6) = A1/2.
41 C1D1(7) = 0.
42 C1D1(8) = CAR(6)
43 C1D1(9) = B1/2.
44 C1D1(10) = B1/2.
45 C1D1(11) = 0.
46
47 NMED=MSCIN
48 CALL GSVOLU('C1D1','TRAP',NMED,C1D1,11,IVOLU)
49 *
50 * Smaller Scintillator CAR2 (or type A)
51 *
52 B2=CARA(2)+CAR(4)+CAR(5)+H1/TAN(DEGRAD*CAR(7))
53 C2=H2/TAN(DEGRAD*CAR(7))
54 A2=CARA(1)-C2
55 D2=CARA(1)-CARA(2)-CAR(4)-CAR(5)
56 F2=C2+H1/TAN(DEGRAD*CAR(7))
57 ANG2C=ATAN((B2/2.+D2-A2/2.)/CAR(1))
58
59 C2D1(1) = CAR(1)/2.
60 C2D1(2) = -ANG2C*RADDEG
61 C2D1(3) = 0.
62 C2D1(4) = CAR(6)
63 C2D1(5) = A2/2.
64 C2D1(6) = A2/2.
65 C2D1(7) = 0.
66 C2D1(8) = CAR(6)
67 C2D1(9) = B2/2.
68 C2D1(10) = B2/2.
69 C2D1(11) = 0.
70
71 NMED=MSCIN
72 CALL GSVOLU('C2D1','TRAP',NMED,C2D1,11,IVOLU)
73 *
74 * CAR1 Al box sheet
75 *
76 BB=C1D1(9)+ATZ*(1./COS(ATAN(D1/CAR(1)))-
77 + D1/CAR(1)+1./TAN(DEGRAD*CAR(7))+
78 + 1./SIN(DEGRAD*CAR(7)))/2.
79 AA=C1D1(5)+ATZ*(1./COS(ATAN(D1/CAR(1)))+
80 + D1/CAR(1)-1./TAN(DEGRAD*CAR(7))+
81 + 1./SIN(DEGRAD*CAR(7)))/2.
82 CAR1(1) = C1D1(1)+ATZ
83 DD=2.*CAR1(1)*D1/CAR(1)
84 CAR1(2) = -RADDEG*ATAN((BB+DD-AA)/(2.*CAR1(1)))
85 CAR1(3) = 0.
86 CAR1(4) = C1D1(4)+ATY
87 CAR1(5) = AA
88 CAR1(6) = CAR1(5)
89 CAR1(7) = 0.
90 CAR1(8) = C1D1(8)+ATY
91 CAR1(9) = BB
92 CAR1(10) = CAR1(9)
93 CAR1(11) = 0.
94
95 NMED=MAL
96 CALL GSVOLU('CAR1','TRAP',NMED,CAR1,11,IVOLU)
97 *
98 * CR1P PLASTIC BOX TO CREATE RIM
99 *
100 BB=C1D1(9)+PT*(1./COS(ATAN(D1/CAR(1)))-
101 + D1/CAR(1)+1./TAN(DEGRAD*CAR(7))+
102 + 1./SIN(DEGRAD*CAR(7)))/2.
103 AA=C1D1(5)+PT*(1./COS(ATAN(D1/CAR(1)))+
104 + D1/CAR(1)-1./TAN(DEGRAD*CAR(7))+
105 + 1./SIN(DEGRAD*CAR(7)))/2.
106 CR1P(1) = C1D1(1)+PT
107 DD=2.*CR1P(1)*D1/CAR(1)
108 CR1P(2) =-RADDEG*ATAN((BB+DD-AA)/(2.*CR1P(1)))
109 CR1P(3) = 0.
110 CR1P(4) = C1D1(4)
111 CR1P(5) = AA
112 CR1P(6) = CR1P(5)
113 CR1P(7) = 0.
114 CR1P(8) = C1D1(8)
115 CR1P(9) = BB
116 CR1P(10) = CR1P(9)
117 CR1P(11) = 0.
118
119 NMED=MPLAS
120 CALL GSVOLU('CR1P','TRAP',NMED,CR1P,11,IVOLU)
121 *
122 * CAR2 Al box sheet
123 *
124 BB=C2D1(9)+ATZ*(1./COS(ATAN(D2/CAR(1)))-
125 + D2/CAR(1)+1./TAN(DEGRAD*CAR(7))+
126 + 1./SIN(DEGRAD*CAR(7)))/2.
127 AA=C2D1(5)+ATZ*(1./COS(ATAN(D2/CAR(1)))+
128 + D2/CAR(1)-1./TAN(DEGRAD*CAR(7))+
129 + 1./SIN(DEGRAD*CAR(7)))/2.
130 CAR2(1) = C1D1(1)+ATZ
131 DD=2.*CAR2(1)*D2/CAR(1)
132 CAR2(2) = -RADDEG*ATAN((BB+DD-AA)/(2.*CAR2(1)))
133 CAR2(3) = 0.
134 CAR2(4) = C2D1(4)+ATY
135 CAR2(5) = AA
136 CAR2(6) = CAR2(5)
137 CAR2(7) = 0.
138 CAR2(8) = C2D1(8)+ATY
139 CAR2(9) = BB
140 CAR2(10) = CAR2(9)
141 CAR2(11) = 0.
142
143 NMED=MAL
144 CALL GSVOLU('CAR2','TRAP',NMED,CAR2,11,IVOLU)
145 *
146 * CR1P PLASTIC BOX TO CREATE RIM
147 *
148 BB=C2D1(9)+PT*(1./COS(ATAN(D2/CAR(1)))-
149 + D2/CAR(1)+1./TAN(DEGRAD*CAR(7))+
150 + 1./SIN(DEGRAD*CAR(7)))/2.
151 AA=C2D1(5)+PT*(1./COS(ATAN(D2/CAR(1)))+
152 + D2/CAR(1)-1./TAN(DEGRAD*CAR(7))+
153 + 1./SIN(DEGRAD*CAR(7)))/2.
154 CR2P(1) = C2D1(1)+PT
155 DD=2.*CR2P(1)*D2/CAR(1)
156 CR2P(2) =-RADDEG*ATAN((BB+DD-AA)/(2.*CR2P(1)))
157 CR2P(3) = 0.
158 CR2P(4) = C2D1(4)
159 CR2P(5) = AA
160 CR2P(6) = CR2P(5)
161 CR2P(7) = 0.
162 CR2P(8) = C2D1(8)
163 CR2P(9) = BB
164 CR2P(10) = CR2P(9)
165 CR2P(11) = 0.
166
167 NMED=MPLAS
168 CALL GSVOLU('CR2P','TRAP',NMED,CR2P,11,IVOLU)
169 *
170 * Volumes to be subtracted from C1D1 and C2D1
171 *
172 AA=CAR(2)+CAR(3)
173 BB=AA/TAN(DEGRAD*CAR(7))+AA*CAR(4)/CAR(2)
174
175 VSN1(1) = 0.5*AA
176 VSN1(2) = RADDEG*ATAN((BB/2.-AA/TAN(DEGRAD*CAR(7)))/AA)
177 VSN1(3) = 0.
178 VSN1(4) = C1D1(4)
179 VSN1(5) = 0.
180 VSN1(6) = VSN1(5)
181 VSN1(7) = 0.
182 VSN1(8) = C1D1(8)
183 VSN1(9) = 0.5*BB
184 VSN1(10) = VSN1(9)
185 VSN1(11) = 0.
186
187 AA=CAR(3)
188 BB=AA*(CAR(5)/CAR(3)-CAR(4)/CAR(2))
189
190 VSN2(1) = 0.5*AA
191 VSN2(2) = RADDEG*ATAN((BB/2.+(AA)*CAR(4)/CAR(2))/AA)
192 VSN2(3) = 0.
193 VSN2(4) = C1D1(4)
194 VSN2(5) = 0.
195 VSN2(6) = VSN2(5)
196 VSN2(7) = 0.
197 VSN2(8) = C1D1(8)
198 VSN2(9) = 0.5*BB
199 VSN2(10) = VSN2(9)
200 VSN2(11) = 0.
201
202 NMED=MN2
203 CALL GSVOLU('VSN1','TRAP',NMED,VSN1,11,IVOLU)
204 NMED=MPLAS
205 CALL GSVOLU('VSN2','TRAP',NMED,VSN2,11,IVOLU)
206 *
207 * Volumes to be subtracted from CR1P and CR2P
208 *
209 AA=(PT/SIN(DEGRAD*CAR(7)))/(1./TAN(DEGRAD*CAR(7))+
210 + CAR(4)/CAR(2))+CAR(2)+CAR(3)+PT
211 BB=AA/TAN(DEGRAD*CAR(7))+AA*CAR(4)/CAR(2)
212
213 VPN1(1) = 0.5*AA
214 VPN1(2) = VSN1(2)
215 VPN1(3) = 0.
216 VPN1(4) = CR1P(4)
217 VPN1(5) = 0.
218 VPN1(6) = VPN1(5)
219 VPN1(7) = 0.
220 VPN1(8) = CR1P(8)
221 VPN1(9) = 0.5*BB
222 VPN1(10) = VPN1(9)
223 VPN1(11) = 0.
224
225 AA=CAR(3) + PT -
226 + COS(ATAN(CAR(4)/CAR(2)))*PT/SIN(ATAN(CAR(5)/CAR(3))-
227 + ATAN(CAR(4)/CAR(2)))
228 BB=AA*(CAR(5)/CAR(3)-CAR(4)/CAR(2))
229
230 VPN2(1) = 0.5*AA
231 VPN2(2) = RADDEG*ATAN((BB/2.+AA*CAR(4)/CAR(2))/AA)
232 VPN2(3) = 0.
233 VPN2(4) = CAR1(4)
234 VPN2(5) = 0.
235 VPN2(6) = VPN2(5)
236 VPN2(7) = 0.
237 VPN2(8) = CAR1(8)
238 VPN2(9) = 0.5*BB
239 VPN2(10) = VPN2(9)
240 VPN2(11) = 0.
241
242 NMED=MAL
243 CALL GSVOLU('VPN2','TRAP',NMED,VPN2,11,IVOLU)
244 NMED=MN2
245 CALL GSVOLU('VPN1','TRAP',NMED,VPN1,11,IVOLU)
246 *
247 * Volumes to be subtracted from CAR1 and CAR2
248 *
249 AA=(ATZ/SIN(DEGRAD*CAR(7)))/(1./TAN(DEGRAD*CAR(7))+
250 + CAR(4)/CAR(2))+CAR(2)+CAR(3)+ATZ
251 BB=AA/TAN(DEGRAD*CAR(7))+AA*CAR(4)/CAR(2)
252
253 VAN1(1) = 0.5*AA
254 VAN1(2) = VSN1(2)
255 VAN1(3) = 0.
256 VAN1(4) = CAR1(4)
257 VAN1(5) = 0.
258 VAN1(6) = VAN1(5)
259 VAN1(7) = 0.
260 VAN1(8) = CAR1(8)
261 VAN1(9) = 0.5*BB
262 VAN1(10) = VAN1(9)
263 VAN1(11) = 0.
264
265 AA=CAR(3) + ATZ -
266 + COS(ATAN(CAR(4)/CAR(2)))*ATZ/SIN(ATAN(CAR(5)/CAR(3))-
267 + ATAN(CAR(4)/CAR(2)))
268 BB=AA*(CAR(5)/CAR(3)-CAR(4)/CAR(2))
269
270 VAN2(1) = 0.5*AA
271 VAN2(2) = RADDEG*ATAN((BB/2.+(AA)*CAR(4)/CAR(2))/AA)
272 VAN2(3) = 0.
273 VAN2(4) = CAR1(4)
274 VAN2(5) = 0.
275 VAN2(6) = VAN2(5)
276 VAN2(7) = 0.
277 VAN2(8) = CAR1(8)
278 VAN2(9) = 0.5*BB
279 VAN2(10) = VAN2(9)
280 VAN2(11) = 0.
281
282 NMED=MN2
283 CALL GSVOLU('VAN1','TRAP',NMED,VAN1,11,IVOLU)
284 CALL GSVOLU('VAN2','TRAP',NMED,VAN2,11,IVOLU)
285 *
286 * The zenihtal angle of the paddles
287 *
288 ANGLCAR2=CARA(3)*DEGRAD !CAR2 inclination
289 ANGLCAR1=CARB(3)*DEGRAD !CAR1 inclination
290
291 NMED=MN2
292 CALL GSVOLU('CARD','BOX ',NMED,CARDB, 3,IVOLU)
293 *
294 * Define ANGLCAR rotation around Z axis
295 *
296 * CAR1A
297 IRZCAR1B=11
298 CALL GSROTM(IRZCAR1B,90.,0.,(90.-ANGLCAR1*RADDEG),
299 + 90.,(180.-ANGLCAR1*RADDEG),90.)
300 * CAR1B
301 IRZCAR1A=12
302 CALL GSROTM(IRZCAR1A,90.,180.,(270.-ANGLCAR1*RADDEG),
303 + 270.,(180.-ANGLCAR1*RADDEG),270.)
304 * CAR2A
305 IRZCAR2B=13
306 CALL GSROTM(IRZCAR2B,90.,270.,(90.-ANGLCAR2*RADDEG),
307 + 0.,(180.-ANGLCAR2*RADDEG),0.)
308 * CAR2B
309 IRZCAR2A=14
310 CALL GSROTM(IRZCAR2A,90.,90.,(90.-ANGLCAR2*RADDEG),
311 + 180.,(180.-ANGLCAR2*RADDEG),180.)
312
313 *
314 * Positioning in CAR1
315 *
316 N=1
317 Y=0
318 Z=C1D1(1)-VSN1(1)
319 X=-(C1D1(9)+C1D1(1)*TAN(ANG1C)-
320 + (VSN1(9)-VSN1(1)*TAN(VSN1(2)*DEGRAD)))
321 CALL GSPOS('VSN1',N,'C1D1',X,Y,Z,0,'ONLY')
322 *
323 N=1
324 Y=0
325 Z=CR1P(1)-VPN1(1)
326 X=-(CR1P(9)-CR1P(1)*TAN(CR1P(2)*DEGRAD)-
327 + (VPN1(9)-VPN1(1)*TAN(VPN1(2)*DEGRAD)))
328 CALL GSPOS('VPN1',N,'CR1P',X,Y,Z,0,'ONLY')
329 *
330 N=1
331 Y=0
332 Z=CAR1(1)-VAN1(1)
333 X=-(CAR1(9)-CAR1(1)*TAN(CAR1(2)*DEGRAD)-
334 + (VAN1(9)-VAN1(1)*TAN(VAN1(2)*DEGRAD)))
335 CALL GSPOS('VAN1',N,'CAR1',X,Y,Z,0,'ONLY')
336 *
337 N=1
338 Y=0
339 Z=C1D1(1)-VSN2(1)
340 X=-(C1D1(9)+C1D1(1)*TAN(ANG1C)-
341 + (2.*VSN1(9)+VSN2(9)-VSN2(1)*TAN(VSN2(2)*DEGRAD)))
342 CALL GSPOS('VSN2',N,'C1D1',X,Y,Z,0,'ONLY')
343 *
344 N=1
345 Y=0
346 Z=CR1P(1)-VPN2(1)
347 X=-(CR1P(9)-CR1P(1)*TAN(CR1P(2)*DEGRAD)-
348 + (2.*VPN1(9)+VPN2(9)-VPN2(1)*TAN(VPN2(2)*DEGRAD)))
349 CALL GSPOS('VPN2',N,'CR1P',X,Y,Z,0,'ONLY')
350 *
351 N=1
352 Y=0
353 Z=CAR1(1)-VAN2(1)
354 X=-(CAR1(9)-CAR1(1)*TAN(CAR1(2)*DEGRAD)-
355 + (2.*VAN1(9)+VAN2(9)-VAN2(1)*TAN(VAN2(2)*DEGRAD)))
356 CALL GSPOS('VAN2',N,'CAR1',X,Y,Z,0,'ONLY')
357 *
358 N=1
359 X=PT*(1./COS(ATAN(D1/CAR(1)))-
360 + (1./SIN(DEGRAD*CAR(7))))/2.
361 Y=0
362 Z=0
363 CALL GSPOS('C1D1',N,'CR1P',X,Y,Z,0,'ONLY')
364 *
365 N=1
366 X=(ATZ-PT)*(1./COS(ATAN(D1/CAR(1)))-
367 + (1./SIN(DEGRAD*CAR(7))))/2.
368 Y=0
369 Z=0
370 CALL GSPOS('CR1P',N,'CAR1',X,Y,Z,0,'ONLY')
371 *
372 * Positioning in CAR2
373 *
374 N=2
375 Y=0
376 Z=C2D1(1)-VSN1(1)
377 X=-(C2D1(9)+C2D1(1)*TAN(ANG2C)-
378 + (VSN1(9)-VSN1(1)*TAN(VSN1(2)*DEGRAD)))
379 CALL GSPOS('VSN1',N,'C2D1',X,Y,Z,0,'ONLY')
380 *
381 N=2
382 Y=0
383 Z=CR2P(1)-VPN1(1)
384 X=-(CR2P(9)+CR2P(1)*TAN(ANG2C)-
385 + (VPN1(9)-VPN1(1)*TAN(VPN1(2)*DEGRAD)))
386 CALL GSPOS('VPN1',N,'CR2P',X,Y,Z,0,'ONLY')
387 *
388 N=2
389 Y=0
390 Z=CAR2(1)-VAN1(1)
391 X=-(CAR2(9)-CAR2(1)*TAN(CAR2(2)*DEGRAD)-
392 + (VAN1(9)-VAN1(1)*TAN(VAN1(2)*DEGRAD)))
393 CALL GSPOS('VAN1',N,'CAR2',X,Y,Z,0,'ONLY')
394 *
395 N=2
396 Y=0
397 Z=C2D1(1)-VSN2(1)
398 X=-(C2D1(9)+C2D1(1)*TAN(ANG2C)-
399 + (2.*VSN1(9)+VSN2(9)-VSN2(1)*TAN(VSN2(2)*DEGRAD)))
400 CALL GSPOS('VSN2',N,'C2D1',X,Y,Z,0,'ONLY')
401 *
402 N=2
403 Y=0
404 Z=CR2P(1)-VPN2(1)
405 X=-(CR2P(9)-CR2P(1)*TAN(CR2P(2)*DEGRAD)-
406 + (2.*VPN1(9)+VPN2(9)-VPN2(1)*TAN(VPN2(2)*DEGRAD)))
407 CALL GSPOS('VPN2',N,'CR2P',X,Y,Z,0,'ONLY')
408 *
409 N=2
410 Y=0
411 Z=CAR2(1)-VAN2(1)
412 X=-(CAR2(9)-CAR2(1)*TAN(CAR2(2)*DEGRAD)-
413 + (2.*VAN1(9)+VAN2(9)-VAN2(1)*TAN(VAN2(2)*DEGRAD)))
414 CALL GSPOS('VAN2',N,'CAR2',X,Y,Z,0,'ONLY')
415 *
416 N=1
417 X=PT*(1./COS(ATAN(D2/CAR(1)))-1./SIN(DEGRAD*CAR(7)))/2.
418 Y=0
419 Z=0
420 CALL GSPOS('C2D1',N,'CR2P',X,Y,Z,0,'ONLY')
421 *
422 N=1
423 X=(ATZ-PT)*(1./COS(ATAN(D2/CAR(1)))-
424 + 1./SIN(DEGRAD*CAR(7)))/2.
425 Y=0
426 Z=0
427 CALL GSPOS('CR2P',N,'CAR2',X,Y,Z,0,'ONLY')
428 *
429 * Positioning in card
430 *
431 *
432 * CAR1A
433 * CAR2B CAR2A
434 * CAR1B
435 *
436 ZH=49.229-ZTPLA-TPLA(3)
437 *--- CAR1B
438 N=1
439 Y=-CARB(5)+CAR(8)/2.*SIN(ANGLCAR1)
440 Z=CARB(6)+ZH-CARDB(3)-CAR(8)*COS(ANGLCAR1)/2.
441 X=((CARB(7)/2.)-TAN(ANG1C)*CAR(8)/2.)-CARB(4)
442 CALL GSPOS('CAR1',N,'CARD',X,Y,Z,IRZCAR1B,'ONLY')
443 *--- CAR1A
444 N=2
445 X=-X
446 Y=-Y
447 CALL GSPOS('CAR1',N,'CARD',X,Y,Z,IRZCAR1A,'ONLY')
448 *--- CAR2A
449 N=1
450 X=CARA(4)-CAR(8)/2.*SIN(ANGLCAR2)
451 Z=CARA(6)+ZH-CARDB(3)-CAR(8)*COS(ANGLCAR2)/2.
452 Y=(CARA(7)/2.-TAN(ANG2C)*CAR(8)/2.)-CARA(5)
453 CALL GSPOS('CAR2',N,'CARD',X,Y,Z,IRZCAR2A,'ONLY')
454 *--- CAR2B
455 N=2
456 X=-X
457 Y=-Y
458 CALL GSPOS('CAR2',N,'CARD',X,Y,Z,IRZCAR2B ,'ONLY')
459 c---------------------------------------------------------------
460 *
461 * LEGS
462 *
463 NMED=MAL
464 CALL GSVOLU('LEGB','BOX ',NMED,LEGB, 3,IVOLU)
465 *
466 * empty volumes to be subtracted from LEGB
467 *
468 NMED=MN2
469 CALL GSVOLU('LEG1','TRAP',NMED,LEG1, 11,IVOLU)
470 X=-LEGB(1)+LEG1(1)
471 Y=-LEGB(2)+LEG1(4)
472 Z=0.
473 CALL GSPOS('LEG1',1,'LEGB',X,Y,Z,RY90,'ONLY')
474 Y=-LEGB(2)+2.*LEGP(1)-LEG1(4)
475 CALL GSPOS('LEG1',2,'LEGB',X,Y,Z,RY90,'ONLY')
476 *
477 CALL GSVOLU('LEG2','BOX ',NMED,LEG2, 3,IVOLU)
478 X=-LEGB(1)+LEG2(1)
479 Y=-LEGB(2)+LEGP(1)
480 Z=0.
481 CALL GSPOS('LEG2',1,'LEGB',X,Y,Z,0,'ONLY')
482 *
483 CALL GSVOLU('LEG3','BOX ',NMED,LEG3, 3,IVOLU)
484 X=-LEGB(1)+LEGP(2)*2.+LEG3(1)+0.2
485 Y=LEGB(2)-LEG3(2)
486 Z=LEGB(3)-LEG3(3)
487 CALL GSPOS('LEG3',1,'LEGB',X,Y,Z,0,'ONLY')
488 Z=-LEGB(3)+LEG3(3)
489 CALL GSPOS('LEG3',2,'LEGB',X,Y,Z,0,'ONLY')
490 *
491 CALL GSVOLU('LEG4','BOX ',NMED,LEG4, 3,IVOLU)
492 X=-LEGB(1)+LEG4(1)
493 Y=LEGB(2)-LEG4(2)
494 Z=0.
495 CALL GSPOS('LEG4',1,'LEGB',X,Y,Z,0,'ONLY')
496 *
497 CALL GSVOLU('LEG5','BOX ',NMED,LEG5, 3,IVOLU)
498 X=LEGB(1)-LEG5(1)
499 Y=LEGB(2)-LEG5(2)
500 Z=0.
501 CALL GSPOS('LEG5',1,'LEGB',X,Y,Z,0,'ONLY')
502 *
503 CALL GSVOLU('LEG6','BOX ',NMED,LEG6, 3,IVOLU)
504 X=-LEGB(1)+LEGP(2)*2.+LEG3(1)
505 Y=LEGB(2)-LEG6(2)
506 Z=0.
507 CALL GSPOS('LEG6',1,'LEGB',X,Y,Z,0,'ONLY')
508 *
509 CALL GSVOLU('LEG7','BOX ',NMED,LEG7, 3,IVOLU)
510 X=LEGB(1)-LEGP(3)-LEGP(4)
511 Y=-LEGB(2)+LEG7(2)
512 Z=LEGP(5)-LEGP(8)-LEG7(3)
513 CALL GSPOS('LEG7',1,'LEGB',X,Y,Z,0,'ONLY')
514 *
515 CALL GSVOLU('LEG8','BOX ',NMED,LEG8, 3,IVOLU)
516 Z=0.
517 CALL GSPOS('LEG8',1,'LEGB',X,Y,Z,0,'ONLY')
518 *
519 CALL GSVOLU('LEG9','BOX ',NMED,LEG9, 3,IVOLU)
520 Z=-(LEGP(5)-LEGP(8)-LEG7(3))
521 CALL GSPOS('LEG9',1,'LEGB',X,Y,Z,0,'ONLY')
522 *
523 * Positioning LEG BOXES in CARD
524 *
525 N=1
526 X=-CARDB(1)+LEGB(1)+LEGP(6)
527 Y=-CARDB(2)+LEGB(2)+LEGP(7)
528 Z=-0.5
529 CALL GSPOS('LEGB',N,'CARD',X,Y,Z,0,'MANY')
530 N=2
531 X=X
532 Y=-Y
533 CALL GSPOS('LEGB',N,'CARD',X,Y,Z,RX180,'MANY')
534 N=3
535 X=-X
536 Y=Y
537 CALL GSROTM(RZALEX180,90.,180.,90.,
538 + 270.,180.,0.)
539 CALL GSPOS('LEGB',N,'CARD',X,Y,Z,RZ180,'MANY')
540 N=4
541 X=X
542 Y=-Y
543 CALL GSPOS('LEGB',N,'CARD',X,Y,Z,RY180,'MANY')
544 *
545 c---------------------------------------------------------------
546 *
547 * CARD TOP PLATE
548 *
549 * TPLT
550 *
551 NMED=MAL
552 CALL GSVOLU('TPLT','BOX ',NMED,TPLT, 3,IVOLU)
553 *
554 * Empty volumes to be subtracted from TPLT
555 *
556 NMED=MN2
557 CALL GSVOLU('TOPC','BOX ',NMED,TOPC, 3,IVOLU)
558 *
559 CALL GSVOLU('TH11','BOX ',NMED,TH11, 3,IVOLU)
560 CALL GSVOLU('TH12','BOX ',NMED,TH12, 3,IVOLU)
561 CALL GSVOLU('TH21','BOX ',NMED,TH21, 3,IVOLU)
562 CALL GSVOLU('TH22','BOX ',NMED,TH22, 3,IVOLU)
563 *
564 CALL GSVOLU('TOPT','TRAP',NMED,TOPT,11,IVOLU)
565 *
566 CALL GSVOLU('TOHO','TUBE',NMED,TOHO,3,IVOLU)
567
568 *
569 * Positioning empty volumes...
570 *
571 * Positioning TOPC in TPLT
572 *
573 N=1
574 X=0.
575 Y=0.
576 Z=0.
577 CALL GSPOS('TOPC',N,'TPLT',X,Y,Z,0,'ONLY')
578 *
579 *
580 * Positioning H11 in TPLT
581 *
582 N=1
583 X=-TOPP(1)
584 Y=TOPP(2)
585 Z=0.
586 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
587 N=2
588 X=-TOPP(1)
589 Y=-TOPP(2)
590 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
591 N=3
592 X=TOPP(1)
593 Y=TOPP(2)
594 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
595 N=4
596 X=TOPP(1)
597 Y=-TOPP(2)
598 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
599 *
600 * Positioning H12 in TPLT
601 *
602 N=1
603 X=-TOPP(1)
604 Y=TOPP(3)
605 Z=0.
606 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
607 N=2
608 X=-TOPP(1)
609 Y=-TOPP(3)
610 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
611 N=3
612 X=TOPP(1)
613 Y=TOPP(3)
614 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
615 N=4
616 X=TOPP(1)
617 Y=-TOPP(3)
618 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
619 *
620 * Positioning H21 in TPLT
621 *
622 N=1
623 X=-TOPP(4)
624 Y=TOPP(5)
625 Z=0.
626 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
627 N=2
628 X=-TOPP(4)
629 Y=-TOPP(5)
630 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
631 N=3
632 X=TOPP(4)
633 Y=TOPP(5)
634 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
635 N=4
636 X=TOPP(4)
637 Y=-TOPP(5)
638 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
639 *
640 * Positioning H22 in TPLT
641 *
642 N=1
643 X=-TOPP(6)
644 Y=TOPP(5)
645 Z=0.
646 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
647 N=2
648 X=-TOPP(6)
649 Y=-TOPP(5)
650 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
651 N=3
652 X=TOPP(6)
653 Y=TOPP(5)
654 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
655 N=4
656 X=TOPP(6)
657 Y=-TOPP(5)
658 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
659 N=5
660 X=0.
661 Y=TOPP(5)
662 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
663 N=6
664 X=0.
665 Y=-TOPP(5)
666 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
667 *
668 * Positioning TOPT in TPLT
669 *
670 N=1
671 X=-CARDB(1)+TOPP(7)/4.
672 Y=-CARDB(2)+TOPP(7)/2.
673 Z=0.
674 CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,0,'ONLY')
675 N=2
676 X=X
677 Y=-Y
678 CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,RX180,'ONLY')
679 N=3
680 X=-X
681 Y=Y
682 CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,RZ180,'ONLY')
683 N=4
684 X=X
685 Y=-Y
686 CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,RY180,'ONLY')
687 *
688 * Positioning TOHO in TPLT
689 *
690 N=1
691 X=TPLT(1)-TOPP(8)-TOHO(1)
692 Y=TPLT(2)-TOPP(9)-TOHO(2)
693 CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY')
694 N=2
695 X=-X
696 Y=Y
697 CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY')
698 N=3
699 X=X
700 Y=-Y
701 CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY')
702 N=4
703 X=-X
704 Y=Y
705 CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY')
706 *
707 * Positioning TPLT in CARD volume
708 *
709 N=1
710 X=0.
711 Y=0.
712 Z=CARDB(3)-TPLT(3)
713 CALL GSPOS('TPLT',N,'CARD',X,Y,Z,0,'ONLY')
714 C---------------------------------------------------------------
715 *
716 * MAGNETIC SCREEN
717 *
718 NMED=MIRON
719 CALL GSVOLU('MGSC','BOX ',NMED,MGSC, 3,IVOLU)
720 *
721 * Empty volume to be subtracted from MGSC
722 *
723 NMED=MN2
724 CALL GSVOLU('MGSH','BOX ',NMED,MGSH, 3,IVOLU)
725
726 *
727 * Positioning in CARD...
728 *
729 N=1
730 X=0.
731 Y=0.
732 Z=0.
733 CALL GSPOS('MGSH',N,'MGSC',X,Y,Z,0,'ONLY')
734 Z=-CARDB(3)+MGSC(3)
735 CALL GSPOS('MGSC',N,'CARD',X,Y,Z,0,'ONLY')
736 c---------------------------------------------------------------
737 RETURN
738 END

  ViewVC Help
Powered by ViewVC 1.1.23