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

Annotation of /gpamela/gpcard/gpcardv.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide 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 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 pamela 1.4 *
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 pamela 1.4
35 cafagna 1.2 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 pamela 1.4 *
50 cafagna 1.3 * Smaller Scintillator CAR2 (or type A)
51 pamela 1.4 *
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 pamela 1.4 * CR1P PLASTIC BOX TO CREATE RIM
99 cafagna 1.1 *
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 pamela 1.4
143 cafagna 1.3 NMED=MAL
144 cafagna 1.1 CALL GSVOLU('CAR2','TRAP',NMED,CAR2,11,IVOLU)
145     *
146 pamela 1.4 * CR1P PLASTIC BOX TO CREATE RIM
147 cafagna 1.1 *
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 pamela 1.4 NMED=MPLAS
168 cafagna 1.3 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 pamela 1.4
175 cafagna 1.3 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 pamela 1.4 AA=CAR(3)
188 cafagna 1.3 BB=AA*(CAR(5)/CAR(3)-CAR(4)/CAR(2))
189 pamela 1.4
190 cafagna 1.3 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 pamela 1.4
213 cafagna 1.3 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 pamela 1.4
225     AA=CAR(3) + PT -
226 cafagna 1.3 + 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 pamela 1.4
230 cafagna 1.3 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 pamela 1.4
253 cafagna 1.3 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 pamela 1.4 AA=CAR(3) + ATZ -
266 cafagna 1.3 + 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 pamela 1.4
270 cafagna 1.3 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 pamela 1.4 NMED=MN2
283 cafagna 1.3 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 pamela 1.4 *
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 pamela 1.4 *
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 pamela 1.4 *--- CAR1B
438 cafagna 1.2 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 pamela 1.4 *--- CAR1A
444 cafagna 1.2 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 pamela 1.4 *--- CAR2B
455 cafagna 1.2 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 pamela 1.4 * empty volumes to be subtracted from LEGB
467 cafagna 1.3 *
468 cafagna 1.2 NMED=MN2
469 pamela 1.4 CALL GSVOLU('LEG1','TRAP',NMED,LEG1, 11,IVOLU)
470 cafagna 1.2 X=-LEGB(1)+LEG1(1)
471     Y=-LEGB(2)+LEG1(4)
472     Z=0.
473 pamela 1.4 CALL GSPOS('LEG1',1,'LEGB',X,Y,Z,RY90,'ONLY')
474 cafagna 1.3 Y=-LEGB(2)+2.*LEGP(1)-LEG1(4)
475 pamela 1.4 CALL GSPOS('LEG1',2,'LEGB',X,Y,Z,RY90,'ONLY')
476     *
477     CALL GSVOLU('LEG2','BOX ',NMED,LEG2, 3,IVOLU)
478 cafagna 1.2 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 pamela 1.4 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 pamela 1.4 CALL GSPOS('LEG3',2,'LEGB',X,Y,Z,0,'ONLY')
490 cafagna 1.2 *
491 pamela 1.4 CALL GSVOLU('LEG4','BOX ',NMED,LEG4, 3,IVOLU)
492 cafagna 1.2 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 pamela 1.4 *
497     CALL GSVOLU('LEG5','BOX ',NMED,LEG5, 3,IVOLU)
498 cafagna 1.2 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 pamela 1.4 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 pamela 1.4 CALL GSPOS('LEG6',1,'LEGB',X,Y,Z,0,'ONLY')
508 cafagna 1.2 *
509 pamela 1.4 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 pamela 1.4 CALL GSPOS('LEG7',1,'LEGB',X,Y,Z,0,'ONLY')
514 cafagna 1.2 *
515 pamela 1.4 CALL GSVOLU('LEG8','BOX ',NMED,LEG8, 3,IVOLU)
516 cafagna 1.2 Z=0.
517 pamela 1.4 CALL GSPOS('LEG8',1,'LEGB',X,Y,Z,0,'ONLY')
518 cafagna 1.2 *
519 pamela 1.4 CALL GSVOLU('LEG9','BOX ',NMED,LEG9, 3,IVOLU)
520 cafagna 1.3 Z=-(LEGP(5)-LEGP(8)-LEG7(3))
521 pamela 1.4 CALL GSPOS('LEG9',1,'LEGB',X,Y,Z,0,'ONLY')
522 cafagna 1.2 *
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 pamela 1.4 CALL GSVOLU('TH21','BOX ',NMED,TH21, 3,IVOLU)
562     CALL GSVOLU('TH22','BOX ',NMED,TH22, 3,IVOLU)
563 cafagna 1.2 *
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 pamela 1.4 Z=0.
577     CALL GSPOS('TOPC',N,'TPLT',X,Y,Z,0,'ONLY')
578 cafagna 1.2 *
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 pamela 1.4 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
587 cafagna 1.2 N=2
588 cafagna 1.3 X=-TOPP(1)
589     Y=-TOPP(2)
590 pamela 1.4 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
591 cafagna 1.2 N=3
592 cafagna 1.3 X=TOPP(1)
593     Y=TOPP(2)
594 pamela 1.4 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
595 cafagna 1.2 N=4
596 cafagna 1.3 X=TOPP(1)
597     Y=-TOPP(2)
598 pamela 1.4 CALL GSPOS('TH11',N,'TPLT',X,Y,Z,0,'ONLY')
599 cafagna 1.2 *
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 pamela 1.4 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
607 cafagna 1.2 N=2
608 cafagna 1.3 X=-TOPP(1)
609     Y=-TOPP(3)
610 pamela 1.4 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
611 cafagna 1.2 N=3
612 cafagna 1.3 X=TOPP(1)
613     Y=TOPP(3)
614 pamela 1.4 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
615 cafagna 1.2 N=4
616 cafagna 1.3 X=TOPP(1)
617     Y=-TOPP(3)
618 pamela 1.4 CALL GSPOS('TH12',N,'TPLT',X,Y,Z,0,'ONLY')
619 cafagna 1.2 *
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 pamela 1.4 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
627 cafagna 1.2 N=2
628 cafagna 1.3 X=-TOPP(4)
629     Y=-TOPP(5)
630 pamela 1.4 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
631 cafagna 1.2 N=3
632 cafagna 1.3 X=TOPP(4)
633     Y=TOPP(5)
634 pamela 1.4 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
635 cafagna 1.2 N=4
636 cafagna 1.3 X=TOPP(4)
637     Y=-TOPP(5)
638 pamela 1.4 CALL GSPOS('TH21',N,'TPLT',X,Y,Z,0,'ONLY')
639 cafagna 1.2 *
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 pamela 1.4 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
647 cafagna 1.2 N=2
648 cafagna 1.3 X=-TOPP(6)
649     Y=-TOPP(5)
650 pamela 1.4 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
651 cafagna 1.2 N=3
652 cafagna 1.3 X=TOPP(6)
653     Y=TOPP(5)
654 pamela 1.4 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
655 cafagna 1.2 N=4
656 cafagna 1.3 X=TOPP(6)
657     Y=-TOPP(5)
658 pamela 1.4 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
659 cafagna 1.2 N=5
660     X=0.
661 cafagna 1.3 Y=TOPP(5)
662 pamela 1.4 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
663 cafagna 1.2 N=6
664     X=0.
665 cafagna 1.3 Y=-TOPP(5)
666 pamela 1.4 CALL GSPOS('TH22',N,'TPLT',X,Y,Z,0,'ONLY')
667 cafagna 1.2 *
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 pamela 1.4 *
709 cafagna 1.2 N=1
710     X=0.
711     Y=0.
712     Z=CARDB(3)-TPLT(3)
713 pamela 1.4 CALL GSPOS('TPLT',N,'CARD',X,Y,Z,0,'ONLY')
714     C---------------------------------------------------------------
715 cafagna 1.2 *
716     * MAGNETIC SCREEN
717     *
718 pamela 1.4 NMED=MIRON
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 pamela 1.4 CALL GSVOLU('MGSH','BOX ',NMED,MGSH, 3,IVOLU)
725 cafagna 1.1
726 cafagna 1.2 *
727     * Positioning in CARD...
728 pamela 1.4 *
729 cafagna 1.2 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 pamela 1.4 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