/[PAMELA software]/gpamela/gpcat/gpcatv.F
ViewVC logotype

Diff of /gpamela/gpcat/gpcatv.F

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3.1 by cafagna, Thu Jul 11 16:02:14 2002 UTC revision 3.2 by pamela, Thu Dec 5 10:17:42 2002 UTC
# Line 1  Line 1 
1  *  *
2  * $Id$  * $Id: gpcatv.F,v 3.1.1.1 2002/07/11 16:02:14 cafagna Exp $
3  *  *
4  * $Log$  * $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  *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  *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  *CMZ :  2.00/00 03/03/2000  15.39.06  by  Francesco Cafagna
# Line 22  Line 26 
26  *  *
27        INTEGER IROT,IVOLU,N,NMED,NUM        INTEGER IROT,IVOLU,N,NMED,NUM
28        REAL X,Y,Z        REAL X,Y,Z
29  *EM:  *JeL:
30        NMED=MSCIN        REAL TBOX(3),TTRD1(4)
31          NMED=MN2
32  *  *
33  *  Define the CATL     volume  * Define the CAT 'virtual' box
34          CALL GSVOLU('CATA','BOX ',NMED,CATA, 3,IVOLU)
35  *  *
36        CALL GSVOLU('CATL','BOX ',NMED,CATL, 3,IVOLU)  * 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 CATT     volume  * 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        CALL GSVOLU('CATT','BOX ',NMED,CATT, 3,IVOLU)  * 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        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 the CATH     volume  * 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        CALL GSVOLU('CATH','BOX ',NMED,CATH, 3,IVOLU)  * 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 the CATF     volume  * 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        CALL GSVOLU('CATF','BOX ',NMED,CATF, 3,IVOLU)  * 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        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 the CATB     volume  * 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        CALL GSVOLU('CATB','BOX ',NMED,CATB, 3,IVOLU)  * 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 the CATO     volume  * 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  *  *
       CALL GSVOLU('CATO','BOX ',NMED,CATO, 3,IVOLU)  
171  *  *
172  *  Define the CATP     volume  * POSITIONING OF THE CAT VOLUMES
173  *  *
       CALL GSVOLU('CATP','BOX ',NMED,CATP, 3,IVOLU)  
174  *  *
175  * Positioning volume CATT     into the mother CATB  * 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        N = 1
184  C      X= CATL(1)-CATB(1)        X = 0.
 C      Y= CATL(2)+(2.*CATT(2)-CATB(2))  
       X = -CATT(1)  
185        Y = 0.        Y = 0.
186        Z = 0.        Z = 0.
187        CALL GSPOS('CATT',N,'CATB',X,Y,Z,0,'ONLY')        CALL GSPOS('PLA2',N,'ATBB',X,Y,Z,0,'ONLY')
188        N = 2  *
189        X = -X  * Position the CAT scintillator (TOP1) in PLA2
190        Y = -Y        X = 0.
191          Y = 0.
192        Z = 0.        Z = 0.
193        CALL GSPOS('CATT',N,'CATB',X,Y,Z,0,'ONLY')        CALL GSPOS('TOP1',N,'PLA2',X,Y,Z,0,'ONLY')
194  *  *
195  * Positioning volume CATL     into the mother CATB  * 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        N = 1  * Position the middle aluminum box (ATBM) in PLA2
202  C      X = -CATT(1)-(2.*CATL(1)-CATB(1))        X = 0.
 C      Y = CATT(2)-CATB(2)  
       X = -(2*CATT(1)+CATL(1))  
203        Y = 0.        Y = 0.
204        Z = 0.        Z = 0.
205        CALL GSPOS('CATL',N,'CATB',X,Y,Z,0,'ONLY')        CALL GSPOS('ATBM',N,'PLA2',X,Y,Z,0,'ONLY')
206        N = 2  *
207        X = -X  * Position the middle 'air' box (LTBM) in ATBB
208        Y = -Y        X = 0.
209          Y = 0.
210        Z = 0.        Z = 0.
211        CALL GSPOS('CATL',N,'CATB',X,Y,Z,0,'ONLY')        CALL GSPOS('LTBM',N,'ATBB',X,Y,Z,0,'ONLY')
212  *  *
213  * Positioning volume CATH     into the mother CATB  * 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        N = 1
293        X = 0.        X = 0.
294        Y = 0.        Y = 0.
295        Z = 0.        Z = 23.61
296        CALL GSPOS('CATH',N,'CATB',X,Y,Z,0,'ONLY')        CALL GSPOS('PTRT',N,'TOP1',X,Y,Z,0,'ONLY')
297  *  *
298  * Positioning volume CATF     into the mother CATB  * 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        N = 1
338        X = -(2*CATT(1)+CATL(1))        X = -25.275
339        Y = CATL(2)+CATF(2)        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.        Z = 0.
347        CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY')        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        N = 2
351        X = X        X = 24.475
352        Y = -Y        Y = 0.
353        Z = 0.        Z = 0.
354        CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY')        CALL GSPOS('PTRL',N,'TOP1',X,Y,Z,8,'ONLY')
355        N = 3  *
356        X = -X  * Position the aluminum 'right' TRD1 (ATRL) in PLA2 and rotate
357        Y = Y        N = 2
358          X = 25.275
359          Y = 0.
360        Z = 0.        Z = 0.
361        CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY')        CALL GSPOS('ATRL',N,'PLA2',X,Y,Z,8,'ONLY')
362        N = 4  *
363        X = X  * Position the 'air' 'right' TRD1 (LTRL) in ATBB and rotate
364        Y = -Y        X = 25.625
365          Y = 0.
366        Z = 0.        Z = 0.
367        CALL GSPOS('CATF',N,'CATB',X,Y,Z,0,'ONLY')        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  * Positioning volume CATP  into the mother CATB
468  *  *
469        N = 1  C      N = 1
470        X = -CATH(1)+CATP(1)  C      X = -CATH(1)+CATP(1)
471        Y = 0.  C      Y = 0.
472        Z = 0.  C      Z = 0.
473        CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY')  C      CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY')
474        N = 2  C      N = 2
475        X = -X  C      X = -X
476        Y = Y  C      Y = Y
477        Z = 0.  C      Z = 0.
478        CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY')  C      CALL GSPOS('CATP',N,'CATB',X,Y,Z,0,'ONLY')
479  *  *
480  * Positioning volume CATO  into the mother CATB  * Positioning volume CATO  into the mother CATB
481  *  *
482        N = 1  C      N = 1
483        X = 0.  C      X = 0.
484        Y = -CATH(2)+CATO(2)  C      Y = -CATH(2)+CATO(2)
485        Z = 0.  C      Z = 0.
486        CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY')  C      CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY')
487        N = 2  C      N = 2
488        X = X  C      X = X
489        Y = -Y  C      Y = -Y
490        Z = 0.  C      Z = 0.
491        CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY')  C      CALL GSPOS('CATO',N,'CATB',X,Y,Z,0,'ONLY')
492  *  *
493        RETURN        RETURN
494        END        END

Legend:
Removed from v.3.1  
changed lines
  Added in v.3.2

  ViewVC Help
Powered by ViewVC 1.1.23