/[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.9 by pam-ba, Fri Jun 30 15:38:16 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.8 2006/05/02 12:02:43 bottai Exp $  *
4  *  * $Log: gpspev.F,v $
5  * $Log: gpspev.F,v $  * Revision 3.10  2006/12/01 12:25:51  cafagna
6  * Revision 3.8  2006/05/02 12:02:43  bottai  *  New Antiproton annihilation cross section added
7  * micrometric adjustment of spe geometry  *
8  *  * Revision 3.9  2006/06/30 15:38:16  pam-ba
9  * Revision 3.7  2005/12/16 10:20:23  cafagna  * 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  * Bug fixed in the new update  *
11  *  * Revision 3.8  2006/05/02 12:02:43  bottai
12  * Revision 3.6  2005/12/16 09:13:59  cafagna  * micrometric adjustment of spe geometry
13  * New small valume added to the tracker frame  *
14  *  * Revision 3.7  2005/12/16 10:20:23  cafagna
15  * Revision 3.5  2005/12/13 10:31:29  pam-ba  * Bug fixed in the new update
16  * added a new volume, TPGI, in the spectrometer  *
17  *  * Revision 3.6  2005/12/16 09:13:59  cafagna
18  * Revision 3.4  2005/12/05 12:15:21  pam-ba  * New small valume added to the tracker frame
19  * new spectrometer geometry and internal magnetic field  *
20  *  * Revision 3.5  2005/12/13 10:31:29  pam-ba
21  * Revision 3.3  2005/07/25 11:53:21  cafagna  * added a new volume, TPGI, in the spectrometer
22  * Several updates. See history for details  *
23  *  * Revision 3.4  2005/12/05 12:15:21  pam-ba
24  * Revision 3.2  2005/06/21 02:42:27  cafagna  * new spectrometer geometry and internal magnetic field
25  * Major modification to the geometry and to the random number chain  *
26  *  * Revision 3.3  2005/07/25 11:53:21  cafagna
27  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna  * Several updates. See history for details
28  * First GPAMELA release on CVS  *
29  *  * Revision 3.2  2005/06/21 02:42:27  cafagna
30  *  * Major modification to the geometry and to the random number chain
31  *CMZ :  2.01/00 05/04/2000  14.35.18  by  Marialuigia Ambriola  *
32  *CMZ :  2.00/00 03/03/2000  15.39.06  by  Francesco Cafagna  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna
33  *CMZ :  1.02/00 07/03/97  14.48.41  by  Francesco Cafagna  * First GPAMELA release on CVS
34  *CMZ :  1.00/02 06/02/96  17.34.50  by  Francesco Cafagna  *
35  *-- Author :    Francesco Cafagna   09/12/95  *
36        SUBROUTINE GPSPEV  *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
38  *                                                                      *  *CMZ :  1.02/00 07/03/97  14.48.41  by  Francesco Cafagna
39  * Volumes definition for the silicon tracking system and magnet        *  *CMZ :  1.00/02 06/02/96  17.34.50  by  Francesco Cafagna
40  * Called by: GPGEM                                                     *  *-- Author :    Francesco Cafagna   09/12/95
41  * Author: Francesco Cafagna, 05/12/95 13.39.41                         *        SUBROUTINE GPSPEV
42  *                                                                      *  ************************************************************************
43  ************************************************************************  *                                                                      *
44  #include "gpgeo.inc"  * Volumes definition for the silicon tracking system and magnet        *
45  #include "gpmed.inc"  * Called by: GPGEM                                                     *
46  *  * Author: Francesco Cafagna, 05/12/95 13.39.41                         *
47        INTEGER IROT,IVOLU,N,NMED,NUM  *                                                                      *
48        REAL X,Y,Z  ************************************************************************
49  *  #include "gpgeo.inc"
50  *  Define the SPEB     volume  #include "gpmed.inc"
51  *  *
52        NMED= MN2        INTEGER IROT,IVOLU,N,NMED,NUM
53        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)        REAL X,Y,Z
54  *  C      
55  *  Define the MGFR     volume        REAL ROWMAT(3)
56  *        REAL OMEGA(36),BETA(36),GAMMA(36)
57        NMED= MAL        REAL DX(36),DY(36),DZ(36)
58        CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)        REAL DXFLO(6),DYFLO(6),DZFLO(6)
59  *        CHARACTER*19 FILEALLI
60  *  Define the MGPL     volume        LOGICAL ROTATE
61  *  c
62        NMED= MMAG  c
63        CALL GSVOLU('MGPL','BOX ',NMED,MGPL, 3,IVOLU)  
64  *  cv
65  *  Define the MGPI     volume  cv
66  *        DO IK=1,6
67        NMED= MN2  
68        CALL GSVOLU('MGPI','BOX ',NMED,MGPI, 3,IVOLU)        IF(IK.EQ.1)  FILEALLI='parameters_l1s2.dat'
69  *        IF(IK.EQ.2)  FILEALLI='parameters_l2s2.dat'
70  *  Define the TRPB     volume        IF(IK.EQ.3)  FILEALLI='parameters_l3s2.dat'
71  *        IF(IK.EQ.4)  FILEALLI='parameters_l1s1.dat'
72        NMED= MAL        IF(IK.EQ.5)  FILEALLI='parameters_l2s1.dat'
73        CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)        IF(IK.EQ.6)  FILEALLI='parameters_l3s1.dat'
74  *****        
75  cC ml 20/04/05:        write(6,*) 'OPEN ',FILEALLI
76  *        OPEN(91,file=FILEALLI,status='old')
77  cc*  Define the TRPL     volume        DO IH=1,6
78  *  Define the TPAS and TPAI volume          II=(6-IH)*6+IK
79  *          READ(91,*) OMEGA(II)
80        NMED= MN2          READ(91,*) BETA(II)
81  CC      CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)          READ(91,*) GAMMA(II)
82        CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)          READ(91,*) DX(II)
83        NMED= MAL          READ(91,*) DY(II)
84        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)          READ(91,*) DZ(II)
85  CC end ml.        ENDDO
86  ****************        
87  *        CLOSE(91)
88  *  Define the TRSL     volume        
89  *        ENDDO
90  c ml: 26/11/04:      
91  c      NMED= MN2        DO IJ=1,6
92        NMED=MSIT         DXFLO(IJ)=0.
93        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)         DYFLO(IJ)=0.
94  *         DO IL=1,6
95  * Define the THBP volume          II=(IJ-1)*6+IL
96  *          DXFLO(IJ)=DXFLO(IJ)+DX(II)
97        NMED=MG10C          DYFLO(IJ)=DYFLO(IJ)+DY(II)
98        CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)         ENDDO
99  C end ml.         DXFLO(IJ)=DXFLO(IJ)/6.
100  *         DYFLO(IJ)=DYFLO(IJ)/6.
101  *  Define the TSPA     volume        ENDDO
102  *        
103        NMED= MSIT        DO IJ=1,6
104        CALL GSVOLU('TSPA','BOX ',NMED,TSPA, 3,IVOLU)         DO IL=1,6
105  *          II=(IJ-1)*6+IL
106  *  Define the TRCP     volume          DX(II)=( DX(II)-DXFLO(IJ) )*1.E-4
107  *          DY(II)=( DY(II)-DYFLO(IJ) )*1.E-4
108        NMED= MCF          DZ(II)=(DZ(II)-100.)*1.E-4
109        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)         ENDDO
110  *         DXFLO(IJ)=DXFLO(IJ)*1.E-4
111  *  Define the TBAL     volume         DYFLO(IJ)=DYFLO(IJ)*1.E-4
112  *        ENDDO
113        NMED= MAL  
114        CALL GSVOLU('TBAL','BOX ',NMED,TBAL, 3,IVOLU)        
115  *        DO IJ=1,6
116  *  Define the MGPA     volume         DO IL=1,6
117  *         II=(IJ-1)*6+IL      
118        NMED= MAL         OMEGA_1=OMEGA(II)*1.E-6
119        CALL GSVOLU('MGPA','BOX ',NMED,MGPA, 3,IVOLU)         BETA_1=BETA(II)*1.E-6
120  *         GAMMA_1=GAMMA(II)*1.E-6
121  *  Define the TPGA     volume  c
122  *  c
123        NMED= MN2         IF(IJ.EQ.6) THEN
124        CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)          OMEGA_1=-OMEGA_1
125  *          BETA_1=BETA_1
126  *  Define the TPGI     volume          GAMMA_1=-GAMMA_1
127  *         ENDIF
128        NMED= MN2  
129        CALL GSVOLU('TPGI','BOX ',NMED,TPGI, 3,IVOLU)  
130  *  
131  *  Define the TPGU     volume         ROWMAT(1)=1.
132  *         ROWMAT(2)=OMEGA_1
133        NMED= MN2         ROWMAT(3)=-GAMMA_1
134        CALL GSVOLU('TPGU','BOX ',NMED,TPGU, 3,IVOLU)         CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
135  *         THETA1=ATAN2(SINTH,COSTH)/acos(-1.)*180.
136  *  Define the TPGD     volume         PHI1=ATAN2(SINPH,COSPH)/acos(-1.)*180.
137  *      
138        NMED= MN2         ROWMAT(1)=-OMEGA_1
139        CALL GSVOLU('TPGD','BOX ',NMED,TPGD, 3,IVOLU)         ROWMAT(2)=1.
140           ROWMAT(3)=BETA_1
141  *  
142  * Positioning volume TSPA     into the mother TRSL         CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
143  *         THETA2=ATAN2(SINTH,COSTH)/acos(-1.)*180.
144        GLUEX=XGLUE-0.0005         PHI2=ATAN2(SINPH,COSPH)/acos(-1.)*180.
145        GLUEY=XGLUE  
146        N= 1         ROWMAT(1)=GAMMA_1
147        X= 0.         ROWMAT(2)=-BETA_1
148        Y= 0.         ROWMAT(3)=1.
149        Z= 0.  
150        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')         CALL GFANG(ROWMAT,COSTH,SINTH,COSPH,SINPH,ROTATE)
151  C #       N= 2         THETA3=ATAN2(SINTH,COSTH)/acos(-1.)*180.
152  C # C      Y= Y - 2.*TSPA(2)         PHI3=ATAN2(SINPH,COSPH)/acos(-1.)*180.
153  C #       Y=-TRSL(2)/2  
154  C #       CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')         write(6,*) 'GSROTM(50+II)',50+II,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3
155  c ml: 26/11/04:         IIKROT=50+II
156  * Positioning volume TRCP into mother TPAS         CALL GSROTM(IIKROT,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3)
157  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one        
158  C #       Z=-TRPB(3)+0.11+TRCP(3)         ENDDO
159  C #       Y=-TRPB(2)+1.5-0.225+TRCP(2)        ENDDO
160  CC end ml.  
161  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)  *
162        Z=TRPB(3)-2*TPAI(3)-TRCP(3)  *  Define the SPEB     volume
163        y=-TPAS(2)+TRCP(2)  *
164  C # end CAF mod        NMED= MN2
165        TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*GLUEX)        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)
166        DO I=1,4  *
167  CC ml 20/04/05:          *  Define the MGFR     volume
168  CC         X=-TRPL(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  *
169  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one        NMED= MAL
170  C #          X=-TRPB(1)+2.29+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  cv      CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)
171  c ml: 19/9/05: introducing the glue between TRCP and the silicon ladders.        CALL GSVOLU('MGF1','BOX ',NMED,MGFR, 3,IVOLU)
172  c              for now the glue is a space of nitrogen of 0.015 mm        CALL GSVOLU('MGF2','BOX ',NMED,MGFR, 3,IVOLU)
173  c         X=-TPAS(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)        CALL GSVOLU('MGF3','BOX ',NMED,MGFR, 3,IVOLU)
174  C Ml. 15/12/05: introducing a space (along x) between the inner part of the        CALL GSVOLU('MGF4','BOX ',NMED,MGFR, 3,IVOLU)
175  c  aluminum frame and respectively the first and the last carbon fiber barrel.        CALL GSVOLU('MGF5','BOX ',NMED,MGFR, 3,IVOLU)
176  c It is has been done increasing the dimension of TPAS along x:      
177  C         X=-TPAS(1)+2*(I-1)*XGLUE+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  *
178           X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+  *  Define the MGPL     volume
179       +      2*(I-1)*TRSL(1)  *
180  CC end ml        NMED= MMAG
181           CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'ONLY')        CALL GSVOLU('MGPL','BOX ',NMED,MGPL, 3,IVOLU)
182  C # end CAF mod  *
183        ENDDO    *  Define the MGPI     volume
184  cc ml 20/04/05:  *
185  * Positioning volume TRSL     into the mother TPAS        NMED= MN2
186  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one        CALL GSVOLU('MGPI','BOX ',NMED,MGPI, 3,IVOLU)
187  C #       Y=-TRPB(2)+1.5+2*THBP(2)+TRSL(2)  *
188  C      Y=2.75  *  Define the TRPB     volume
189  CC      Z= 0.  *
190  C      Z=-0.005        NMED= MAL
191  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)  cv      CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)
192        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        CALL GSVOLU('TRP1','BOX ',NMED,TRPB, 3,IVOLU)
193        DO I=1, NTRSL        CALL GSVOLU('TRP2','BOX ',NMED,TRPB, 3,IVOLU)
194  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.        CALL GSVOLU('TRP3','BOX ',NMED,TRPB, 3,IVOLU)
195  c         X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+        CALL GSVOLU('TRP4','BOX ',NMED,TRPB, 3,IVOLU)
196  c     +        (2*(MOD(I-1,3)+1)-1)*TRSL(1)        CALL GSVOLU('TRP5','BOX ',NMED,TRPB, 3,IVOLU)
197           X=-TPAS(1)+TPASSPACE+2*(MOD(I-1,3)+1)*TRCP(1)+        CALL GSVOLU('TRP6','BOX ',NMED,TRPB, 3,IVOLU)            
198       +   (2*(MOD(I-1,3)+1)-1)*GLUEX+(2*(MOD(I-1,3)+1)-1)*TRSL(1)  *****
199           IF(I.LE.3) THEN  cC ml 20/04/05:
200  C ml: 22/9/05:  *
201  c            Y=TPAS(2)-TRSL(2)  cc*  Define the TRPL     volume
202              Y=TPAS(2)-0.1485+0.0005-TRSL(2)  *  Define the TPAS and TPAI volume
203           ELSE  *
204  C            Y=TPAS(2)-3*TRSL(2)        NMED= MN2
205              Y=TPAS(2)-0.1485-GLUEY-3*TRSL(2)  cv      CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)
206           ENDIF        CALL GSVOLU('TPA1','BOX ',NMED,TPAS, 3,IVOLU)
207           CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')        CALL GSVOLU('TPA2','BOX ',NMED,TPAS, 3,IVOLU)
208        ENDDO        CALL GSVOLU('TPA3','BOX ',NMED,TPAS, 3,IVOLU)
209  C # end CAF mod        CALL GSVOLU('TPA4','BOX ',NMED,TPAS, 3,IVOLU)
210  **********        CALL GSVOLU('TPA5','BOX ',NMED,TPAS, 3,IVOLU)
211  cc ml: 20/04/05        CALL GSVOLU('TPA6','BOX ',NMED,TPAS, 3,IVOLU)
212  * Positioning volume THBP     into the mother TPAS        NMED= MAL
213  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)
214  C #       Y=-TRPB(2)+1.5+THBP(2)  CC end ml.
215  C # cc      Z= 0.  ****************
216  C #       Z=-TRPB(3)+0.11+TRCP(3)  *
217  c ml: 22/9/05:  *  Define the TRSL     volume
218  c      Y=-TPAS(2)+THBP(2)  *
219        Y=-TPAS(2)+0.1485+THBP(2)  c ml: 26/11/04:
220  C      Z=-0.005  c      NMED= MN2
221  c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)        NMED=MSIT
222        Z=TRPB(3)-2*TPAI(3)-TRCP(3)        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)
223        DO I=1, NTHBP  *
224  CC         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*THBP(1)  * Define the THBP volume
225  C #          X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)  *
226  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon        NMED=MG10C
227  c       ladders        CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)
228  c         X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)  C end ml.
229           X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+  *
230       +      (2*(MOD(I-1,3)+1)-1)*GLUEX  *  Define the TSPA     volume
231           CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'ONLY')  *
232        ENDDO        NMED= MSIT
233  c end ml.        CALL GSVOLU('TSPA','BOX ',NMED,TSPA, 3,IVOLU)
234  cc ml: 20/04/05  *
235  *  *  Define the TRCP     volume
236  * Positioning volume TPAI into the mother TPAS  *
237  *        NMED= MCF
238  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)
239        X=0  *
240        Y=-TPAS(2)+TPAI(2)  *  Define the TBAL     volume
241  c      Z=-TPAS(3)+TPAI(3)  *
242        Z=TRPB(3)-TPAI(3)        NMED= MAL
243  C #       X=-TRPB(1)+2.29+TPAI(1)        CALL GSVOLU('TBAL','BOX ',NMED,TBAL, 3,IVOLU)
244  C #       Y=-TRPB(2)+1.5+2.5+TPAI(2)  *
245  C #       Z=-TRPB(3)+TPAI(3)  *  Define the MGPA     volume
246        CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'ONLY')  *
247  C # end CAF mod        NMED= MAL
248  *        CALL GSVOLU('MGPA','BOX ',NMED,MGPA, 3,IVOLU)
249  * Positioning volume TPAS into the mother TRPB  *
250  *  *  Define the TPGA     volume
251  C # Mod By Caf on 15th Jul 2005  *
252        X=0        NMED= MN2
253        Y=-TRPB(2)+1.5+TPAS(2)        CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)
254        Z=0  *
255  C #       X=-TRPB(1)+2.29+TPAS(1)  *  Define the TPGI     volume
256  C #       Y=-TRPB(2)+1.5+TPAS(2)  *
257  C #       Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)        NMED= MN2
258        CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')        CALL GSVOLU('TPGI','BOX ',NMED,TPGI, 3,IVOLU)
259  c end ml.  *
260  *  *  Define the TPGU     volume
261  * Positioning volume MGPA     into the mother MGPL  *
262  *        NMED= MN2
263        N= 1        CALL GSVOLU('TPGU','BOX ',NMED,TPGU, 3,IVOLU)
264        X= 0.  *
265        Y= 0.  *  Define the TPGD     volume
266        Z= 0.  *
267        CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')        NMED= MN2
268  *        CALL GSVOLU('TPGD','BOX ',NMED,TPGD, 3,IVOLU)
269  * Positioning volume TPGD     into the mother MGFR  
270  *  *
271        X=0.  * Positioning volume TSPA     into the mother TRSL
272        Z=-MGFR(3)+TPGD(3)  *
273        Y=0.        GLUEX=XGLUE-0.0005
274        CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')        GLUEY=XGLUE
275  *        N= 1
276  * Positioning volume TPGI     into the mother MGFR under MGPL        X= 0.
277  *        Y= 0.
278        N=1        Z= 0.
279        X=0.        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')
280        Z=-MGFR(3)+2*TPGD(3)+TPGI(3)  
281        Y=0.  c ml: 26/11/04:
282        CALL GSPOS('TPGI',N,'MGFR',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  * Positioning volume MGPI     into the mother MGPL  
285  *  CC end ml.
286        N= 1  
287        X= 0.        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
288        Y= 0.        y=-TPAS(2)+TRCP(2)
289  CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA  C # end CAF mod
290        Z= 0.        TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*GLUEX)
291        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')        DO I=1,4
292  C      Z= -MGFR(3)+2*TPGD(3)+MGPI(3)  CC ml 20/04/05:        
293  C      CALL GSPOS('MGPI',N,'MGFR',X,Y,Z,0,'ONLY')  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  * Positioning volume MGPL     into the mother MGFR  c It is has been done increasing the dimension of TPAS along x:
296  *  
297  c ml: 10/11/05           X=-TPAS(1)+TPASSPACE+2*(I-1)*GLUEX+(2*I-1)*TRCP(1)+
298        N=1       +      2*(I-1)*TRSL(1)
299  c      Z=-MGFR(3)+MGPL(3)  CC end ml
300        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)  cv         CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'MANY')
301        CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')             CALL GSPOS('TRCP',I,'TPA1',X,Y,Z,0,'MANY')
302  *             CALL GSPOS('TRCP',I,'TPA2',X,Y,Z,0,'MANY')
303  * Positioning volume TPGI     into the mother MGFR above MGPL             CALL GSPOS('TRCP',I,'TPA3',X,Y,Z,0,'MANY')
304  *             CALL GSPOS('TRCP',I,'TPA4',X,Y,Z,0,'MANY')
305        N=2             CALL GSPOS('TRCP',I,'TPA5',X,Y,Z,0,'MANY')
306        X=0.             CALL GSPOS('TRCP',I,'TPA6',X,Y,Z,0,'MANY')
307        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)  C # end CAF mod
308        Y=0.        ENDDO  
309        CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')  cc ml 20/04/05:
310  *  * Positioning volume TRSL     into the mother TPAS
311  * Positioning volume TPGA     into the mother MGFR  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
312  *  
313  C ML: 10/11/05        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
314        N=1        DO I=1, NTRSL
315        X=0.  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
316        Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)  
317  C      Z=-MGFR(3)+2*MGPL(3)+TPGA(3)           X=-TPAS(1)+TPASSPACE+2*(MOD(I-1,3)+1)*TRCP(1)+
318  C      Z=MGFR(3)-2*TPGU(3)-2*TRPB(3)-TPGA(3)       +   (2*(MOD(I-1,3)+1)-1)*GLUEX+(2*(MOD(I-1,3)+1)-1)*TRSL(1)
319        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)           IF(I.LE.3) THEN
320  C      Y=-0.75  C ml: 22/9/05:
321        CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')  
322  *              Y=TPAS(2)-0.1485+0.0005-TRSL(2)
323  * Positioning volumes TRPB & MGPL into the mother SPEB           ELSE
324  *  
325        N= 1              Y=TPAS(2)-0.1485-GLUEY-3*TRSL(2)
326        X= 0.           ENDIF
327  C      Y= SPEB(2) - TRPB(2)  
328        Y= -MGFR(2) + TRPB(2)  cv        X=X+DX_1
329  C      Z= SPEB(3) - TRPB(3)  cv        Y=Y+DY_1
330  c      Z=-MGFR(3)+2*MGPL(3)+2*TPGA(3)+TRPB(3)  cv        Z=Z+DZ_1
331  C      Z=MGFR(3)-2*TPGU(3)-TRPB(3)  cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,51,'ONLY')
332        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3))+TRPB(3)  cv          CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')
333  C      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')             X1=X+DX(I)
334        CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')             Y1=Y+DY(I)
335  c      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,9,'ONLY')             Z1=Z+DZ(I)
336        Z=SPEB(3)             IIRR=50+I
337        DO I=1, 5             CALL GSPOS('TRSL',I,'TPA1',X1,Y1,Z1,IIRR,'ONLY')
338           X= 0.  
339           Y= 0.             X2=X+DX(NTRSL+I)
340  C         Z= Z - TRPB(3) - MGFR(3)             Y2=Y+DY(NTRSL+I)
341           Z=Z-MGFR(3)             Z2=Z+DZ(NTRSL+I)
342           N= I             IIRR=50+NTRSL+I
343           CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')             CALL GSPOS('TRSL',NTRSL+I,'TPA2',X2,Y2,Z2,IIRR,'ONLY')
344  C         Y= SPEB(2) - TRPB(2)  
345  C         Z= Z - MGFR(3) - TRPB(3)             X3=X+DX(2*NTRSL+I)
346  C         N= (I+1)             Y3=Y+DY(2*NTRSL+I)
347  C         IF(I.EQ.5) THEN             Z3=Z+DZ(2*NTRSL+I)
348  CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')             IIRR=50+2*NTRSL+I
349  C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,10,'ONLY')             CALL GSPOS('TRSL',2*NTRSL+I,'TPA3',X3,Y3,Z3,IIRR,'ONLY')
350  C         ELSE  
351  CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  
352  C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')             X4=X+DX(3*NTRSL+I)
353  C         ENDIF             Y4=Y+DY(3*NTRSL+I)
354           Z=Z-MGFR(3)             Z4=Z+DZ(3*NTRSL+I)
355        ENDDO             IIRR=50+3*NTRSL+I
356        N=2             CALL GSPOS('TRSL',3*NTRSL+I,'TPA4',X4,Y4,Z4,IIRR,'ONLY')
357        X=0.  
358        Y=MGFR(2) - TRPB(2)             X5=X+DX(4*NTRSL+I)
359        Z=Z-TRPB(3)             Y5=Y+DY(4*NTRSL+I)
360        ZTRPB=Z             Z5=Z+DZ(4*NTRSL+I)
361  c      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,4,'ONLY')             IIRR=50+4*NTRSL+I
362        CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')             CALL GSPOS('TRSL',4*NTRSL+I,'TPA5',X5,Y5,Z5,IIRR,'ONLY')
363  *  
364  * Positioning volume TBAL into the mother SPEB             IF(I.LE.3) KK=3+I
365  *             IF(I.GE.4) KK=I-3
366        DO I=1,2             X6=X+DX(5*NTRSL+KK)
367  C DTBAL is the distance along x of the volumes TBAL from the end of TRPB             Y6=Y-DY(5*NTRSL+KK)
368           DTBAL=3.6             Z6=Z-DZ(5*NTRSL+KK)    
369           N=I             IIRR=50+5*NTRSL+KK
370           IF(I.EQ.1) THEN             CALL GSPOS('TRSL',5*NTRSL+I,'TPA6',X6,Y6,Z6,IIRR,'ONLY')
371              X=TRPB(1)-3.6-TBAL(1)        ENDDO
372           ELSE  C # end CAF mod
373              X=-(TRPB(1)-3.6-TBAL(1))  **********
374           ENDIF  cc ml: 20/04/05
375           Y=MGFR(2) - 2*TRPB(2)-TBAL(2)  * Positioning volume THBP     into the mother TPAS
376           Z=ZTRPB  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
377           CALL GSPOS('TBAL',N,'SPEB',X,Y,Z,0,'ONLY')  
378        ENDDO  c ml: 22/9/05:
379  *  
380  * Positioning volume TPGU     into the mother MGFR        Y=-TPAS(2)+0.1485+THBP(2)
381  *  
382        X=0.        Z=TRPB(3)-2*TPAI(3)-TRCP(3)
383  C      Z=MGFR(3)-TPGU(3)        DO I=1, NTHBP
384        Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3)+TRPB(3))+  
385       +   TPGU(3)        c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon
386        Y=-MGFR(2)+TRPB(2)  c       ladders
387        CALL GSPOS('TPGU',N,'MGFR',X,Y,Z,0,'ONLY')  
388  *           X=-TPAS(1)+TPASSPACE+2*I*TRCP(1)+(2*I-1)*THBP(1)+
389        RETURN       +      (2*(MOD(I-1,3)+1)-1)*GLUEX
390        END  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 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.9  
changed lines
  Added in v.3.11

  ViewVC Help
Powered by ViewVC 1.1.23