/[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.1.1.1 by cafagna, Thu Jul 11 16:02:14 2002 UTC revision 3.11 by pam-fi, Fri Apr 23 10:04:13 2010 UTC
# Line 1  Line 1 
1  *  *
2  * $Id$  * $Id: gpspev.F,v 3.10 2006/12/01 12:25:51 cafagna Exp $
3    *
4    * $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
30    * Major modification to the geometry and to the random number chain
31    *
32    * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna
33    * First GPAMELA release on CVS
34  *  *
 * $Log$  
35  *  *
36  *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
37  *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 21  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  *  *
164        NMED= MN2        NMED= MN2
165        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)
166  *  *
167    *  Define the MGFR     volume
168    *
169          NMED= MAL
170    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  *  *
180        NMED= MMAG        NMED= MMAG
# Line 40  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:
200  *  *
201  *  Define the TRPL     volume  cc*  Define the TRPL     volume
202    *  Define the TPAS and TPAI volume
203  *  *
204        NMED= MN2        NMED= MN2
205        CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)  cv      CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)
206          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
213          CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)
214    CC end ml.
215    ****************
216  *  *
217  *  Define the TRSL     volume  *  Define the TRSL     volume
218  *  *
219        NMED= MN2  c ml: 26/11/04:
220    c      NMED= MN2
221          NMED=MSIT
222        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)
223  *  *
224    * Define the THBP volume
225    *
226          NMED=MG10C
227          CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)
228    C end ml.
229    *
230  *  Define the TSPA     volume  *  Define the TSPA     volume
231  *  *
232        NMED= MSIT        NMED= MSIT
# Line 62  Line 237 
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.
277        Y= TRSL(2) - TSPA(2)        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        N= 2  
281        Y= Y - 2.*TSPA(2)  c ml: 26/11/04:
282        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')  * Positioning volume TRCP into mother TPAS
283    C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
284    
285    CC end ml.
286    
287          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
288          y=-TPAS(2)+TRCP(2)
289    C # end CAF mod
290          TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*GLUEX)
291          DO I=1,4
292    CC ml 20/04/05:        
293    C Ml. 15/12/05: introducing a space (along x) between the inner part of the
294    c  aluminum frame and respectively the first and the last carbon fiber barrel.
295    c It is has been done increasing the dimension of TPAS along x:
296    
297             X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+
298         +      2*(I-1)*TRSL(1)
299    CC end ml
300    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
308          ENDDO  
309    cc ml 20/04/05:
310    * Positioning volume TRSL     into the mother TPAS
311    C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
312    
313          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
314          DO I=1, NTRSL
315    c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
316    
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
320    C ml: 22/9/05:
321    
322                Y=TPAS(2)-0.1485+0.0005-TRSL(2)
323             ELSE
324    
325                Y=TPAS(2)-0.1485-GLUEY-3*TRSL(2)
326             ENDIF
327    
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
372    C # end CAF mod
373    **********
374    cc ml: 20/04/05
375    * Positioning volume THBP     into the mother TPAS
376    C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
377    
378    c ml: 22/9/05:
379    
380          Y=-TPAS(2)+0.1485+THBP(2)
381    
382          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
383          DO I=1, NTHBP
384    
385    c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon
386    c       ladders
387    
388             X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+
389         +      (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
398    c end ml.
399    cc ml: 20/04/05
400  *  *
401  * Positioning volume TRCP     into the mother TRSL  * Positioning volume TPAI into the mother TPAS
402  *  *
403        N= 1  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS
404        Z= 0.        X=0
405        Y= 0.        Y=-TPAS(2)+TPAI(2)
406        X= -TRSL(1) + TRCP(1)        Z=TRPB(3)-TPAI(3)
407        CALL GSPOS('TRCP',N,'TRSL',X,Y,Z,0,'ONLY')  
408        N= 2  cv      CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'MANY')
409        X= -X        CALL GSPOS('TPAI',1,'TPA1',X,Y,Z,0,'MANY')
410        CALL GSPOS('TRCP',N,'TRSL',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
416    *
417    * Positioning volume TPAS into the mother TRPB
418    *
419    C # Mod By Caf on 15th Jul 2005
420          X=0
421          Y=-TRPB(2)+1.5+TPAS(2)
422          Z=0
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 TRSL     into the mother TRPL  * Positioning volume MGPA     into the mother MGPL
434  *  *
435          N= 1
436          X= 0.
437        Y= 0.        Y= 0.
438        Z= 0.        Z= 0.
439        DO I=1, NTRSL        CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')
440           X= -TRPL(1) + TRSL(1) +2.*(I-1)*TRSL(1)  *
441           CALL GSPOS('TRSL',I,'TRPL',X,Y,Z,0,'ONLY')  * Positioning volume TPGD     into the mother MGFR
442        ENDDO  *
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 TRPL     into the mother TRPB  * Positioning volume MGPL     into the mother MGFR
477  *  *
478        N= 1  c ml: 10/11/05
479        Z= 0.        N=1
480        CALL GSPOS('TRPL',N,'TRPB',X,Y,Z,0,'ONLY')        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)
481    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
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= 0.  
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           Z= Z - TRPB(3) - MGPL(3)           X= 0.
545             Y= 0.
546    
547             Z=Z-MGFR(3)
548           N= I           N= I
549           CALL GSPOS('MGPL',N,'SPEB',X,Y,Z,0,'ONLY')  CV         CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')
550           Z= Z - MGPL(3) - TRPB(3)           IF(N.EQ.1) CALL GSPOS('MGF1',1,'SPEB',X,Y,Z,0,'ONLY')
551           N= (I+1)           IF(N.EQ.2) CALL GSPOS('MGF2',1,'SPEB',X,Y,Z,0,'ONLY')
552           CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')           IF(N.EQ.3) CALL GSPOS('MGF3',1,'SPEB',X,Y,Z,0,'ONLY')
553             IF(N.EQ.4) CALL GSPOS('MGF4',1,'SPEB',X,Y,Z,0,'ONLY')
554             IF(N.EQ.5) CALL GSPOS('MGF5',1,'SPEB',X,Y,Z,0,'ONLY')
555    
556             Z=Z-MGFR(3)
557        ENDDO        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
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
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.1.1.1  
changed lines
  Added in v.3.11

  ViewVC Help
Powered by ViewVC 1.1.23