/[PAMELA software]/gpamela/gpspe/gpspev.F
ViewVC logotype

Diff of /gpamela/gpspe/gpspev.F

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

revision 3.4 by pam-ba, Mon Dec 5 12:15:21 2005 UTC revision 3.11 by pam-fi, Fri Apr 23 10:04:13 2010 UTC
# Line 1  Line 1 
   
1  *  *
2  * $Id: gpspev.F,v 3.3 2005/07/25 11:53:21 cafagna Exp $  * $Id: gpspev.F,v 3.10 2006/12/01 12:25:51 cafagna Exp $
3  *  *
4  * $Log: gpspev.F,v $  * $Log: gpspev.F,v $
5    * Revision 3.10  2006/12/01 12:25:51  cafagna
6    *  New Antiproton annihilation cross section added
7    *
8    * Revision 3.9  2006/06/30 15:38:16  pam-ba
9    * S22 and S12 heights positioned in GPAMELA at the nominal heights in PAMELA (see document: Main geometrical parameters of the PAMELA sub-detectors, 20 December 2005)
10    *
11    * Revision 3.8  2006/05/02 12:02:43  bottai
12    * micrometric adjustment of spe geometry
13    *
14    * Revision 3.7  2005/12/16 10:20:23  cafagna
15    * Bug fixed in the new update
16    *
17    * Revision 3.6  2005/12/16 09:13:59  cafagna
18    * New small valume added to the tracker frame
19    *
20    * Revision 3.5  2005/12/13 10:31:29  pam-ba
21    * added a new volume, TPGI, in the spectrometer
22    *
23    * Revision 3.4  2005/12/05 12:15:21  pam-ba
24    * new spectrometer geometry and internal magnetic field
25    *
26  * Revision 3.3  2005/07/25 11:53:21  cafagna  * Revision 3.3  2005/07/25 11:53:21  cafagna
27  * Several updates. See history for details  * Several updates. See history for details
28  *  *
# Line 31  Line 51 
51  *  *
52        INTEGER IROT,IVOLU,N,NMED,NUM        INTEGER IROT,IVOLU,N,NMED,NUM
53        REAL X,Y,Z        REAL X,Y,Z
54    C      
55          REAL ROWMAT(3)
56          REAL OMEGA(36),BETA(36),GAMMA(36)
57          REAL DX(36),DY(36),DZ(36)
58          REAL DXFLO(6),DYFLO(6),DZFLO(6)
59          CHARACTER*19 FILEALLI
60          LOGICAL ROTATE
61    c
62    c
63    
64    cv
65    cv
66          DO IK=1,6
67    
68          IF(IK.EQ.1)  FILEALLI='parameters_l1s2.dat'
69          IF(IK.EQ.2)  FILEALLI='parameters_l2s2.dat'
70          IF(IK.EQ.3)  FILEALLI='parameters_l3s2.dat'
71          IF(IK.EQ.4)  FILEALLI='parameters_l1s1.dat'
72          IF(IK.EQ.5)  FILEALLI='parameters_l2s1.dat'
73          IF(IK.EQ.6)  FILEALLI='parameters_l3s1.dat'
74          
75          write(6,*) 'OPEN ',FILEALLI
76          OPEN(91,file=FILEALLI,status='old')
77          DO IH=1,6
78            II=(6-IH)*6+IK
79            READ(91,*) OMEGA(II)
80            READ(91,*) BETA(II)
81            READ(91,*) GAMMA(II)
82            READ(91,*) DX(II)
83            READ(91,*) DY(II)
84            READ(91,*) DZ(II)
85          ENDDO
86          
87          CLOSE(91)
88          
89          ENDDO
90        
91          DO IJ=1,6
92           DXFLO(IJ)=0.
93           DYFLO(IJ)=0.
94           DO IL=1,6
95            II=(IJ-1)*6+IL
96            DXFLO(IJ)=DXFLO(IJ)+DX(II)
97            DYFLO(IJ)=DYFLO(IJ)+DY(II)
98           ENDDO
99           DXFLO(IJ)=DXFLO(IJ)/6.
100           DYFLO(IJ)=DYFLO(IJ)/6.
101          ENDDO
102          
103          DO IJ=1,6
104           DO IL=1,6
105            II=(IJ-1)*6+IL
106            DX(II)=( DX(II)-DXFLO(IJ) )*1.E-4
107            DY(II)=( DY(II)-DYFLO(IJ) )*1.E-4
108            DZ(II)=(DZ(II)-100.)*1.E-4
109           ENDDO
110           DXFLO(IJ)=DXFLO(IJ)*1.E-4
111           DYFLO(IJ)=DYFLO(IJ)*1.E-4
112          ENDDO
113    
114          
115          DO IJ=1,6
116           DO IL=1,6
117           II=(IJ-1)*6+IL      
118           OMEGA_1=OMEGA(II)*1.E-6
119           BETA_1=BETA(II)*1.E-6
120           GAMMA_1=GAMMA(II)*1.E-6
121    c
122    c
123           IF(IJ.EQ.6) THEN
124            OMEGA_1=-OMEGA_1
125            BETA_1=BETA_1
126            GAMMA_1=-GAMMA_1
127           ENDIF
128    
129    
130    
131           ROWMAT(1)=1.
132           ROWMAT(2)=OMEGA_1
133           ROWMAT(3)=-GAMMA_1
134           CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
135           THETA1=ATAN2(SINTH,COSTH)/acos(-1.)*180.
136           PHI1=ATAN2(SINPH,COSPH)/acos(-1.)*180.
137        
138           ROWMAT(1)=-OMEGA_1
139           ROWMAT(2)=1.
140           ROWMAT(3)=BETA_1
141    
142           CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
143           THETA2=ATAN2(SINTH,COSTH)/acos(-1.)*180.
144           PHI2=ATAN2(SINPH,COSPH)/acos(-1.)*180.
145    
146           ROWMAT(1)=GAMMA_1
147           ROWMAT(2)=-BETA_1
148           ROWMAT(3)=1.
149    
150           CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
151           THETA3=ATAN2(SINTH,COSTH)/acos(-1.)*180.
152           PHI3=ATAN2(SINPH,COSPH)/acos(-1.)*180.
153    
154           write(6,*) 'GSROTM(50+II)',50+II,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3
155           IIKROT=50+II
156           CALL GSROTM(IIKROT,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3)
157          
158           ENDDO
159          ENDDO
160    
161  *  *
162  *  Define the SPEB     volume  *  Define the SPEB     volume
163  *  *
# Line 40  Line 167 
167  *  Define the MGFR     volume  *  Define the MGFR     volume
168  *  *
169        NMED= MAL        NMED= MAL
170        CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)  cv      CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)
171          CALL GSVOLU('MGF1','BOX ',NMED,MGFR, 3,IVOLU)
172          CALL GSVOLU('MGF2','BOX ',NMED,MGFR, 3,IVOLU)
173          CALL GSVOLU('MGF3','BOX ',NMED,MGFR, 3,IVOLU)
174          CALL GSVOLU('MGF4','BOX ',NMED,MGFR, 3,IVOLU)
175          CALL GSVOLU('MGF5','BOX ',NMED,MGFR, 3,IVOLU)
176        
177  *  *
178  *  Define the MGPL     volume  *  Define the MGPL     volume
179  *  *
# Line 55  Line 188 
188  *  Define the TRPB     volume  *  Define the TRPB     volume
189  *  *
190        NMED= MAL        NMED= MAL
191        CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)  cv      CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)
192          CALL GSVOLU('TRP1','BOX ',NMED,TRPB, 3,IVOLU)
193          CALL GSVOLU('TRP2','BOX ',NMED,TRPB, 3,IVOLU)
194          CALL GSVOLU('TRP3','BOX ',NMED,TRPB, 3,IVOLU)
195          CALL GSVOLU('TRP4','BOX ',NMED,TRPB, 3,IVOLU)
196          CALL GSVOLU('TRP5','BOX ',NMED,TRPB, 3,IVOLU)
197          CALL GSVOLU('TRP6','BOX ',NMED,TRPB, 3,IVOLU)            
198  *****  *****
199  cC ml 20/04/05:  cC ml 20/04/05:
200  *  *
# Line 63  cc*  Define the TRPL     volume Line 202  cc*  Define the TRPL     volume
202  *  Define the TPAS and TPAI volume  *  Define the TPAS and TPAI volume
203  *  *
204        NMED= MN2        NMED= MN2
205  CC      CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)  cv      CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)
206        CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)        CALL GSVOLU('TPA1','BOX ',NMED,TPAS, 3,IVOLU)
207          CALL GSVOLU('TPA2','BOX ',NMED,TPAS, 3,IVOLU)
208          CALL GSVOLU('TPA3','BOX ',NMED,TPAS, 3,IVOLU)
209          CALL GSVOLU('TPA4','BOX ',NMED,TPAS, 3,IVOLU)
210          CALL GSVOLU('TPA5','BOX ',NMED,TPAS, 3,IVOLU)
211          CALL GSVOLU('TPA6','BOX ',NMED,TPAS, 3,IVOLU)
212        NMED= MAL        NMED= MAL
213        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)
214  CC end ml.  CC end ml.
# Line 93  C end ml. Line 237  C end ml.
237        NMED= MCF        NMED= MCF
238        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)
239  *  *
240    *  Define the TBAL     volume
241    *
242          NMED= MAL
243          CALL GSVOLU('TBAL','BOX ',NMED,TBAL, 3,IVOLU)
244    *
245  *  Define the MGPA     volume  *  Define the MGPA     volume
246  *  *
247        NMED= MAL        NMED= MAL
# Line 103  C end ml. Line 252  C end ml.
252        NMED= MN2        NMED= MN2
253        CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)        CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)
254  *  *
255    *  Define the TPGI     volume
256    *
257          NMED= MN2
258          CALL GSVOLU('TPGI','BOX ',NMED,TPGI, 3,IVOLU)
259    *
260  *  Define the TPGU     volume  *  Define the TPGU     volume
261  *  *
262        NMED= MN2        NMED= MN2
# Line 116  C end ml. Line 270  C end ml.
270  *  *
271  * Positioning volume TSPA     into the mother TRSL  * Positioning volume TSPA     into the mother TRSL
272  *  *
273          GLUEX=XGLUE-0.0005
274          GLUEY=XGLUE
275        N= 1        N= 1
276        X= 0.        X= 0.
277        Y= 0.        Y= 0.
278        Z= 0.        Z= 0.
279        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')
280  C #       N= 2  
 C # C      Y= Y - 2.*TSPA(2)  
 C #       Y=-TRSL(2)/2  
 C #       CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')  
281  c ml: 26/11/04:  c ml: 26/11/04:
282  * Positioning volume TRCP into mother TPAS  * Positioning volume TRCP into mother TPAS
283  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
284  C #       Z=-TRPB(3)+0.11+TRCP(3)  
 C #       Y=-TRPB(2)+1.5-0.225+TRCP(2)  
285  CC end ml.  CC end ml.
286  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)  
287        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
288        y=-0.225-TPAS(2)+TRCP(2)        y=-TPAS(2)+TRCP(2)
289  C # end CAF mod  C # end CAF mod
290          TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*GLUEX)
291        DO I=1,4        DO I=1,4
292  CC ml 20/04/05:          CC ml 20/04/05:        
293  CC         X=-TRPL(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  C Ml. 15/12/05: introducing a space (along x) between the inner part of the
294  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  c  aluminum frame and respectively the first and the last carbon fiber barrel.
295  C #          X=-TRPB(1)+2.29+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  c It is has been done increasing the dimension of TPAS along x:
296  c ml: 19/9/05: introducing the glue between TRCP and the silicon ladders.  
297  c              for now the glue is a space of nitrogen of 0.015 mm           X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+
298  c         X=-TPAS(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)       +      2*(I-1)*TRSL(1)
          X=-TPAS(1)+2*(I-1)*0.0015+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  
299  CC end ml  CC end ml
300           CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'ONLY')  cv         CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'MANY')
301               CALL GSPOS('TRCP',I,'TPA1',X,Y,Z,0,'MANY')
302               CALL GSPOS('TRCP',I,'TPA2',X,Y,Z,0,'MANY')
303               CALL GSPOS('TRCP',I,'TPA3',X,Y,Z,0,'MANY')
304               CALL GSPOS('TRCP',I,'TPA4',X,Y,Z,0,'MANY')
305               CALL GSPOS('TRCP',I,'TPA5',X,Y,Z,0,'MANY')
306               CALL GSPOS('TRCP',I,'TPA6',X,Y,Z,0,'MANY')
307  C # end CAF mod  C # end CAF mod
308        ENDDO          ENDDO  
309  cc ml 20/04/05:  cc ml 20/04/05:
310  * Positioning volume TRSL     into the mother TPAS  * Positioning volume TRSL     into the mother TPAS
311  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
312  C #       Y=-TRPB(2)+1.5+2*THBP(2)+TRSL(2)  
 C      Y=2.75  
 CC      Z= 0.  
 C      Z=-0.005  
 c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)  
313        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
314        DO I=1, NTRSL        DO I=1, NTRSL
315  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
316  c         X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+  
317  c     +        (2*(MOD(I-1,3)+1)-1)*TRSL(1)           X=-TPAS(1)+TPASSPACE+2*(MOD(I-1,3)+1)*TRCP(1)+
318           X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+       +   (2*(MOD(I-1,3)+1)-1)*GLUEX+(2*(MOD(I-1,3)+1)-1)*TRSL(1)
      +   (2*(MOD(I-1,3)+1)-1)*0.0015+(2*(MOD(I-1,3)+1)-1)*TRSL(1)          
319           IF(I.LE.3) THEN           IF(I.LE.3) THEN
320  C ml: 22/9/05:  C ml: 22/9/05:
321  c            Y=TPAS(2)-TRSL(2)  
322              Y=TPAS(2)-0.1485-TRSL(2)              Y=TPAS(2)-0.1485+0.0005-TRSL(2)
323           ELSE           ELSE
324  C            Y=TPAS(2)-3*TRSL(2)  
325              Y=TPAS(2)-0.1485-0.0015-3*TRSL(2)              Y=TPAS(2)-0.1485-GLUEY-3*TRSL(2)
326           ENDIF           ENDIF
327           CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')  
328    cv        X=X+DX_1
329    cv        Y=Y+DY_1
330    cv        Z=Z+DZ_1
331    cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,51,'ONLY')
332    cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')
333               X1=X+DX(I)
334               Y1=Y+DY(I)
335               Z1=Z+DZ(I)
336               IIRR=50+I
337               CALL GSPOS('TRSL',I,'TPA1',X1,Y1,Z1,IIRR,'ONLY')
338    
339               X2=X+DX(NTRSL+I)
340               Y2=Y+DY(NTRSL+I)
341               Z2=Z+DZ(NTRSL+I)
342               IIRR=50+NTRSL+I
343               CALL GSPOS('TRSL',NTRSL+I,'TPA2',X2,Y2,Z2,IIRR,'ONLY')
344    
345               X3=X+DX(2*NTRSL+I)
346               Y3=Y+DY(2*NTRSL+I)
347               Z3=Z+DZ(2*NTRSL+I)
348               IIRR=50+2*NTRSL+I
349               CALL GSPOS('TRSL',2*NTRSL+I,'TPA3',X3,Y3,Z3,IIRR,'ONLY')
350    
351    
352               X4=X+DX(3*NTRSL+I)
353               Y4=Y+DY(3*NTRSL+I)
354               Z4=Z+DZ(3*NTRSL+I)
355               IIRR=50+3*NTRSL+I
356               CALL GSPOS('TRSL',3*NTRSL+I,'TPA4',X4,Y4,Z4,IIRR,'ONLY')
357    
358               X5=X+DX(4*NTRSL+I)
359               Y5=Y+DY(4*NTRSL+I)
360               Z5=Z+DZ(4*NTRSL+I)
361               IIRR=50+4*NTRSL+I
362               CALL GSPOS('TRSL',4*NTRSL+I,'TPA5',X5,Y5,Z5,IIRR,'ONLY')
363    
364               IF(I.LE.3) KK=3+I
365               IF(I.GE.4) KK=I-3
366               X6=X+DX(5*NTRSL+KK)
367               Y6=Y-DY(5*NTRSL+KK)
368               Z6=Z-DZ(5*NTRSL+KK)    
369               IIRR=50+5*NTRSL+KK
370               CALL GSPOS('TRSL',5*NTRSL+I,'TPA6',X6,Y6,Z6,IIRR,'ONLY')
371        ENDDO        ENDDO
372  C # end CAF mod  C # end CAF mod
373  **********  **********
374  cc ml: 20/04/05  cc ml: 20/04/05
375  * Positioning volume THBP     into the mother TPAS  * Positioning volume THBP     into the mother TPAS
376  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
377  C #       Y=-TRPB(2)+1.5+THBP(2)  
 C # cc      Z= 0.  
 C #       Z=-TRPB(3)+0.11+TRCP(3)  
378  c ml: 22/9/05:  c ml: 22/9/05:
379  c      Y=-TPAS(2)+THBP(2)  
380        Y=-TPAS(2)+0.1485+THBP(2)        Y=-TPAS(2)+0.1485+THBP(2)
381  C      Z=-0.005  
 c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)  
382        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
383        DO I=1, NTHBP        DO I=1, NTHBP
384  CC         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*THBP(1)  
 C #          X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)  
385  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon
386  c       ladders  c       ladders
387  c         X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)  
388           X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)+           X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+
389       +      (2*(MOD(I-1,3)+1)-1)*0.0015       +      (2*(MOD(I-1,3)+1)-1)*GLUEX
390           CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'ONLY')  cv         CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'MANY')
391            CALL GSPOS('THBP',I,'TPA1',X,Y,Z,0,'MANY')
392            CALL GSPOS('THBP',I,'TPA2',X,Y,Z,0,'MANY')
393            CALL GSPOS('THBP',I,'TPA3',X,Y,Z,0,'MANY')
394            CALL GSPOS('THBP',I,'TPA4',X,Y,Z,0,'MANY')
395            CALL GSPOS('THBP',I,'TPA5',X,Y,Z,0,'MANY')
396            CALL GSPOS('THBP',I,'TPA6',X,Y,Z,0,'MANY')
397        ENDDO        ENDDO
398  c end ml.  c end ml.
399  cc ml: 20/04/05  cc ml: 20/04/05
# Line 205  cc ml: 20/04/05 Line 403  cc ml: 20/04/05
403  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS
404        X=0        X=0
405        Y=-TPAS(2)+TPAI(2)        Y=-TPAS(2)+TPAI(2)
 c      Z=-TPAS(3)+TPAI(3)  
406        Z=TRPB(3)-TPAI(3)        Z=TRPB(3)-TPAI(3)
407  C #       X=-TRPB(1)+2.29+TPAI(1)  
408  C #       Y=-TRPB(2)+1.5+2.5+TPAI(2)  cv      CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'MANY')
409  C #       Z=-TRPB(3)+TPAI(3)        CALL GSPOS('TPAI',1,'TPA1',X,Y,Z,0,'MANY')
410        CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'ONLY')        CALL GSPOS('TPAI',1,'TPA2',X,Y,Z,0,'MANY')
411          CALL GSPOS('TPAI',1,'TPA3',X,Y,Z,0,'MANY')
412          CALL GSPOS('TPAI',1,'TPA4',X,Y,Z,0,'MANY')
413          CALL GSPOS('TPAI',1,'TPA5',X,Y,Z,0,'MANY')
414          CALL GSPOS('TPAI',1,'TPA6',X,Y,Z,0,'MANY')
415  C # end CAF mod  C # end CAF mod
416  *  *
417  * Positioning volume TPAS into the mother TRPB  * Positioning volume TPAS into the mother TRPB
# Line 219  C # Mod By Caf on 15th Jul 2005 Line 420  C # Mod By Caf on 15th Jul 2005
420        X=0        X=0
421        Y=-TRPB(2)+1.5+TPAS(2)        Y=-TRPB(2)+1.5+TPAS(2)
422        Z=0        Z=0
423  C #       X=-TRPB(1)+2.29+TPAS(1)  
424  C #       Y=-TRPB(2)+1.5+TPAS(2)  cv      CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')
425  C #       Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)        CALL GSPOS('TPA1',1,'TRP1',X,Y,Z,0,'ONLY')
426        CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')        CALL GSPOS('TPA2',1,'TRP2',X,Y,Z,0,'ONLY')
427          CALL GSPOS('TPA3',1,'TRP3',X,Y,Z,0,'ONLY')
428          CALL GSPOS('TPA4',1,'TRP4',X,Y,Z,0,'ONLY')
429          CALL GSPOS('TPA5',1,'TRP5',X,Y,Z,0,'ONLY')
430          CALL GSPOS('TPA6',1,'TRP6',X,Y,Z,0,'ONLY')
431  c end ml.  c end ml.
432  *  *
433  * Positioning volume MGPA     into the mother MGPL  * Positioning volume MGPA     into the mother MGPL
# Line 238  c end ml. Line 443  c end ml.
443        X=0.        X=0.
444        Z=-MGFR(3)+TPGD(3)        Z=-MGFR(3)+TPGD(3)
445        Y=0.        Y=0.
446        CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')  cv      CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')
447          CALL GSPOS('TPGD',1,'MGF1',X,Y,Z,0,'ONLY')
448          CALL GSPOS('TPGD',1,'MGF2',X,Y,Z,0,'ONLY')
449          CALL GSPOS('TPGD',1,'MGF3',X,Y,Z,0,'ONLY')
450          CALL GSPOS('TPGD',1,'MGF4',X,Y,Z,0,'ONLY')
451          CALL GSPOS('TPGD',1,'MGF5',X,Y,Z,0,'ONLY')
452    *
453    * Positioning volume TPGI     into the mother MGFR under MGPL
454    *
455          N=1
456          X=0.
457          Z=-MGFR(3)+2*TPGD(3)+TPGI(3)
458          Y=0.
459    cv      CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
460          CALL GSPOS('TPGI',1,'MGF1',X,Y,Z,0,'ONLY')
461          CALL GSPOS('TPGI',1,'MGF2',X,Y,Z,0,'ONLY')
462          CALL GSPOS('TPGI',1,'MGF3',X,Y,Z,0,'ONLY')
463          CALL GSPOS('TPGI',1,'MGF4',X,Y,Z,0,'ONLY')
464          CALL GSPOS('TPGI',1,'MGF5',X,Y,Z,0,'ONLY')
465  *  *
466  * Positioning volume MGPI     into the mother MGPL  * Positioning volume MGPI     into the mother MGPL
467  *  *
468        N= 1        N= 1
469        X= 0.        X= 0.
470        Y= 0.        Y= 0.
471  CC ML 10/11/05:  Positioning volume MGPI     into the mother MGFR  CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA
472        Z= 0.        Z= 0.
473        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')
474  C      Z= -MGFR(3)+2*TPGD(3)+MGPI(3)  
 C      CALL GSPOS('MGPI',N,'MGFR',X,Y,Z,0,'ONLY')  
475  *  *
476  * Positioning volume MGPL     into the mother MGFR  * Positioning volume MGPL     into the mother MGFR
477  *  *
478  c ml: 10/11/05  c ml: 10/11/05
479  c      Z=-MGFR(3)+MGPL(3)        N=1
480        Z=-MGFR(3)+2*TPGD(3)+MGPI(3)        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)
481        CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')  cv      CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')
482          CALL GSPOS('MGPL',1,'MGF1',X,Y,Z,0,'ONLY')    
483          CALL GSPOS('MGPL',1,'MGF2',X,Y,Z,0,'ONLY')
484          CALL GSPOS('MGPL',1,'MGF3',X,Y,Z,0,'ONLY')
485          CALL GSPOS('MGPL',1,'MGF4',X,Y,Z,0,'ONLY')
486          CALL GSPOS('MGPL',1,'MGF5',X,Y,Z,0,'ONLY')
487    *
488    * Positioning volume TPGI     into the mother MGFR above MGPL
489    *
490          N=2
491          X=0.
492          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)
493          Y=0.
494    cv      CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
495          CALL GSPOS('TPGI',2,'MGF1',X,Y,Z,0,'ONLY')    
496          CALL GSPOS('TPGI',2,'MGF2',X,Y,Z,0,'ONLY')
497          CALL GSPOS('TPGI',2,'MGF3',X,Y,Z,0,'ONLY')
498          CALL GSPOS('TPGI',2,'MGF4',X,Y,Z,0,'ONLY')
499          CALL GSPOS('TPGI',2,'MGF5',X,Y,Z,0,'ONLY')
500  *  *
501  * Positioning volume TPGA     into the mother MGFR  * Positioning volume TPGA     into the mother MGFR
502  *  *
503  C ML: 10/11/05  C ML: 10/11/05
504          N=1
505        X=0.        X=0.
506        Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)        Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)
507  C      Z=-MGFR(3)+2*MGPL(3)+TPGA(3)  
508        Z=MGFR(3)-2*TPGU(3)-2*TRPB(3)-TPGA(3)        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)
509  C      Y=-0.75  
510        CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')  cv      CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')
511          CALL GSPOS('TPGA',1,'MGF1',X,Y,Z,0,'ONLY')
512          CALL GSPOS('TPGA',1,'MGF2',X,Y,Z,0,'ONLY')
513          CALL GSPOS('TPGA',1,'MGF3',X,Y,Z,0,'ONLY')
514          CALL GSPOS('TPGA',1,'MGF4',X,Y,Z,0,'ONLY')
515          CALL GSPOS('TPGA',1,'MGF5',X,Y,Z,0,'ONLY')
516  *  *
517  * Positioning volumes TRPB & MGPL into the mother SPEB  * Positioning volumes TRPB & MGPL into the mother SPEB
518  *  *
519        N= 1        N= 1
520        X= 0.        X= 0.
521  C      Y= SPEB(2) - TRPB(2)  
522        Y= -MGFR(2) + TRPB(2)        Y= -MGFR(2) + TRPB(2)
523  C      Z= SPEB(3) - TRPB(3)  
524  c      Z=-MGFR(3)+2*MGPL(3)+2*TPGA(3)+TRPB(3)        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3))+TRPB(3)
525        Z=MGFR(3)-2*TPGU(3)-TRPB(3)  
526  C      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  cv      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')
527        CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')        XX1=X+DXFLO(1)
528  c      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,9,'ONLY')        YY1=Y+DYFLO(1)
529          CALL GSPOS('TRP1',1,'MGF1',XX1,YY1,Z,0,'ONLY')
530          XX2=X+DXFLO(2)
531          YY2=Y+DYFLO(2)
532          CALL GSPOS('TRP2',1,'MGF2',XX2,YY2,Z,0,'ONLY')
533          XX3=X+DXFLO(3)
534          YY3=Y+DYFLO(3)
535          CALL GSPOS('TRP3',1,'MGF3',XX3,YY3,Z,0,'ONLY')
536          XX4=X+DXFLO(4)
537          YY4=Y+DYFLO(4)
538          CALL GSPOS('TRP4',1,'MGF4',XX4,YY4,Z,0,'ONLY')
539          XX5=X+DXFLO(5)
540          YY5=Y+DYFLO(5)
541          CALL GSPOS('TRP5',1,'MGF5',XX5,YY5,Z,0,'ONLY')
542        Z=SPEB(3)        Z=SPEB(3)
543        DO I=1, 5        DO I=1, 5
544           X= 0.           X= 0.
545           Y= 0.           Y= 0.
546  C         Z= Z - TRPB(3) - MGFR(3)  
547           Z=Z-MGFR(3)           Z=Z-MGFR(3)
548           N= I           N= I
549           CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')  CV         CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')
550  C         Y= SPEB(2) - TRPB(2)           IF(N.EQ.1) CALL GSPOS('MGF1',1,'SPEB',X,Y,Z,0,'ONLY')
551  C         Z= Z - MGFR(3) - TRPB(3)           IF(N.EQ.2) CALL GSPOS('MGF2',1,'SPEB',X,Y,Z,0,'ONLY')
552  C         N= (I+1)           IF(N.EQ.3) CALL GSPOS('MGF3',1,'SPEB',X,Y,Z,0,'ONLY')
553  C         IF(I.EQ.5) THEN           IF(N.EQ.4) CALL GSPOS('MGF4',1,'SPEB',X,Y,Z,0,'ONLY')
554  CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')           IF(N.EQ.5) CALL GSPOS('MGF5',1,'SPEB',X,Y,Z,0,'ONLY')
555  C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,10,'ONLY')  
 C         ELSE  
 CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  
 C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')  
 C         ENDIF  
556           Z=Z-MGFR(3)           Z=Z-MGFR(3)
557        ENDDO        ENDDO
558        N=2        N=2
559        X=0.        X=0.
560        Y=MGFR(2) - TRPB(2)        Y=MGFR(2) - TRPB(2)
561        Z=Z-TRPB(3)        Z=Z-TRPB(3)
562  c      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,4,'ONLY')        ZTRPB=Z
563        CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')  
564    cv      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')
565          XX6=X+DXFLO(6)
566          YY6=Y+DYFLO(6)
567          CALL GSPOS('TRP6',1,'SPEB',XX6,YY6,Z,10,'ONLY')
568    *
569    * Positioning volume TBAL into the mother SPEB
570    *
571          DO I=1,2
572    C DTBAL is the distance along x of the volumes TBAL from the end of TRPB
573             DTBAL=3.6
574             N=I
575             IF(I.EQ.1) THEN
576                X=TRPB(1)-3.6-TBAL(1)
577             ELSE
578                X=-(TRPB(1)-3.6-TBAL(1))
579             ENDIF
580             Y=MGFR(2) - 2*TRPB(2)-TBAL(2)
581             Z=ZTRPB
582             CALL GSPOS('TBAL',N,'SPEB',X,Y,Z,0,'ONLY')
583          ENDDO
584  *  *
585  * Positioning volume TPGU     into the mother MGFR  * Positioning volume TPGU     into the mother MGFR
586  *  *
587        X=0.        X=0.
588        Z=MGFR(3)-TPGU(3)  
589          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3)+TRPB(3))+
590         +   TPGU(3)      
591        Y=-MGFR(2)+TRPB(2)        Y=-MGFR(2)+TRPB(2)
592        CALL GSPOS('TPGU',N,'MGFR',X,Y,Z,0,'ONLY')  CV      CALL GSPOS('TPGU',N,'MGFR',X,Y,Z,0,'ONLY')
593          CALL GSPOS('TPGU',1,'MGF1',X,Y,Z,0,'ONLY')
594          CALL GSPOS('TPGU',1,'MGF2',X,Y,Z,0,'ONLY')
595          CALL GSPOS('TPGU',1,'MGF3',X,Y,Z,0,'ONLY')
596          CALL GSPOS('TPGU',1,'MGF4',X,Y,Z,0,'ONLY')
597          CALL GSPOS('TPGU',1,'MGF5',X,Y,Z,0,'ONLY')
598  *  *
599        RETURN        RETURN
600        END        END

Legend:
Removed from v.3.4  
changed lines
  Added in v.3.11

  ViewVC Help
Powered by ViewVC 1.1.23