/[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.8 by bottai, Tue May 2 12:02:43 2006 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.10 2006/12/01 12:25:51 cafagna Exp $
3  * $Id: gpspev.F,v 3.7 2005/12/16 10:20:23 cafagna Exp $  *
 *  
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  * Revision 3.7  2005/12/16 10:20:23  cafagna
15  * Bug fixed in the new update  * Bug fixed in the new update
16  *  *
17  * Revision 3.6  2005/12/16 09:13:59  cafagna  * Revision 3.6  2005/12/16 09:13:59  cafagna
18  * New small valume added to the tracker frame  * New small valume added to the tracker frame
19  *  *
20  * Revision 3.5  2005/12/13 10:31:29  pam-ba  * Revision 3.5  2005/12/13 10:31:29  pam-ba
21  * added a new volume, TPGI, in the spectrometer  * added a new volume, TPGI, in the spectrometer
22  *  *
23  * Revision 3.4  2005/12/05 12:15:21  pam-ba  * Revision 3.4  2005/12/05 12:15:21  pam-ba
24  * new spectrometer geometry and internal magnetic field  * 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  *  *
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  *  *
32  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna
33  * First GPAMELA release on CVS  * First GPAMELA release on CVS
34  *  *
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
38  *CMZ :  1.02/00 07/03/97  14.48.41  by  Francesco Cafagna  *CMZ :  1.02/00 07/03/97  14.48.41  by  Francesco Cafagna
39  *CMZ :  1.00/02 06/02/96  17.34.50  by  Francesco Cafagna  *CMZ :  1.00/02 06/02/96  17.34.50  by  Francesco Cafagna
40  *-- Author :    Francesco Cafagna   09/12/95  *-- Author :    Francesco Cafagna   09/12/95
41        SUBROUTINE GPSPEV        SUBROUTINE GPSPEV
42  ************************************************************************  ************************************************************************
43  *                                                                      *  *                                                                      *
44  * Volumes definition for the silicon tracking system and magnet        *  * Volumes definition for the silicon tracking system and magnet        *
45  * Called by: GPGEM                                                     *  * Called by: GPGEM                                                     *
46  * Author: Francesco Cafagna, 05/12/95 13.39.41                         *  * Author: Francesco Cafagna, 05/12/95 13.39.41                         *
47  *                                                                      *  *                                                                      *
48  ************************************************************************  ************************************************************************
49  #include "gpgeo.inc"  #include "gpgeo.inc"
50  #include "gpmed.inc"  #include "gpmed.inc"
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  *  Define the SPEB     volume        REAL ROWMAT(3)
56  *        REAL OMEGA(36),BETA(36),GAMMA(36)
57        NMED= MN2        REAL DX(36),DY(36),DZ(36)
58        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)        REAL DXFLO(6),DYFLO(6),DZFLO(6)
59  *        CHARACTER*19 FILEALLI
60  *  Define the MGFR     volume        LOGICAL ROTATE
61  *  c
62        NMED= MAL  c
63        CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)  
64  *  cv
65  *  Define the MGPL     volume  cv
66  *        DO IK=1,6
67        NMED= MMAG  
68        CALL GSVOLU('MGPL','BOX ',NMED,MGPL, 3,IVOLU)        IF(IK.EQ.1)  FILEALLI='parameters_l1s2.dat'
69  *        IF(IK.EQ.2)  FILEALLI='parameters_l2s2.dat'
70  *  Define the MGPI     volume        IF(IK.EQ.3)  FILEALLI='parameters_l3s2.dat'
71  *        IF(IK.EQ.4)  FILEALLI='parameters_l1s1.dat'
72        NMED= MN2        IF(IK.EQ.5)  FILEALLI='parameters_l2s1.dat'
73        CALL GSVOLU('MGPI','BOX ',NMED,MGPI, 3,IVOLU)        IF(IK.EQ.6)  FILEALLI='parameters_l3s1.dat'
74  *        
75  *  Define the TRPB     volume        write(6,*) 'OPEN ',FILEALLI
76  *        OPEN(91,file=FILEALLI,status='old')
77        NMED= MAL        DO IH=1,6
78        CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)          II=(6-IH)*6+IK
79  *****          READ(91,*) OMEGA(II)
80  cC ml 20/04/05:          READ(91,*) BETA(II)
81  *          READ(91,*) GAMMA(II)
82  cc*  Define the TRPL     volume          READ(91,*) DX(II)
83  *  Define the TPAS and TPAI volume          READ(91,*) DY(II)
84  *          READ(91,*) DZ(II)
85        NMED= MN2        ENDDO
86  CC      CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)        
87        CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)        CLOSE(91)
88        NMED= MAL        
89        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)        ENDDO
90  CC end ml.      
91  ****************        DO IJ=1,6
92  *         DXFLO(IJ)=0.
93  *  Define the TRSL     volume         DYFLO(IJ)=0.
94  *         DO IL=1,6
95  c ml: 26/11/04:          II=(IJ-1)*6+IL
96  c      NMED= MN2          DXFLO(IJ)=DXFLO(IJ)+DX(II)
97        NMED=MSIT          DYFLO(IJ)=DYFLO(IJ)+DY(II)
98        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)         ENDDO
99  *         DXFLO(IJ)=DXFLO(IJ)/6.
100  * Define the THBP volume         DYFLO(IJ)=DYFLO(IJ)/6.
101  *        ENDDO
102        NMED=MG10C        
103        CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)        DO IJ=1,6
104  C end ml.         DO IL=1,6
105  *          II=(IJ-1)*6+IL
106  *  Define the TSPA     volume          DX(II)=( DX(II)-DXFLO(IJ) )*1.E-4
107  *          DY(II)=( DY(II)-DYFLO(IJ) )*1.E-4
108        NMED= MSIT          DZ(II)=(DZ(II)-100.)*1.E-4
109        CALL GSVOLU('TSPA','BOX ',NMED,TSPA, 3,IVOLU)         ENDDO
110  *         DXFLO(IJ)=DXFLO(IJ)*1.E-4
111  *  Define the TRCP     volume         DYFLO(IJ)=DYFLO(IJ)*1.E-4
112  *        ENDDO
113        NMED= MCF  
114        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)        
115  *        DO IJ=1,6
116  *  Define the TBAL     volume         DO IL=1,6
117  *         II=(IJ-1)*6+IL      
118        NMED= MAL         OMEGA_1=OMEGA(II)*1.E-6
119        CALL GSVOLU('TBAL','BOX ',NMED,TBAL, 3,IVOLU)         BETA_1=BETA(II)*1.E-6
120  *         GAMMA_1=GAMMA(II)*1.E-6
121  *  Define the MGPA     volume  c
122  *  c
123        NMED= MAL         IF(IJ.EQ.6) THEN
124        CALL GSVOLU('MGPA','BOX ',NMED,MGPA, 3,IVOLU)          OMEGA_1=-OMEGA_1
125  *          BETA_1=BETA_1
126  *  Define the TPGA     volume          GAMMA_1=-GAMMA_1
127  *         ENDIF
128        NMED= MN2  
129        CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)  
130  *  
131  *  Define the TPGI     volume         ROWMAT(1)=1.
132  *         ROWMAT(2)=OMEGA_1
133        NMED= MN2         ROWMAT(3)=-GAMMA_1
134        CALL GSVOLU('TPGI','BOX ',NMED,TPGI, 3,IVOLU)         CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
135  *         THETA1=ATAN2(SINTH,COSTH)/acos(-1.)*180.
136  *  Define the TPGU     volume         PHI1=ATAN2(SINPH,COSPH)/acos(-1.)*180.
137  *      
138        NMED= MN2         ROWMAT(1)=-OMEGA_1
139        CALL GSVOLU('TPGU','BOX ',NMED,TPGU, 3,IVOLU)         ROWMAT(2)=1.
140  *         ROWMAT(3)=BETA_1
141  *  Define the TPGD     volume  
142  *         CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
143        NMED= MN2         THETA2=ATAN2(SINTH,COSTH)/acos(-1.)*180.
144        CALL GSVOLU('TPGD','BOX ',NMED,TPGD, 3,IVOLU)         PHI2=ATAN2(SINPH,COSPH)/acos(-1.)*180.
145    
146  *         ROWMAT(1)=GAMMA_1
147  * Positioning volume TSPA     into the mother TRSL         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
163    *
164          NMED= MN2
165          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
179    *
180          NMED= MMAG
181          CALL GSVOLU('MGPL','BOX ',NMED,MGPL, 3,IVOLU)
182    *
183    *  Define the MGPI     volume
184    *
185          NMED= MN2
186          CALL GSVOLU('MGPI','BOX ',NMED,MGPI, 3,IVOLU)
187    *
188    *  Define the TRPB     volume
189    *
190          NMED= MAL
191    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    cc*  Define the TRPL     volume
202    *  Define the TPAS and TPAI volume
203    *
204          NMED= MN2
205    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
218    *
219    c ml: 26/11/04:
220    c      NMED= MN2
221          NMED=MSIT
222          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
231    *
232          NMED= MSIT
233          CALL GSVOLU('TSPA','BOX ',NMED,TSPA, 3,IVOLU)
234    *
235    *  Define the TRCP     volume
236    *
237          NMED= MCF
238          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
272    *
273        GLUEX=XGLUE-0.0005        GLUEX=XGLUE-0.0005
274        GLUEY=XGLUE        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  
281  C # C      Y= Y - 2.*TSPA(2)  c ml: 26/11/04:
282  C #       Y=-TRSL(2)/2  * Positioning volume TRCP into mother TPAS
283  C #       CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
284  c ml: 26/11/04:  
285  * Positioning volume TRCP into mother TPAS  CC end ml.
286  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  
287  C #       Z=-TRPB(3)+0.11+TRCP(3)        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
288  C #       Y=-TRPB(2)+1.5-0.225+TRCP(2)        y=-TPAS(2)+TRCP(2)
289  CC end ml.  C # end CAF mod
290  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)        TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*GLUEX)
291        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        DO I=1,4
292        y=-TPAS(2)+TRCP(2)  CC ml 20/04/05:        
293  C # end CAF mod  C Ml. 15/12/05: introducing a space (along x) between the inner part of the
294        TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*GLUEX)  c  aluminum frame and respectively the first and the last carbon fiber barrel.
295        DO I=1,4  c It is has been done increasing the dimension of TPAS along x:
296  CC ml 20/04/05:          
297  CC         X=-TRPL(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)           X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+
298  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one       +      2*(I-1)*TRSL(1)
299  C #          X=-TRPB(1)+2.29+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  CC end ml
300  c ml: 19/9/05: introducing the glue between TRCP and the silicon ladders.  cv         CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'MANY')
301  c              for now the glue is a space of nitrogen of 0.015 mm             CALL GSPOS('TRCP',I,'TPA1',X,Y,Z,0,'MANY')
302  c         X=-TPAS(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)             CALL GSPOS('TRCP',I,'TPA2',X,Y,Z,0,'MANY')
303  C Ml. 15/12/05: introducing a space (along x) between the inner part of the             CALL GSPOS('TRCP',I,'TPA3',X,Y,Z,0,'MANY')
304  c  aluminum frame and respectively the first and the last carbon fiber barrel.             CALL GSPOS('TRCP',I,'TPA4',X,Y,Z,0,'MANY')
305  c It is has been done increasing the dimension of TPAS along x:             CALL GSPOS('TRCP',I,'TPA5',X,Y,Z,0,'MANY')
306  C         X=-TPAS(1)+2*(I-1)*XGLUE+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)             CALL GSPOS('TRCP',I,'TPA6',X,Y,Z,0,'MANY')
307           X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+  C # end CAF mod
308       +      2*(I-1)*TRSL(1)        ENDDO  
309  CC end ml  cc ml 20/04/05:
310           CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'ONLY')  * Positioning volume TRSL     into the mother TPAS
311  C # end CAF mod  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
312        ENDDO    
313  cc ml 20/04/05:        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
314  * Positioning volume TRSL     into the mother TPAS        DO I=1, NTRSL
315  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
316  C #       Y=-TRPB(2)+1.5+2*THBP(2)+TRSL(2)  
317  C      Y=2.75           X=-TPAS(1)+TPASSPACE+2*(MOD(I-1,3)+1)*TRCP(1)+
318  CC      Z= 0.       +   (2*(MOD(I-1,3)+1)-1)*GLUEX+(2*(MOD(I-1,3)+1)-1)*TRSL(1)
319  C      Z=-0.005           IF(I.LE.3) THEN
320  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)  C ml: 22/9/05:
321        Z=TRPB(3)-2*TPAI(3)-TRCP(3)  
322        DO I=1, NTRSL              Y=TPAS(2)-0.1485+0.0005-TRSL(2)
323  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.           ELSE
324  c         X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+  
325  c     +        (2*(MOD(I-1,3)+1)-1)*TRSL(1)              Y=TPAS(2)-0.1485-GLUEY-3*TRSL(2)
326             ENDIF
327    
328           X=-TPAS(1)+TPASSPACE+2*(MOD(I-1,3)+1)*TRCP(1)+  cv        X=X+DX_1
329       +   (2*(MOD(I-1,3)+1)-1)*GLUEX+(2*(MOD(I-1,3)+1)-1)*TRSL(1)          cv        Y=Y+DY_1
330           IF(I.LE.3) THEN  cv        Z=Z+DZ_1
331  C ml: 22/9/05:  cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,51,'ONLY')
332  c            Y=TPAS(2)-TRSL(2)  cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')
333              Y=TPAS(2)-0.1485+0.0005-TRSL(2)             X1=X+DX(I)
334           ELSE             Y1=Y+DY(I)
335  C            Y=TPAS(2)-3*TRSL(2)             Z1=Z+DZ(I)
336              Y=TPAS(2)-0.1485-GLUEY-3*TRSL(2)             IIRR=50+I
337           ENDIF             CALL GSPOS('TRSL',I,'TPA1',X1,Y1,Z1,IIRR,'ONLY')
338           CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')  
339        ENDDO             X2=X+DX(NTRSL+I)
340  C # end CAF mod             Y2=Y+DY(NTRSL+I)
341  **********             Z2=Z+DZ(NTRSL+I)
342  cc ml: 20/04/05             IIRR=50+NTRSL+I
343  * Positioning volume THBP     into the mother TPAS             CALL GSPOS('TRSL',NTRSL+I,'TPA2',X2,Y2,Z2,IIRR,'ONLY')
344  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  
345  C #       Y=-TRPB(2)+1.5+THBP(2)             X3=X+DX(2*NTRSL+I)
346  C # cc      Z= 0.             Y3=Y+DY(2*NTRSL+I)
347  C #       Z=-TRPB(3)+0.11+TRCP(3)             Z3=Z+DZ(2*NTRSL+I)
348  c ml: 22/9/05:             IIRR=50+2*NTRSL+I
349  c      Y=-TPAS(2)+THBP(2)             CALL GSPOS('TRSL',2*NTRSL+I,'TPA3',X3,Y3,Z3,IIRR,'ONLY')
350        Y=-TPAS(2)+0.1485+THBP(2)  
351  C      Z=-0.005  
352  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)             X4=X+DX(3*NTRSL+I)
353        Z=TRPB(3)-2*TPAI(3)-TRCP(3)             Y4=Y+DY(3*NTRSL+I)
354        DO I=1, NTHBP             Z4=Z+DZ(3*NTRSL+I)
355  CC         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*THBP(1)             IIRR=50+3*NTRSL+I
356  C #          X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)             CALL GSPOS('TRSL',3*NTRSL+I,'TPA4',X4,Y4,Z4,IIRR,'ONLY')
357  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon  
358  c       ladders             X5=X+DX(4*NTRSL+I)
359  c         X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)             Y5=Y+DY(4*NTRSL+I)
360           X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+             Z5=Z+DZ(4*NTRSL+I)
361       +      (2*(MOD(I-1,3)+1)-1)*GLUEX             IIRR=50+4*NTRSL+I
362           CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'ONLY')             CALL GSPOS('TRSL',4*NTRSL+I,'TPA5',X5,Y5,Z5,IIRR,'ONLY')
363        ENDDO  
364  c end ml.             IF(I.LE.3) KK=3+I
365  cc ml: 20/04/05             IF(I.GE.4) KK=I-3
366  *             X6=X+DX(5*NTRSL+KK)
367  * Positioning volume TPAI into the mother TPAS             Y6=Y-DY(5*NTRSL+KK)
368  *             Z6=Z-DZ(5*NTRSL+KK)    
369  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS             IIRR=50+5*NTRSL+KK
370        X=0             CALL GSPOS('TRSL',5*NTRSL+I,'TPA6',X6,Y6,Z6,IIRR,'ONLY')
371        Y=-TPAS(2)+TPAI(2)        ENDDO
372  c      Z=-TPAS(3)+TPAI(3)  C # end CAF mod
373        Z=TRPB(3)-TPAI(3)  **********
374  C #       X=-TRPB(1)+2.29+TPAI(1)  cc ml: 20/04/05
375  C #       Y=-TRPB(2)+1.5+2.5+TPAI(2)  * Positioning volume THBP     into the mother TPAS
376  C #       Z=-TRPB(3)+TPAI(3)  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
377        CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'ONLY')  
378  C # end CAF mod  c ml: 22/9/05:
379  *  
380  * Positioning volume TPAS into the mother TRPB        Y=-TPAS(2)+0.1485+THBP(2)
381  *  
382  C # Mod By Caf on 15th Jul 2005        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
383        X=0        DO I=1, NTHBP
384        Y=-TRPB(2)+1.5+TPAS(2)  
385        Z=0  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon
386  C #       X=-TRPB(1)+2.29+TPAS(1)  c       ladders
387  C #       Y=-TRPB(2)+1.5+TPAS(2)  
388  C #       Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)           X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+
389        CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')       +      (2*(MOD(I-1,3)+1)-1)*GLUEX
390  c end ml.  cv         CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'MANY')
391  *          CALL GSPOS('THBP',I,'TPA1',X,Y,Z,0,'MANY')
392  * Positioning volume MGPA     into the mother MGPL          CALL GSPOS('THBP',I,'TPA2',X,Y,Z,0,'MANY')
393  *          CALL GSPOS('THBP',I,'TPA3',X,Y,Z,0,'MANY')
394        N= 1          CALL GSPOS('THBP',I,'TPA4',X,Y,Z,0,'MANY')
395        X= 0.          CALL GSPOS('THBP',I,'TPA5',X,Y,Z,0,'MANY')
396        Y= 0.          CALL GSPOS('THBP',I,'TPA6',X,Y,Z,0,'MANY')
397        Z= 0.        ENDDO
398        CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')  c end ml.
399  *  cc ml: 20/04/05
400  * Positioning volume TPGD     into the mother MGFR  *
401  *  * Positioning volume TPAI into the mother TPAS
402        X=0.  *
403        Z=-MGFR(3)+TPGD(3)  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS
404        Y=0.        X=0
405        CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')        Y=-TPAS(2)+TPAI(2)
406  *        Z=TRPB(3)-TPAI(3)
407  * Positioning volume TPGI     into the mother MGFR under MGPL  
408  *  cv      CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'MANY')
409        N=1        CALL GSPOS('TPAI',1,'TPA1',X,Y,Z,0,'MANY')
410        X=0.        CALL GSPOS('TPAI',1,'TPA2',X,Y,Z,0,'MANY')
411        Z=-MGFR(3)+2*TPGD(3)+TPGI(3)        CALL GSPOS('TPAI',1,'TPA3',X,Y,Z,0,'MANY')
412        Y=0.        CALL GSPOS('TPAI',1,'TPA4',X,Y,Z,0,'MANY')
413        CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')        CALL GSPOS('TPAI',1,'TPA5',X,Y,Z,0,'MANY')
414  *        CALL GSPOS('TPAI',1,'TPA6',X,Y,Z,0,'MANY')
415  * Positioning volume MGPI     into the mother MGPL  C # end CAF mod
416  *  *
417        N= 1  * Positioning volume TPAS into the mother TRPB
418        X= 0.  *
419        Y= 0.  C # Mod By Caf on 15th Jul 2005
420  CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA        X=0
421        Z= 0.        Y=-TRPB(2)+1.5+TPAS(2)
422        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')        Z=0
423  C      Z= -MGFR(3)+2*TPGD(3)+MGPI(3)  
424  C      CALL GSPOS('MGPI',N,'MGFR',X,Y,Z,0,'ONLY')  cv      CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')
425  *        CALL GSPOS('TPA1',1,'TRP1',X,Y,Z,0,'ONLY')
426  * Positioning volume MGPL     into the mother MGFR        CALL GSPOS('TPA2',1,'TRP2',X,Y,Z,0,'ONLY')
427  *        CALL GSPOS('TPA3',1,'TRP3',X,Y,Z,0,'ONLY')
428  c ml: 10/11/05        CALL GSPOS('TPA4',1,'TRP4',X,Y,Z,0,'ONLY')
429        N=1        CALL GSPOS('TPA5',1,'TRP5',X,Y,Z,0,'ONLY')
430  c      Z=-MGFR(3)+MGPL(3)        CALL GSPOS('TPA6',1,'TRP6',X,Y,Z,0,'ONLY')
431        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)  c end ml.
432        CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')  *
433  *  * Positioning volume MGPA     into the mother MGPL
434  * Positioning volume TPGI     into the mother MGFR above MGPL  *
435  *        N= 1
436        N=2        X= 0.
437        X=0.        Y= 0.
438        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)        Z= 0.
439        Y=0.        CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')
440        CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')  *
441  *  * Positioning volume TPGD     into the mother MGFR
442  * Positioning volume TPGA     into the mother MGFR  *
443  *        X=0.
444  C ML: 10/11/05        Z=-MGFR(3)+TPGD(3)
445        N=1        Y=0.
446        X=0.  cv      CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')
447        Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)        CALL GSPOS('TPGD',1,'MGF1',X,Y,Z,0,'ONLY')
448  C      Z=-MGFR(3)+2*MGPL(3)+TPGA(3)        CALL GSPOS('TPGD',1,'MGF2',X,Y,Z,0,'ONLY')
449  C      Z=MGFR(3)-2*TPGU(3)-2*TRPB(3)-TPGA(3)        CALL GSPOS('TPGD',1,'MGF3',X,Y,Z,0,'ONLY')
450        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)        CALL GSPOS('TPGD',1,'MGF4',X,Y,Z,0,'ONLY')
451  C      Y=-0.75        CALL GSPOS('TPGD',1,'MGF5',X,Y,Z,0,'ONLY')
452        CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')  *
453  *  * Positioning volume TPGI     into the mother MGFR under MGPL
454  * Positioning volumes TRPB & MGPL into the mother SPEB  *
455  *        N=1
456        N= 1        X=0.
457        X= 0.        Z=-MGFR(3)+2*TPGD(3)+TPGI(3)
458  C      Y= SPEB(2) - TRPB(2)        Y=0.
459        Y= -MGFR(2) + TRPB(2)  cv      CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
460  C      Z= SPEB(3) - TRPB(3)        CALL GSPOS('TPGI',1,'MGF1',X,Y,Z,0,'ONLY')
461  c      Z=-MGFR(3)+2*MGPL(3)+2*TPGA(3)+TRPB(3)        CALL GSPOS('TPGI',1,'MGF2',X,Y,Z,0,'ONLY')
462  C      Z=MGFR(3)-2*TPGU(3)-TRPB(3)        CALL GSPOS('TPGI',1,'MGF3',X,Y,Z,0,'ONLY')
463        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3))+TRPB(3)        CALL GSPOS('TPGI',1,'MGF4',X,Y,Z,0,'ONLY')
464  C      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')        CALL GSPOS('TPGI',1,'MGF5',X,Y,Z,0,'ONLY')
465        CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')  *
466  c      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,9,'ONLY')  * Positioning volume MGPI     into the mother MGPL
467        Z=SPEB(3)  *
468        DO I=1, 5        N= 1
469           X= 0.        X= 0.
470           Y= 0.        Y= 0.
471  C         Z= Z - TRPB(3) - MGFR(3)  CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA
472           Z=Z-MGFR(3)        Z= 0.
473           N= I        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')
474           CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')  
475  C         Y= SPEB(2) - TRPB(2)  *
476  C         Z= Z - MGFR(3) - TRPB(3)  * Positioning volume MGPL     into the mother MGFR
477  C         N= (I+1)  *
478  C         IF(I.EQ.5) THEN  c ml: 10/11/05
479  CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')        N=1
480  C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,10,'ONLY')        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)
481  C         ELSE  cv      CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')
482  CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')        CALL GSPOS('MGPL',1,'MGF1',X,Y,Z,0,'ONLY')    
483  C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')        CALL GSPOS('MGPL',1,'MGF2',X,Y,Z,0,'ONLY')
484  C         ENDIF        CALL GSPOS('MGPL',1,'MGF3',X,Y,Z,0,'ONLY')
485           Z=Z-MGFR(3)        CALL GSPOS('MGPL',1,'MGF4',X,Y,Z,0,'ONLY')
486        ENDDO        CALL GSPOS('MGPL',1,'MGF5',X,Y,Z,0,'ONLY')
487        N=2  *
488        X=0.  * Positioning volume TPGI     into the mother MGFR above MGPL
489        Y=MGFR(2) - TRPB(2)  *
490        Z=Z-TRPB(3)        N=2
491        ZTRPB=Z        X=0.
492  c      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,4,'ONLY')        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)
493        CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')        Y=0.
494  *  cv      CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
495  * Positioning volume TBAL into the mother SPEB        CALL GSPOS('TPGI',2,'MGF1',X,Y,Z,0,'ONLY')    
496  *        CALL GSPOS('TPGI',2,'MGF2',X,Y,Z,0,'ONLY')
497        DO I=1,2        CALL GSPOS('TPGI',2,'MGF3',X,Y,Z,0,'ONLY')
498  C DTBAL is the distance along x of the volumes TBAL from the end of TRPB        CALL GSPOS('TPGI',2,'MGF4',X,Y,Z,0,'ONLY')
499           DTBAL=3.6        CALL GSPOS('TPGI',2,'MGF5',X,Y,Z,0,'ONLY')
500           N=I  *
501           IF(I.EQ.1) THEN  * Positioning volume TPGA     into the mother MGFR
502              X=TRPB(1)-3.6-TBAL(1)  *
503           ELSE  C ML: 10/11/05
504              X=-(TRPB(1)-3.6-TBAL(1))        N=1
505           ENDIF        X=0.
506           Y=MGFR(2) - 2*TRPB(2)-TBAL(2)        Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)
507           Z=ZTRPB  
508           CALL GSPOS('TBAL',N,'SPEB',X,Y,Z,0,'ONLY')        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)
509        ENDDO  
510  *  cv      CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')
511  * Positioning volume TPGU     into the mother MGFR        CALL GSPOS('TPGA',1,'MGF1',X,Y,Z,0,'ONLY')
512  *        CALL GSPOS('TPGA',1,'MGF2',X,Y,Z,0,'ONLY')
513        X=0.        CALL GSPOS('TPGA',1,'MGF3',X,Y,Z,0,'ONLY')
514  C      Z=MGFR(3)-TPGU(3)        CALL GSPOS('TPGA',1,'MGF4',X,Y,Z,0,'ONLY')
515        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3)+TRPB(3))+        CALL GSPOS('TPGA',1,'MGF5',X,Y,Z,0,'ONLY')
516       +   TPGU(3)        *
517        Y=-MGFR(2)+TRPB(2)  * Positioning volumes TRPB & MGPL into the mother SPEB
518        CALL GSPOS('TPGU',N,'MGFR',X,Y,Z,0,'ONLY')  *
519  *        N= 1
520        RETURN        X= 0.
521        END  
522          Y= -MGFR(2) + TRPB(2)
523    
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
544             X= 0.
545             Y= 0.
546    
547             Z=Z-MGFR(3)
548             N= I
549    CV         CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')
550             IF(N.EQ.1) CALL GSPOS('MGF1',1,'SPEB',X,Y,Z,0,'ONLY')
551             IF(N.EQ.2) CALL GSPOS('MGF2',1,'SPEB',X,Y,Z,0,'ONLY')
552             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
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
600          END

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

  ViewVC Help
Powered by ViewVC 1.1.23