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

  ViewVC Help
Powered by ViewVC 1.1.23