/[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.7 by cafagna, Fri Dec 16 10:20:23 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.10 2006/12/01 12:25:51 cafagna Exp $
3  * $Id: gpspev.F,v 3.6 2005/12/16 09:13:59 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
15    * 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        N= 1  
150        X= 0.         CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
151        Y= 0.         THETA3=ATAN2(SINTH,COSTH)/acos(-1.)*180.
152        Z= 0.         PHI3=ATAN2(SINPH,COSPH)/acos(-1.)*180.
153        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')  
154  C #       N= 2         write(6,*) 'GSROTM(50+II)',50+II,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3
155  C # C      Y= Y - 2.*TSPA(2)         IIKROT=50+II
156  C #       Y=-TRSL(2)/2         CALL GSROTM(IIKROT,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3)
157  C #       CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')        
158  c ml: 26/11/04:         ENDDO
159  * Positioning volume TRCP into mother TPAS        ENDDO
160  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  
161  C #       Z=-TRPB(3)+0.11+TRCP(3)  *
162  C #       Y=-TRPB(2)+1.5-0.225+TRCP(2)  *  Define the SPEB     volume
163  CC end ml.  *
164  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)        NMED= MN2
165        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)
166        y=-0.225-TPAS(2)+TRCP(2)  *
167  C # end CAF mod  *  Define the MGFR     volume
168        TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*XGLUE)  *
169        DO I=1,4        NMED= MAL
170  CC ml 20/04/05:          cv      CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)
171  CC         X=-TRPL(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)        CALL GSVOLU('MGF1','BOX ',NMED,MGFR, 3,IVOLU)
172  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one        CALL GSVOLU('MGF2','BOX ',NMED,MGFR, 3,IVOLU)
173  C #          X=-TRPB(1)+2.29+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)        CALL GSVOLU('MGF3','BOX ',NMED,MGFR, 3,IVOLU)
174  c ml: 19/9/05: introducing the glue between TRCP and the silicon ladders.        CALL GSVOLU('MGF4','BOX ',NMED,MGFR, 3,IVOLU)
175  c              for now the glue is a space of nitrogen of 0.015 mm        CALL GSVOLU('MGF5','BOX ',NMED,MGFR, 3,IVOLU)
176  c         X=-TPAS(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)      
177  C Ml. 15/12/05: introducing a space (along x) between the inner part of the  *
178  c  aluminum frame and respectively the first and the last carbon fiber barrel.  *  Define the MGPL     volume
179  c It is has been done increasing the dimension of TPAS along x:  *
180  C         X=-TPAS(1)+2*(I-1)*XGLUE+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)        NMED= MMAG
181           X=-TPAS(1)+TPASSPACE+2*(I-1)*XGLUE+(2*I-1)*TRCP(1)+        CALL GSVOLU('MGPL','BOX ',NMED,MGPL, 3,IVOLU)
182       +      2*(I-1)*TRSL(1)  *
183  CC end ml  *  Define the MGPI     volume
184           CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'ONLY')  *
185  C # end CAF mod        NMED= MN2
186        ENDDO          CALL GSVOLU('MGPI','BOX ',NMED,MGPI, 3,IVOLU)
187  cc ml 20/04/05:  *
188  * Positioning volume TRSL     into the mother TPAS  *  Define the TRPB     volume
189  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  *
190  C #       Y=-TRPB(2)+1.5+2*THBP(2)+TRSL(2)        NMED= MAL
191  C      Y=2.75  cv      CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)
192  CC      Z= 0.        CALL GSVOLU('TRP1','BOX ',NMED,TRPB, 3,IVOLU)
193  C      Z=-0.005        CALL GSVOLU('TRP2','BOX ',NMED,TRPB, 3,IVOLU)
194  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)        CALL GSVOLU('TRP3','BOX ',NMED,TRPB, 3,IVOLU)
195        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        CALL GSVOLU('TRP4','BOX ',NMED,TRPB, 3,IVOLU)
196        DO I=1, NTRSL        CALL GSVOLU('TRP5','BOX ',NMED,TRPB, 3,IVOLU)
197  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.        CALL GSVOLU('TRP6','BOX ',NMED,TRPB, 3,IVOLU)            
198  c         X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+  *****
199  c     +        (2*(MOD(I-1,3)+1)-1)*TRSL(1)  cC ml 20/04/05:
200           X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+  *
201       +   (2*(MOD(I-1,3)+1)-1)*XGLUE+(2*(MOD(I-1,3)+1)-1)*TRSL(1)          cc*  Define the TRPL     volume
202           IF(I.LE.3) THEN  *  Define the TPAS and TPAI volume
203  C ml: 22/9/05:  *
204  c            Y=TPAS(2)-TRSL(2)        NMED= MN2
205              Y=TPAS(2)-0.1485-TRSL(2)  cv      CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)
206           ELSE        CALL GSVOLU('TPA1','BOX ',NMED,TPAS, 3,IVOLU)
207  C            Y=TPAS(2)-3*TRSL(2)        CALL GSVOLU('TPA2','BOX ',NMED,TPAS, 3,IVOLU)
208              Y=TPAS(2)-0.1485-XGLUE-3*TRSL(2)        CALL GSVOLU('TPA3','BOX ',NMED,TPAS, 3,IVOLU)
209           ENDIF        CALL GSVOLU('TPA4','BOX ',NMED,TPAS, 3,IVOLU)
210           CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')        CALL GSVOLU('TPA5','BOX ',NMED,TPAS, 3,IVOLU)
211        ENDDO        CALL GSVOLU('TPA6','BOX ',NMED,TPAS, 3,IVOLU)
212  C # end CAF mod        NMED= MAL
213  **********        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)
214  cc ml: 20/04/05  CC end ml.
215  * Positioning volume THBP     into the mother TPAS  ****************
216  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one  *
217  C #       Y=-TRPB(2)+1.5+THBP(2)  *  Define the TRSL     volume
218  C # cc      Z= 0.  *
219  C #       Z=-TRPB(3)+0.11+TRCP(3)  c ml: 26/11/04:
220  c ml: 22/9/05:  c      NMED= MN2
221  c      Y=-TPAS(2)+THBP(2)        NMED=MSIT
222        Y=-TPAS(2)+0.1485+THBP(2)        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)
223  C      Z=-0.005  *
224  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)  * Define the THBP volume
225        Z=TRPB(3)-2*TPAI(3)-TRCP(3)  *
226        DO I=1, NTHBP        NMED=MG10C
227  CC         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*THBP(1)        CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)
228  C #          X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)  C end ml.
229  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon  *
230  c       ladders  *  Define the TSPA     volume
231  c         X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)  *
232           X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)+        NMED= MSIT
233       +      (2*(MOD(I-1,3)+1)-1)*XGLUE        CALL GSVOLU('TSPA','BOX ',NMED,TSPA, 3,IVOLU)
234           CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'ONLY')  *
235        ENDDO  *  Define the TRCP     volume
236  c end ml.  *
237  cc ml: 20/04/05        NMED= MCF
238  *        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)
239  * Positioning volume TPAI into the mother TPAS  *
240  *  *  Define the TBAL     volume
241  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS  *
242        X=0        NMED= MAL
243        Y=-TPAS(2)+TPAI(2)        CALL GSVOLU('TBAL','BOX ',NMED,TBAL, 3,IVOLU)
244  c      Z=-TPAS(3)+TPAI(3)  *
245        Z=TRPB(3)-TPAI(3)  *  Define the MGPA     volume
246  C #       X=-TRPB(1)+2.29+TPAI(1)  *
247  C #       Y=-TRPB(2)+1.5+2.5+TPAI(2)        NMED= MAL
248  C #       Z=-TRPB(3)+TPAI(3)        CALL GSVOLU('MGPA','BOX ',NMED,MGPA, 3,IVOLU)
249        CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'ONLY')  *
250  C # end CAF mod  *  Define the TPGA     volume
251  *  *
252  * Positioning volume TPAS into the mother TRPB        NMED= MN2
253  *        CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)
254  C # Mod By Caf on 15th Jul 2005  *
255        X=0  *  Define the TPGI     volume
256        Y=-TRPB(2)+1.5+TPAS(2)  *
257        Z=0        NMED= MN2
258  C #       X=-TRPB(1)+2.29+TPAS(1)        CALL GSVOLU('TPGI','BOX ',NMED,TPGI, 3,IVOLU)
259  C #       Y=-TRPB(2)+1.5+TPAS(2)  *
260  C #       Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)  *  Define the TPGU     volume
261        CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')  *
262  c end ml.        NMED= MN2
263  *        CALL GSVOLU('TPGU','BOX ',NMED,TPGU, 3,IVOLU)
264  * Positioning volume MGPA     into the mother MGPL  *
265  *  *  Define the TPGD     volume
266        N= 1  *
267        X= 0.        NMED= MN2
268        Y= 0.        CALL GSVOLU('TPGD','BOX ',NMED,TPGD, 3,IVOLU)
269        Z= 0.  
270        CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')  *
271  *  * Positioning volume TSPA     into the mother TRSL
272  * Positioning volume TPGD     into the mother MGFR  *
273  *        GLUEX=XGLUE-0.0005
274        X=0.        GLUEY=XGLUE
275        Z=-MGFR(3)+TPGD(3)        N= 1
276        Y=0.        X= 0.
277        CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')        Y= 0.
278  *        Z= 0.
279  * Positioning volume TPGI     into the mother MGFR under MGPL        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')
280  *  
281        N=1  c ml: 26/11/04:
282        X=0.  * Positioning volume TRCP into mother TPAS
283        Z=-MGFR(3)+2*TPGD(3)+TPGI(3)  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
284        Y=0.  
285        CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')  CC end ml.
286  *  
287  * Positioning volume MGPI     into the mother MGPL        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
288  *        y=-TPAS(2)+TRCP(2)
289        N= 1  C # end CAF mod
290        X= 0.        TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*GLUEX)
291        Y= 0.        DO I=1,4
292  CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA  CC ml 20/04/05:        
293        Z= 0.  C Ml. 15/12/05: introducing a space (along x) between the inner part of the
294        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')  c  aluminum frame and respectively the first and the last carbon fiber barrel.
295  C      Z= -MGFR(3)+2*TPGD(3)+MGPI(3)  c It is has been done increasing the dimension of TPAS along x:
296  C      CALL GSPOS('MGPI',N,'MGFR',X,Y,Z,0,'ONLY')  
297  *           X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+
298  * Positioning volume MGPL     into the mother MGFR       +      2*(I-1)*TRSL(1)
299  *  CC end ml
300  c ml: 10/11/05  cv         CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'MANY')
301        N=1             CALL GSPOS('TRCP',I,'TPA1',X,Y,Z,0,'MANY')
302  c      Z=-MGFR(3)+MGPL(3)             CALL GSPOS('TRCP',I,'TPA2',X,Y,Z,0,'MANY')
303        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)             CALL GSPOS('TRCP',I,'TPA3',X,Y,Z,0,'MANY')
304        CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')             CALL GSPOS('TRCP',I,'TPA4',X,Y,Z,0,'MANY')
305  *             CALL GSPOS('TRCP',I,'TPA5',X,Y,Z,0,'MANY')
306  * Positioning volume TPGI     into the mother MGFR above MGPL             CALL GSPOS('TRCP',I,'TPA6',X,Y,Z,0,'MANY')
307  *  C # end CAF mod
308        N=2        ENDDO  
309        X=0.  cc ml 20/04/05:
310        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)  * Positioning volume TRSL     into the mother TPAS
311        Y=0.  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
312        CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')  
313  *        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
314  * Positioning volume TPGA     into the mother MGFR        DO I=1, NTRSL
315  *  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
316  C ML: 10/11/05  
317        N=1           X=-TPAS(1)+TPASSPACE+2*(MOD(I-1,3)+1)*TRCP(1)+
318        X=0.       +   (2*(MOD(I-1,3)+1)-1)*GLUEX+(2*(MOD(I-1,3)+1)-1)*TRSL(1)
319        Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)           IF(I.LE.3) THEN
320  C      Z=-MGFR(3)+2*MGPL(3)+TPGA(3)  C ml: 22/9/05:
321  C      Z=MGFR(3)-2*TPGU(3)-2*TRPB(3)-TPGA(3)  
322        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)              Y=TPAS(2)-0.1485+0.0005-TRSL(2)
323  C      Y=-0.75           ELSE
324        CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')  
325  *              Y=TPAS(2)-0.1485-GLUEY-3*TRSL(2)
326  * Positioning volumes TRPB & MGPL into the mother SPEB           ENDIF
327  *  
328        N= 1  cv        X=X+DX_1
329        X= 0.  cv        Y=Y+DY_1
330  C      Y= SPEB(2) - TRPB(2)  cv        Z=Z+DZ_1
331        Y= -MGFR(2) + TRPB(2)  cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,51,'ONLY')
332  C      Z= SPEB(3) - TRPB(3)  cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')
333  c      Z=-MGFR(3)+2*MGPL(3)+2*TPGA(3)+TRPB(3)             X1=X+DX(I)
334  C      Z=MGFR(3)-2*TPGU(3)-TRPB(3)             Y1=Y+DY(I)
335        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3))+TRPB(3)             Z1=Z+DZ(I)
336  C      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')             IIRR=50+I
337        CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')             CALL GSPOS('TRSL',I,'TPA1',X1,Y1,Z1,IIRR,'ONLY')
338  c      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,9,'ONLY')  
339        Z=SPEB(3)             X2=X+DX(NTRSL+I)
340        DO I=1, 5             Y2=Y+DY(NTRSL+I)
341           X= 0.             Z2=Z+DZ(NTRSL+I)
342           Y= 0.             IIRR=50+NTRSL+I
343  C         Z= Z - TRPB(3) - MGFR(3)             CALL GSPOS('TRSL',NTRSL+I,'TPA2',X2,Y2,Z2,IIRR,'ONLY')
344           Z=Z-MGFR(3)  
345           N= I             X3=X+DX(2*NTRSL+I)
346           CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')             Y3=Y+DY(2*NTRSL+I)
347  C         Y= SPEB(2) - TRPB(2)             Z3=Z+DZ(2*NTRSL+I)
348  C         Z= Z - MGFR(3) - TRPB(3)             IIRR=50+2*NTRSL+I
349  C         N= (I+1)             CALL GSPOS('TRSL',2*NTRSL+I,'TPA3',X3,Y3,Z3,IIRR,'ONLY')
350  C         IF(I.EQ.5) THEN  
351  CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')  
352  C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,10,'ONLY')             X4=X+DX(3*NTRSL+I)
353  C         ELSE             Y4=Y+DY(3*NTRSL+I)
354  CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')             Z4=Z+DZ(3*NTRSL+I)
355  C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')             IIRR=50+3*NTRSL+I
356  C         ENDIF             CALL GSPOS('TRSL',3*NTRSL+I,'TPA4',X4,Y4,Z4,IIRR,'ONLY')
357           Z=Z-MGFR(3)  
358        ENDDO             X5=X+DX(4*NTRSL+I)
359        N=2             Y5=Y+DY(4*NTRSL+I)
360        X=0.             Z5=Z+DZ(4*NTRSL+I)
361        Y=MGFR(2) - TRPB(2)             IIRR=50+4*NTRSL+I
362        Z=Z-TRPB(3)             CALL GSPOS('TRSL',4*NTRSL+I,'TPA5',X5,Y5,Z5,IIRR,'ONLY')
363        ZTRPB=Z  
364  c      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,4,'ONLY')             IF(I.LE.3) KK=3+I
365        CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')             IF(I.GE.4) KK=I-3
366  *             X6=X+DX(5*NTRSL+KK)
367  * Positioning volume TBAL into the mother SPEB             Y6=Y-DY(5*NTRSL+KK)
368  *             Z6=Z-DZ(5*NTRSL+KK)    
369        DO I=1,2             IIRR=50+5*NTRSL+KK
370  C DTBAL is the distance along x of the volumes TBAL from the end of TRPB             CALL GSPOS('TRSL',5*NTRSL+I,'TPA6',X6,Y6,Z6,IIRR,'ONLY')
371           DTBAL=3.6        ENDDO
372           N=I  C # end CAF mod
373           IF(I.EQ.1) THEN  **********
374              X=TRPB(1)-3.6-TBAL(1)  cc ml: 20/04/05
375           ELSE  * Positioning volume THBP     into the mother TPAS
376              X=-(TRPB(1)-3.6-TBAL(1))  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
377           ENDIF  
378           Y=MGFR(2) - 2*TRPB(2)-TBAL(2)  c ml: 22/9/05:
379           Z=ZTRPB  
380           CALL GSPOS('TBAL',N,'SPEB',X,Y,Z,0,'ONLY')        Y=-TPAS(2)+0.1485+THBP(2)
381        ENDDO  
382  *        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
383  * Positioning volume TPGU     into the mother MGFR        DO I=1, NTHBP
384  *  
385        X=0.  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon
386  C      Z=MGFR(3)-TPGU(3)  c       ladders
387        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3)+TRPB(3))+  
388       +   TPGU(3)                 X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+
389        Y=-MGFR(2)+TRPB(2)       +      (2*(MOD(I-1,3)+1)-1)*GLUEX
390        CALL GSPOS('TPGU',N,'MGFR',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        RETURN          CALL GSPOS('THBP',I,'TPA2',X,Y,Z,0,'MANY')
393        END          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 TPAI into the mother TPAS
402    *
403    C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS
404          X=0
405          Y=-TPAS(2)+TPAI(2)
406          Z=TRPB(3)-TPAI(3)
407    
408    cv      CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'MANY')
409          CALL GSPOS('TPAI',1,'TPA1',X,Y,Z,0,'MANY')
410          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 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
467    *
468          N= 1
469          X= 0.
470          Y= 0.
471    CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA
472          Z= 0.
473          CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')
474    
475    *
476    * Positioning volume MGPL     into the mother MGFR
477    *
478    c ml: 10/11/05
479          N=1
480          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
518    *
519          N= 1
520          X= 0.
521    
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.7  
changed lines
  Added in v.3.11

  ViewVC Help
Powered by ViewVC 1.1.23