/[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.3 by cafagna, Mon Jul 25 11:53: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.2 2005/06/21 02:42:27 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
27    * Several updates. See history for details
28    *
29  * Revision 3.2  2005/06/21 02:42:27  cafagna  * Revision 3.2  2005/06/21 02:42:27  cafagna
30  * Major modification to the geometry and to the random number chain  * Major modification to the geometry and to the random number chain
31  *  *
# Line 28  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 37  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 52  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 60  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 90  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
246    *
247          NMED= MAL
248          CALL GSVOLU('MGPA','BOX ',NMED,MGPA, 3,IVOLU)
249    *
250    *  Define the TPGA     volume
251    *
252          NMED= MN2
253          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
261    *
262          NMED= MN2
263          CALL GSVOLU('TPGU','BOX ',NMED,TPGU, 3,IVOLU)
264    *
265    *  Define the TPGD     volume
266    *
267          NMED= MN2
268          CALL GSVOLU('TPGD','BOX ',NMED,TPGD, 3,IVOLU)
269    
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.
 c ml: 26/11/66:  
 c      Y= TRSL(2) - TSPA(2)  
 C #       Y=+TRSL(2)/2  
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
 c* Positioning volume TRCP     into the mother TRSL  
 CC ml 20/04/05:  
 CC* Positioning volume TRCP into mother TRPL  
 * Positioning volume TRCP into mother TRPB  
 *  
 c      N= 1  
 CC ml 20/04/05:  
 cc      Z= 0.  
 cc      Y= 0.  
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        Z=-0.005  
287        y=-0.225-TPAS(2)+TRCP(2)        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
288          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           X=-TPAS(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  
297             X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+
298         +      2*(I-1)*TRSL(1)
299  CC end ml  CC end ml
300  c         CALL GSPOS('TRCP',I,'TRPL',X,Y,Z,0,'ONLY')  cv         CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'MANY')
301  C #          CALL GSPOS('TRCP',I,'TRPB',X,Y,Z,0,'ONLY')             CALL GSPOS('TRCP',I,'TPA1',X,Y,Z,0,'MANY')
302           CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'ONLY')             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  
 c      X= -TRSL(1) + TRCP(1)  
 c      CALL GSPOS('TRCP',N,'TRSL',X,Y,Z,0,'ONLY')  
 C      N= 2  
 C      X= -X  
 C      CALL GSPOS('TRCP',N,'TRSL',X,Y,Z,0,'ONLY')  
 *****  
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 TRPL  
 * Positioning volume TRSL     into the mother TRPB  
 *  
 c ml: 26/11/04:  
 C      Y= 0.  
 cc      Y=THBP(2)  
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)  
313  C      Y=2.75        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
 CC      Z= 0.  
 C #       Z=-TRPB(3)+0.11+TRCP(3)  
       Z=-0.005  
314        DO I=1, NTRSL        DO I=1, NTRSL
315           X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
316       +        (2*(MOD(I-1,3)+1)-1)*TRSL(1)  
317             X=-TPAS(1)+TPASSPACE+2*(MOD(I-1,3)+1)*TRCP(1)+
318         +   (2*(MOD(I-1,3)+1)-1)*GLUEX+(2*(MOD(I-1,3)+1)-1)*TRSL(1)
319           IF(I.LE.3) THEN           IF(I.LE.3) THEN
320              Y=TPAS(2)-TRSL(2)  C ml: 22/9/05:
321    
322                Y=TPAS(2)-0.1485+0.0005-TRSL(2)
323           ELSE           ELSE
324              Y=TPAS(2)-3*TRSL(2)  
325                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 TRPL  
 * Positioning volume THBP     into the mother TRPB  
 *  
 cc      Y=-TRSL(2)  
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)  
378  C # cc      Z= 0.  c ml: 22/9/05:
379  C #       Z=-TRPB(3)+0.11+TRCP(3)  
380        Y=-TPAS(2)+THBP(2)        Y=-TPAS(2)+0.1485+THBP(2)
381        Z=-0.005  
382          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)  
385  C #          X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon
386           X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)  c       ladders
387  cc         CALL GSPOS('THBP',I,'TRPL',X,Y,Z,0,'ONLY')  
388  C #          CALL GSPOS('THBP',I,'TRPB',X,Y,Z,0,'ONLY')           X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+
389           CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'ONLY')       +      (2*(MOD(I-1,3)+1)-1)*GLUEX
390    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
400  *  *
401  * Positioning volume TPAI into the mother TRPB  * Positioning volume TPAI into the mother TPAS
402  *  *
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)
406        Z=-TPAS(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 207  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
 C #       X=-TRPB(1)+2.29+TPAS(1)  
 C #       Y=-TRPB(2)+1.5+TPAS(2)  
 C #       Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)  
       CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')  
 c end ml.  
423    
424    cv      CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')
425          CALL GSPOS('TPA1',1,'TRP1',X,Y,Z,0,'ONLY')
426          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.
432    *
433    * Positioning volume MGPA     into the mother MGPL
434    *
435          N= 1
436          X= 0.
437          Y= 0.
438          Z= 0.
439          CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')
440    *
441    * Positioning volume TPGD     into the mother MGFR
442    *
443          X=0.
444          Z=-MGFR(3)+TPGD(3)
445          Y=0.
446    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 MGPA
472        Z= 0.        Z= 0.
473        CALL GSPOS('MGPI',N,'MGPL',X,Y,Z,0,'ONLY')        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')
474    
475  *  *
476  * Positioning volume MGPL     into the mother MGFR  * Positioning volume MGPL     into the mother MGFR
477  *  *
478        CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')  c ml: 10/11/05
479  C Ml: 20/04/05:        N=1
480  c*        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)
481  c* Positioning volume TRPL     into the mother TRPB  cv      CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')
482  c*        CALL GSPOS('MGPL',1,'MGF1',X,Y,Z,0,'ONLY')    
483  c      N= 1        CALL GSPOS('MGPL',1,'MGF2',X,Y,Z,0,'ONLY')
484  c      Z= 0.        CALL GSPOS('MGPL',1,'MGF3',X,Y,Z,0,'ONLY')
485  c      CALL GSPOS('TRPL',N,'TRPB',X,Y,Z,0,'ONLY')        CALL GSPOS('MGPL',1,'MGF4',X,Y,Z,0,'ONLY')
486  c end ml.        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
502    *
503    C ML: 10/11/05
504          N=1
505          X=0.
506          Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)
507    
508          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)
509    
510    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        Y= SPEB(2) - TRPB(2)  
522        Z= SPEB(3) - TRPB(3)        Y= -MGFR(2) + TRPB(2)
523        CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  
524          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3))+TRPB(3)
525    
526    cv      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')
527          XX1=X+DXFLO(1)
528          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)
543        DO I=1, 5        DO I=1, 5
544           X= 0.           X= 0.
545           Y= 0.           Y= 0.
546           Z= Z - TRPB(3) - MGFR(3)  
547             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           Y= SPEB(2) - TRPB(2)           IF(N.EQ.1) CALL GSPOS('MGF1',1,'SPEB',X,Y,Z,0,'ONLY')
551           Z= Z - MGFR(3) - TRPB(3)           IF(N.EQ.2) CALL GSPOS('MGF2',1,'SPEB',X,Y,Z,0,'ONLY')
552           N= (I+1)           IF(N.EQ.3) CALL GSPOS('MGF3',1,'SPEB',X,Y,Z,0,'ONLY')
553           IF(I.EQ.5) THEN           IF(N.EQ.4) CALL GSPOS('MGF4',1,'SPEB',X,Y,Z,0,'ONLY')
554              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    
556             Z=Z-MGFR(3)
557          ENDDO
558          N=2
559          X=0.
560          Y=MGFR(2) - TRPB(2)
561          Z=Z-TRPB(3)
562          ZTRPB=Z
563    
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           ELSE
578              CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')              X=-(TRPB(1)-3.6-TBAL(1))
579           ENDIF           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        ENDDO
584  *  *
585    * Positioning volume TPGU     into the mother MGFR
586    *
587          X=0.
588    
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)
592    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.3  
changed lines
  Added in v.3.11

  ViewVC Help
Powered by ViewVC 1.1.23