/[PAMELA software]/gpamela/gpspe/gpspev.F
ViewVC logotype

Diff of /gpamela/gpspe/gpspev.F

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3.1 by cafagna, Thu Jul 11 16:02:14 2002 UTC revision 3.6 by cafagna, Fri Dec 16 09:13:59 2005 UTC
# Line 1  Line 1 
1  *  
2  * $Id$  *
3  *  * $Id: gpspev.F,v 3.5 2005/12/13 10:31:29 pam-ba Exp $
4  * $Log$  *
5  *  * $Log: gpspev.F,v $
6  *CMZ :  2.01/00 05/04/2000  14.35.18  by  Marialuigia Ambriola  * Revision 3.5  2005/12/13 10:31:29  pam-ba
7  *CMZ :  2.00/00 03/03/2000  15.39.06  by  Francesco Cafagna  * added a new volume, TPGI, in the spectrometer
8  *CMZ :  1.02/00 07/03/97  14.48.41  by  Francesco Cafagna  *
9  *CMZ :  1.00/02 06/02/96  17.34.50  by  Francesco Cafagna  * Revision 3.4  2005/12/05 12:15:21  pam-ba
10  *-- Author :    Francesco Cafagna   09/12/95  * new spectrometer geometry and internal magnetic field
11        SUBROUTINE GPSPEV  *
12  ************************************************************************  * Revision 3.3  2005/07/25 11:53:21  cafagna
13  *                                                                      *  * Several updates. See history for details
14  * Volumes definition for the silicon tracking system and magnet        *  *
15  * Called by: GPGEM                                                     *  * Revision 3.2  2005/06/21 02:42:27  cafagna
16  * Author: Francesco Cafagna, 05/12/95 13.39.41                         *  * Major modification to the geometry and to the random number chain
17  *                                                                      *  *
18  ************************************************************************  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna
19  #include "gpgeo.inc"  * First GPAMELA release on CVS
20  #include "gpmed.inc"  *
21  *  *
22        INTEGER IROT,IVOLU,N,NMED,NUM  *CMZ :  2.01/00 05/04/2000  14.35.18  by  Marialuigia Ambriola
23        REAL X,Y,Z  *CMZ :  2.00/00 03/03/2000  15.39.06  by  Francesco Cafagna
24  *  *CMZ :  1.02/00 07/03/97  14.48.41  by  Francesco Cafagna
25  *  Define the SPEB     volume  *CMZ :  1.00/02 06/02/96  17.34.50  by  Francesco Cafagna
26  *  *-- Author :    Francesco Cafagna   09/12/95
27        NMED= MN2        SUBROUTINE GPSPEV
28        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)  ************************************************************************
29  *  *                                                                      *
30  *  Define the MGPL     volume  * Volumes definition for the silicon tracking system and magnet        *
31  *  * Called by: GPGEM                                                     *
32        NMED= MMAG  * Author: Francesco Cafagna, 05/12/95 13.39.41                         *
33        CALL GSVOLU('MGPL','BOX ',NMED,MGPL, 3,IVOLU)  *                                                                      *
34  *  ************************************************************************
35  *  Define the MGPI     volume  #include "gpgeo.inc"
36  *  #include "gpmed.inc"
37        NMED= MN2  *
38        CALL GSVOLU('MGPI','BOX ',NMED,MGPI, 3,IVOLU)        INTEGER IROT,IVOLU,N,NMED,NUM
39  *        REAL X,Y,Z
40  *  Define the TRPB     volume  *
41  *  *  Define the SPEB     volume
42        NMED= MAL  *
43        CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)        NMED= MN2
44  *        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)
45  *  Define the TRPL     volume  *
46  *  *  Define the MGFR     volume
47        NMED= MN2  *
48        CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)        NMED= MAL
49  *        CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)
50  *  Define the TRSL     volume  *
51  *  *  Define the MGPL     volume
52        NMED= MN2  *
53        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)        NMED= MMAG
54  *        CALL GSVOLU('MGPL','BOX ',NMED,MGPL, 3,IVOLU)
55  *  Define the TSPA     volume  *
56  *  *  Define the MGPI     volume
57        NMED= MSIT  *
58        CALL GSVOLU('TSPA','BOX ',NMED,TSPA, 3,IVOLU)        NMED= MN2
59  *        CALL GSVOLU('MGPI','BOX ',NMED,MGPI, 3,IVOLU)
60  *  Define the TRCP     volume  *
61  *  *  Define the TRPB     volume
62        NMED= MCF  *
63        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)        NMED= MAL
64  *        CALL GSVOLU('TRPB','BOX ',NMED,TRPB, 3,IVOLU)
65  * Positioning volume TSPA     into the mother TRSL  *****
66  *  cC ml 20/04/05:
67        N= 1  *
68        X= 0.  cc*  Define the TRPL     volume
69        Y= TRSL(2) - TSPA(2)  *  Define the TPAS and TPAI volume
70        Z= 0.  *
71        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')        NMED= MN2
72        N= 2  CC      CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)
73        Y= Y - 2.*TSPA(2)        CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)
74        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')        NMED= MAL
75  *        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)
76  * Positioning volume TRCP     into the mother TRSL  CC end ml.
77  *  ****************
78        N= 1  *
79        Z= 0.  *  Define the TRSL     volume
80        Y= 0.  *
81        X= -TRSL(1) + TRCP(1)  c ml: 26/11/04:
82        CALL GSPOS('TRCP',N,'TRSL',X,Y,Z,0,'ONLY')  c      NMED= MN2
83        N= 2        NMED=MSIT
84        X= -X        CALL GSVOLU('TRSL','BOX ',NMED,TRSL, 3,IVOLU)
85        CALL GSPOS('TRCP',N,'TRSL',X,Y,Z,0,'ONLY')  *
86  *  * Define the THBP volume
87  * Positioning volume TRSL     into the mother TRPL  *
88  *        NMED=MG10C
89        Y= 0.        CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)
90        Z= 0.  C end ml.
91        DO I=1, NTRSL  *
92           X= -TRPL(1) + TRSL(1) +2.*(I-1)*TRSL(1)  *  Define the TSPA     volume
93           CALL GSPOS('TRSL',I,'TRPL',X,Y,Z,0,'ONLY')  *
94        ENDDO        NMED= MSIT
95  *        CALL GSVOLU('TSPA','BOX ',NMED,TSPA, 3,IVOLU)
96  * Positioning volume MGPI     into the mother MGPL  *
97  *  *  Define the TRCP     volume
98        N= 1  *
99        X= 0.        NMED= MCF
100        Y= 0.        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)
101        Z= 0.  *
102        CALL GSPOS('MGPI',N,'MGPL',X,Y,Z,0,'ONLY')  *  Define the TBAL     volume
103  *  *
104  * Positioning volume TRPL     into the mother TRPB        NMED= MAL
105  *        CALL GSVOLU('TBAL','BOX ',NMED,TBAL, 3,IVOLU)
106        N= 1  *
107        Z= 0.  *  Define the MGPA     volume
108        CALL GSPOS('TRPL',N,'TRPB',X,Y,Z,0,'ONLY')  *
109  *        NMED= MAL
110  * Positioning volumes TRPB & MGPL into the mother SPEB        CALL GSVOLU('MGPA','BOX ',NMED,MGPA, 3,IVOLU)
111  *  *
112        N= 1  *  Define the TPGA     volume
113        X= 0.  *
114        Y= 0.        NMED= MN2
115        Z= SPEB(3) - TRPB(3)        CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)
116        CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  *
117        DO I=1, 5  *  Define the TPGI     volume
118           Z= Z - TRPB(3) - MGPL(3)  *
119           N= I        NMED= MN2
120           CALL GSPOS('MGPL',N,'SPEB',X,Y,Z,0,'ONLY')        CALL GSVOLU('TPGI','BOX ',NMED,TPGI, 3,IVOLU)
121           Z= Z - MGPL(3) - TRPB(3)  *
122           N= (I+1)  *  Define the TPGU     volume
123           CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  *
124        ENDDO        NMED= MN2
125  *        CALL GSVOLU('TPGU','BOX ',NMED,TPGU, 3,IVOLU)
126        RETURN  *
127        END  *  Define the TPGD     volume
128    *
129          NMED= MN2
130          CALL GSVOLU('TPGD','BOX ',NMED,TPGD, 3,IVOLU)
131    
132    *
133    * Positioning volume TSPA     into the mother TRSL
134    *
135          N= 1
136          X= 0.
137          Y= 0.
138          Z= 0.
139          CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')
140    C #       N= 2
141    C # C      Y= Y - 2.*TSPA(2)
142    C #       Y=-TRSL(2)/2
143    C #       CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')
144    c ml: 26/11/04:
145    * Positioning volume TRCP into mother TPAS
146    C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
147    C #       Z=-TRPB(3)+0.11+TRCP(3)
148    C #       Y=-TRPB(2)+1.5-0.225+TRCP(2)
149    CC end ml.
150    c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)
151          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
152          y=-0.225-TPAS(2)+TRCP(2)
153    C # end CAF mod
154          TPASSPACE=TPAS(1)-(3*TRSL(1)+4*TRCP(1)+3*XGLUE)
155          DO I=1,4
156    CC ml 20/04/05:        
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
159    C #          X=-TRPB(1)+2.29+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)
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)
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.
165    c It is has been done increasing the dimension of TPAS along x:
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)+
168         +      2*(I-1)*TRSL(1)
169    CC end ml
170             CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'ONLY')
171    C # end CAF mod
172          ENDDO  
173    cc ml 20/04/05:
174    * Positioning volume TRSL     into the mother TPAS
175    C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
176    C #       Y=-TRPB(2)+1.5+2*THBP(2)+TRSL(2)
177    C      Y=2.75
178    CC      Z= 0.
179    C      Z=-0.005
180    c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)
181          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
182          DO I=1, NTRSL
183    c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
184    c         X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+
185    c     +        (2*(MOD(I-1,3)+1)-1)*TRSL(1)
186             X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+
187         +   (2*(MOD(I-1,3)+1)-1)*XGLUE+(2*(MOD(I-1,3)+1)-1)*TRSL(1)        
188             IF(I.LE.3) THEN
189    C ml: 22/9/05:
190    c            Y=TPAS(2)-TRSL(2)
191                Y=TPAS(2)-0.1485-TRSL(2)
192             ELSE
193    C            Y=TPAS(2)-3*TRSL(2)
194                Y=TPAS(2)-0.1485-XGLUE-3*TRSL(2)
195             ENDIF
196             CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')
197          ENDDO
198    C # end CAF mod
199    **********
200    cc ml: 20/04/05
201    * Positioning volume THBP     into the mother TPAS
202    C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
203    C #       Y=-TRPB(2)+1.5+THBP(2)
204    C # cc      Z= 0.
205    C #       Z=-TRPB(3)+0.11+TRCP(3)
206    c ml: 22/9/05:
207    c      Y=-TPAS(2)+THBP(2)
208          Y=-TPAS(2)+0.1485+THBP(2)
209    C      Z=-0.005
210    c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)
211          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
212          DO I=1, NTHBP
213    CC         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*THBP(1)
214    C #          X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)
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)
218             X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)+
219         +      (2*(MOD(I-1,3)+1)-1)*XGLUE
220             CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'ONLY')
221          ENDDO
222    c end ml.
223    cc ml: 20/04/05
224    *
225    * Positioning volume TPAI into the mother TPAS
226    *
227    C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS
228          X=0
229          Y=-TPAS(2)+TPAI(2)
230    c      Z=-TPAS(3)+TPAI(3)
231          Z=TRPB(3)-TPAI(3)
232    C #       X=-TRPB(1)+2.29+TPAI(1)
233    C #       Y=-TRPB(2)+1.5+2.5+TPAI(2)
234    C #       Z=-TRPB(3)+TPAI(3)
235          CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'ONLY')
236    C # end CAF mod
237    *
238    * Positioning volume TPAS into the mother TRPB
239    *
240    C # Mod By Caf on 15th Jul 2005
241          X=0
242          Y=-TRPB(2)+1.5+TPAS(2)
243          Z=0
244    C #       X=-TRPB(1)+2.29+TPAS(1)
245    C #       Y=-TRPB(2)+1.5+TPAS(2)
246    C #       Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)
247          CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')
248    c end ml.
249    *
250    * Positioning volume MGPA     into the mother MGPL
251    *
252          N= 1
253          X= 0.
254          Y= 0.
255          Z= 0.
256          CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')
257    *
258    * Positioning volume TPGD     into the mother MGFR
259    *
260          X=0.
261          Z=-MGFR(3)+TPGD(3)
262          Y=0.
263          CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')
264    *
265    <<<<<<< gpspev.F
266    * Positioning volume TPGI     into the mother MGFR under MGPL
267    *
268          N=1
269          X=0.
270          Z=-MGFR(3)+2*TPGD(3)+TPGI(3)
271          Y=0.
272          CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
273    *
274    =======
275    * Positioning volume TPGI     into the mother MGFR under MGPL
276    *
277          N=1
278          X=0.
279          Z=-MGFR(3)+2*TPGD(3)+TPGI(3)
280          Y=0.
281          CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
282    *
283    >>>>>>> 3.5
284    * Positioning volume MGPI     into the mother MGPL
285    *
286          N= 1
287          X= 0.
288          Y= 0.
289    CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA
290          Z= 0.
291          CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')
292    C      Z= -MGFR(3)+2*TPGD(3)+MGPI(3)
293    C      CALL GSPOS('MGPI',N,'MGFR',X,Y,Z,0,'ONLY')
294    *
295    * Positioning volume MGPL     into the mother MGFR
296    *
297    c ml: 10/11/05
298          N=1
299    c      Z=-MGFR(3)+MGPL(3)
300          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)
301          CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')
302    *
303    <<<<<<< gpspev.F
304    * Positioning volume TPGI     into the mother MGFR above MGPL
305    *
306          N=2
307          X=0.
308          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)
309          Y=0.
310          CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
311    *
312    =======
313    * Positioning volume TPGI     into the mother MGFR over MGPL
314    *
315          N=2
316          X=0.
317          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)
318          Y=0.
319          CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
320    *
321    >>>>>>> 3.5
322    * Positioning volume TPGA     into the mother MGFR
323    *
324    C ML: 10/11/05
325          N=1
326          X=0.
327          Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)
328    C      Z=-MGFR(3)+2*MGPL(3)+TPGA(3)
329    C      Z=MGFR(3)-2*TPGU(3)-2*TRPB(3)-TPGA(3)
330          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)
331    C      Y=-0.75
332          CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')
333    *
334    * Positioning volumes TRPB & MGPL into the mother SPEB
335    *
336          N= 1
337          X= 0.
338    C      Y= SPEB(2) - TRPB(2)
339          Y= -MGFR(2) + TRPB(2)
340    C      Z= SPEB(3) - TRPB(3)
341    c      Z=-MGFR(3)+2*MGPL(3)+2*TPGA(3)+TRPB(3)
342    C      Z=MGFR(3)-2*TPGU(3)-TRPB(3)
343          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3))+TRPB(3)
344    C      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')
345          CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')
346    c      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,9,'ONLY')
347          Z=SPEB(3)
348          DO I=1, 5
349             X= 0.
350             Y= 0.
351    C         Z= Z - TRPB(3) - MGFR(3)
352             Z=Z-MGFR(3)
353             N= I
354             CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')
355    C         Y= SPEB(2) - TRPB(2)
356    C         Z= Z - MGFR(3) - TRPB(3)
357    C         N= (I+1)
358    C         IF(I.EQ.5) THEN
359    CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')
360    C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,10,'ONLY')
361    C         ELSE
362    CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')
363    C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')
364    C         ENDIF
365             Z=Z-MGFR(3)
366          ENDDO
367          N=2
368          X=0.
369          Y=MGFR(2) - TRPB(2)
370          Z=Z-TRPB(3)
371          ZTRPB=Z
372    c      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,4,'ONLY')
373          CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')
374    *
375    * Positioning volume TBAL into the mother SPEB
376    *
377          DO I=1,2
378    C DTBAL is the distance along x of the volumes TBAL from the end of TRPB
379             DTBAL=3.6
380             N=I
381             IF(I.EQ.1) THEN
382                X=TRPB(1)-3.6-TBAL(1)
383             ELSE
384                X=-(TRPB(1)-3.6-TBAL(1))
385             ENDIF
386             Y=MGFR(2) - 2*TRPB(2)-TBAL(2)
387             Z=ZTRPB
388             CALL GSPOS('TBAL',N,'SPEB',X,Y,Z,0,'ONLY')
389          ENDDO
390    *
391    * Positioning volume TPGU     into the mother MGFR
392    *
393          X=0.
394    <<<<<<< gpspev.F
395    C      Z=MGFR(3)-TPGU(3)
396          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3)+TRPB(3))+
397         +   TPGU(3)      
398    =======
399    C      Z=MGFR(3)-TPGU(3)
400          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3)+TRPB(3))+
401         +   TPGU(3)
402    >>>>>>> 3.5
403          Y=-MGFR(2)+TRPB(2)
404          CALL GSPOS('TPGU',N,'MGFR',X,Y,Z,0,'ONLY')
405    *
406          RETURN
407          END

Legend:
Removed from v.3.1  
changed lines
  Added in v.3.6

  ViewVC Help
Powered by ViewVC 1.1.23