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

Annotation of /gpamela/gpcard/gpcardv.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Sun Dec 17 14:53:05 2006 UTC (17 years, 11 months ago) by cafagna
Branch: MAIN
CVS Tags: v4r12, v4r13, v4r10, v4r11
Changes since 1.2: +318 -174 lines
Full review of the CARD geometry. S1 table added

1 cafagna 1.1 SUBROUTINE GPCARDV
2     ************************************************************************
3     * *
4     * Volumes definition for the side anticoincidence counters *
5     * Called by: GPGEO *
6     * *
7 cafagna 1.2 * Authors: Francesco Cafagna, 08/02/96 16.58.49 *
8     * Alessandro Bruno, 20/11/06 20.30.00 *
9 cafagna 1.1 * *
10     ************************************************************************
11     #include "gconst.inc"
12     #include "gpgeo.inc"
13     #include "gpmed.inc"
14     #include "gprot.inc"
15 cafagna 1.2 INTEGER IROT,IVOLU,N,NMED,NUM,I
16 cafagna 1.1 REAL X,Y,Z
17 cafagna 1.2 REAL ANGLCAR1,ANGLCAR2
18     REAL H1,H2
19     REAL A1,B1,C1,D1,F1,ANG1C
20     REAL A2,B2,C2,D2,F2,ANG2C
21 cafagna 1.3 REAL AA,BB,DD,ZH
22 cafagna 1.2 *
23     H1=CAR(2)+CAR(3)
24     H2=CAR(1)-H1
25     *
26 cafagna 1.3 * Greater Scintillator CAR1 (or type B)
27 cafagna 1.2 *
28 cafagna 1.3 B1=CARB(2)+CAR(4)+CAR(5)+H1/TAN(DEGRAD*CAR(7))
29     C1=H2/TAN(DEGRAD*CAR(7))
30 cafagna 1.2 A1=CARB(1)-C1
31     D1=CARB(1)-CARB(2)-CAR(4)-CAR(5)
32 cafagna 1.3 F1=C1+H1/TAN(DEGRAD*CAR(7))
33 cafagna 1.2 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 cafagna 1.3
47     NMED=MSCIN
48     CALL GSVOLU('C1D1','TRAP',NMED,C1D1,11,IVOLU)
49 cafagna 1.2 *
50 cafagna 1.3 * Smaller Scintillator CAR2 (or type A)
51 cafagna 1.2 *
52 cafagna 1.3 B2=CARA(2)+CAR(4)+CAR(5)+H1/TAN(DEGRAD*CAR(7))
53     C2=H2/TAN(DEGRAD*CAR(7))
54 cafagna 1.2 A2=CARA(1)-C2
55     D2=CARA(1)-CARA(2)-CAR(4)-CAR(5)
56 cafagna 1.3 F2=C2+H1/TAN(DEGRAD*CAR(7))
57 cafagna 1.2 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 cafagna 1.3
71     NMED=MSCIN
72     CALL GSVOLU('C2D1','TRAP',NMED,C2D1,11,IVOLU)
73 cafagna 1.1 *
74     * CAR1 Al box sheet
75     *
76 cafagna 1.3 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 cafagna 1.2 CAR1(1) = C1D1(1)+ATZ
83 cafagna 1.3 DD=2.*CAR1(1)*D1/CAR(1)
84     CAR1(2) = -RADDEG*ATAN((BB+DD-AA)/(2.*CAR1(1)))
85 cafagna 1.1 CAR1(3) = 0.
86 cafagna 1.2 CAR1(4) = C1D1(4)+ATY
87 cafagna 1.3 CAR1(5) = AA
88 cafagna 1.1 CAR1(6) = CAR1(5)
89     CAR1(7) = 0.
90 cafagna 1.2 CAR1(8) = C1D1(8)+ATY
91 cafagna 1.3 CAR1(9) = BB
92 cafagna 1.1 CAR1(10) = CAR1(9)
93     CAR1(11) = 0.
94 cafagna 1.2
95 cafagna 1.3 NMED=MAL
96 cafagna 1.1 CALL GSVOLU('CAR1','TRAP',NMED,CAR1,11,IVOLU)
97     *
98     * CR1P PLASTIC BOX TO CREATE RIM
99     *
100 cafagna 1.3 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 cafagna 1.2 CR1P(1) = C1D1(1)+PT
107 cafagna 1.3 DD=2.*CR1P(1)*D1/CAR(1)
108     CR1P(2) =-RADDEG*ATAN((BB+DD-AA)/(2.*CR1P(1)))
109 cafagna 1.1 CR1P(3) = 0.
110 cafagna 1.2 CR1P(4) = C1D1(4)
111 cafagna 1.3 CR1P(5) = AA
112 cafagna 1.1 CR1P(6) = CR1P(5)
113     CR1P(7) = 0.
114 cafagna 1.2 CR1P(8) = C1D1(8)
115 cafagna 1.3 CR1P(9) = BB
116 cafagna 1.1 CR1P(10) = CR1P(9)
117     CR1P(11) = 0.
118 cafagna 1.3
119     NMED=MPLAS
120 cafagna 1.1 CALL GSVOLU('CR1P','TRAP',NMED,CR1P,11,IVOLU)
121     *
122     * CAR2 Al box sheet
123     *
124 cafagna 1.3 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 cafagna 1.1 CAR2(3) = 0.
134 cafagna 1.2 CAR2(4) = C2D1(4)+ATY
135 cafagna 1.3 CAR2(5) = AA
136 cafagna 1.1 CAR2(6) = CAR2(5)
137     CAR2(7) = 0.
138 cafagna 1.2 CAR2(8) = C2D1(8)+ATY
139 cafagna 1.3 CAR2(9) = BB
140 cafagna 1.1 CAR2(10) = CAR2(9)
141     CAR2(11) = 0.
142 cafagna 1.2
143 cafagna 1.3 NMED=MAL
144 cafagna 1.1 CALL GSVOLU('CAR2','TRAP',NMED,CAR2,11,IVOLU)
145     *
146     * CR1P PLASTIC BOX TO CREATE RIM
147     *
148 cafagna 1.3 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 cafagna 1.2 CR2P(1) = C2D1(1)+PT
155 cafagna 1.3 DD=2.*CR2P(1)*D2/CAR(1)
156     CR2P(2) =-RADDEG*ATAN((BB+DD-AA)/(2.*CR2P(1)))
157 cafagna 1.1 CR2P(3) = 0.
158 cafagna 1.2 CR2P(4) = C2D1(4)
159 cafagna 1.3 CR2P(5) = AA
160 cafagna 1.1 CR2P(6) = CR2P(5)
161     CR2P(7) = 0.
162 cafagna 1.2 CR2P(8) = C2D1(8)
163 cafagna 1.3 CR2P(9) = BB
164 cafagna 1.1 CR2P(10) = CR2P(9)
165     CR2P(11) = 0.
166 cafagna 1.3
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 cafagna 1.2
225 cafagna 1.3 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 cafagna 1.1 *
247 cafagna 1.3 * Volumes to be subtracted from CAR1 and CAR2
248 cafagna 1.1 *
249 cafagna 1.3 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 cafagna 1.1 *
286 cafagna 1.2 * The zenihtal angle of the paddles
287     *
288     ANGLCAR2=CARA(3)*DEGRAD !CAR2 inclination
289     ANGLCAR1=CARB(3)*DEGRAD !CAR1 inclination
290 cafagna 1.1
291     NMED=MN2
292     CALL GSVOLU('CARD','BOX ',NMED,CARDB, 3,IVOLU)
293     *
294     * Define ANGLCAR rotation around Z axis
295     *
296 cafagna 1.2 * 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 cafagna 1.1 *
314     * Positioning in CAR1
315     *
316     N=1
317     Y=0
318 cafagna 1.3 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 cafagna 1.1 N=1
345     Y=0
346 cafagna 1.3 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 cafagna 1.1 N=1
352     Y=0
353 cafagna 1.3 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 cafagna 1.1 N=1
359 cafagna 1.3 X=PT*(1./COS(ATAN(D1/CAR(1)))-
360     + (1./SIN(DEGRAD*CAR(7))))/2.
361 cafagna 1.1 Y=0
362     Z=0
363     CALL GSPOS('C1D1',N,'CR1P',X,Y,Z,0,'ONLY')
364     *
365 cafagna 1.3 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 cafagna 1.1 * Positioning in CAR2
373     *
374 cafagna 1.3 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 cafagna 1.1 Y=0
404 cafagna 1.3 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 cafagna 1.2 N=2
410 cafagna 1.1 Y=0
411 cafagna 1.3 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 cafagna 1.1 N=1
417 cafagna 1.2 X=PT*(1./COS(ATAN(D2/CAR(1)))-1./SIN(DEGRAD*CAR(7)))/2.
418 cafagna 1.1 Y=0
419     Z=0
420     CALL GSPOS('C2D1',N,'CR2P',X,Y,Z,0,'ONLY')
421     *
422 cafagna 1.3 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 cafagna 1.1 * Positioning in card
430     *
431 cafagna 1.2 *
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 cafagna 1.3 *
468 cafagna 1.2 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 cafagna 1.3 Y=-LEGB(2)+2.*LEGP(1)-LEG1(4)
475 cafagna 1.2 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 cafagna 1.3 Y=-LEGB(2)+LEGP(1)
480 cafagna 1.2 Z=0.
481     CALL GSPOS('LEG2',1,'LEGB',X,Y,Z,0,'ONLY')
482     *
483     CALL GSVOLU('LEG3','BOX ',NMED,LEG3, 3,IVOLU)
484 cafagna 1.3 X=-LEGB(1)+LEGP(2)*2.+LEG3(1)+0.2
485 cafagna 1.2 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 cafagna 1.3 X=-LEGB(1)+LEGP(2)*2.+LEG3(1)
505 cafagna 1.2 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 cafagna 1.3 X=LEGB(1)-LEGP(3)-LEGP(4)
511 cafagna 1.2 Y=-LEGB(2)+LEG7(2)
512 cafagna 1.3 Z=LEGP(5)-LEGP(8)-LEG7(3)
513 cafagna 1.2 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 cafagna 1.3 Z=-(LEGP(5)-LEGP(8)-LEG7(3))
521 cafagna 1.2 CALL GSPOS('LEG9',1,'LEGB',X,Y,Z,0,'ONLY')
522     *
523     * Positioning LEG BOXES in CARD
524     *
525     N=1
526 cafagna 1.3 X=-CARDB(1)+LEGB(1)+LEGP(6)
527     Y=-CARDB(2)+LEGB(2)+LEGP(7)
528 cafagna 1.2 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 cafagna 1.1
568 cafagna 1.2 *
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 cafagna 1.3 X=-TOPP(1)
584     Y=TOPP(2)
585 cafagna 1.2 Z=0.
586     CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
587     N=2
588 cafagna 1.3 X=-TOPP(1)
589     Y=-TOPP(2)
590 cafagna 1.2 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
591     N=3
592 cafagna 1.3 X=TOPP(1)
593     Y=TOPP(2)
594 cafagna 1.2 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
595     N=4
596 cafagna 1.3 X=TOPP(1)
597     Y=-TOPP(2)
598 cafagna 1.2 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
599     *
600     * Positioning H12 in TPLT
601     *
602 cafagna 1.1 N=1
603 cafagna 1.3 X=-TOPP(1)
604     Y=TOPP(3)
605 cafagna 1.2 Z=0.
606     CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
607     N=2
608 cafagna 1.3 X=-TOPP(1)
609     Y=-TOPP(3)
610 cafagna 1.2 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
611     N=3
612 cafagna 1.3 X=TOPP(1)
613     Y=TOPP(3)
614 cafagna 1.2 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
615     N=4
616 cafagna 1.3 X=TOPP(1)
617     Y=-TOPP(3)
618 cafagna 1.2 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
619     *
620     * Positioning H21 in TPLT
621     *
622     N=1
623 cafagna 1.3 X=-TOPP(4)
624     Y=TOPP(5)
625 cafagna 1.2 Z=0.
626     CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
627     N=2
628 cafagna 1.3 X=-TOPP(4)
629     Y=-TOPP(5)
630 cafagna 1.2 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
631     N=3
632 cafagna 1.3 X=TOPP(4)
633     Y=TOPP(5)
634 cafagna 1.2 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
635     N=4
636 cafagna 1.3 X=TOPP(4)
637     Y=-TOPP(5)
638 cafagna 1.2 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
639     *
640     * Positioning H22 in TPLT
641     *
642     N=1
643 cafagna 1.3 X=-TOPP(6)
644     Y=TOPP(5)
645 cafagna 1.2 Z=0.
646     CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
647     N=2
648 cafagna 1.3 X=-TOPP(6)
649     Y=-TOPP(5)
650 cafagna 1.2 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
651     N=3
652 cafagna 1.3 X=TOPP(6)
653     Y=TOPP(5)
654 cafagna 1.2 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
655     N=4
656 cafagna 1.3 X=TOPP(6)
657     Y=-TOPP(5)
658 cafagna 1.2 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
659     N=5
660     X=0.
661 cafagna 1.3 Y=TOPP(5)
662 cafagna 1.2 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
663     N=6
664     X=0.
665 cafagna 1.3 Y=-TOPP(5)
666 cafagna 1.2 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
667     *
668     * Positioning TOPT in TPLT
669     *
670     N=1
671 cafagna 1.3 X=-CARDB(1)+TOPP(7)/4.
672     Y=-CARDB(2)+TOPP(7)/2.
673 cafagna 1.2 Z=0.
674     CALL GSPOS('TOPT',N,'TPLT',X,Y,Z,0,'ONLY')
675 cafagna 1.1 N=2
676 cafagna 1.2 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 cafagna 1.1 N=1
691 cafagna 1.3 X=TPLT(1)-TOPP(8)-TOHO(1)
692     Y=TPLT(2)-TOPP(9)-TOHO(2)
693 cafagna 1.2 CALL GSPOS('TOHO',N,'TPLT',X,Y,Z,0,'ONLY')
694 cafagna 1.1 N=2
695 cafagna 1.2 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=10
719     CALL GSVOLU('MGSC','BOX ',NMED,MGSC, 3,IVOLU)
720 cafagna 1.3 *
721     * Empty volume to be subtracted from MGSC
722     *
723 cafagna 1.2 NMED=MN2
724     CALL GSVOLU('MGSH','BOX ',NMED,MGSH, 3,IVOLU)
725 cafagna 1.1
726 cafagna 1.2 *
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 cafagna 1.1 RETURN
738     END

  ViewVC Help
Powered by ViewVC 1.1.23