/[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.2 by cafagna, Tue Jun 21 02:42:27 2005 UTC revision 3.5 by pam-ba, Tue Dec 13 10:31:29 2005 UTC
# Line 1  Line 1 
1    
2  *  *
3  * $Id: gpspev.F,v 3.1.1.1 2002/07/11 16:02:14 cafagna Exp $  * $Id: gpspev.F,v 3.4 2005/12/05 12:15:21 pam-ba Exp $
4  *  *
5  * $Log: gpspev.F,v $  * $Log: gpspev.F,v $
6    * Revision 3.4  2005/12/05 12:15:21  pam-ba
7    * new spectrometer geometry and internal magnetic field
8    *
9    * Revision 3.3  2005/07/25 11:53:21  cafagna
10    * Several updates. See history for details
11    *
12    * Revision 3.2  2005/06/21 02:42:27  cafagna
13    * Major modification to the geometry and to the random number chain
14    *
15  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna
16  * First GPAMELA release on CVS  * First GPAMELA release on CVS
17  *  *
# Line 31  Line 40 
40        NMED= MN2        NMED= MN2
41        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)        CALL GSVOLU('SPEB','BOX ',NMED,SPEB, 3,IVOLU)
42  *  *
43    *  Define the MGFR     volume
44    *
45          NMED= MAL
46          CALL GSVOLU('MGFR','BOX ',NMED,MGFR, 3,IVOLU)
47    *
48  *  Define the MGPL     volume  *  Define the MGPL     volume
49  *  *
50        NMED= MMAG        NMED= MMAG
# Line 54  cc*  Define the TRPL     volume Line 68  cc*  Define the TRPL     volume
68        NMED= MN2        NMED= MN2
69  CC      CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)  CC      CALL GSVOLU('TRPL','BOX ',NMED,TRPL, 3,IVOLU)
70        CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)        CALL GSVOLU('TPAS','BOX ',NMED,TPAS, 3,IVOLU)
71          NMED= MAL
72        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)        CALL GSVOLU('TPAI','BOX ',NMED,TPAI, 3,IVOLU)
73  CC end ml.  CC end ml.
74  ****************  ****************
# Line 67  c      NMED= MN2 Line 82  c      NMED= MN2
82  *  *
83  * Define the THBP volume  * Define the THBP volume
84  *  *
85        NMED=MAL        NMED=MG10C
86        CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)        CALL GSVOLU('THBP','BOX ',NMED,THBP, 3,IVOLU)
87  C end ml.  C end ml.
88  *  *
# Line 81  C end ml. Line 96  C end ml.
96        NMED= MCF        NMED= MCF
97        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)        CALL GSVOLU('TRCP','BOX ',NMED,TRCP, 3,IVOLU)
98  *  *
99    *  Define the MGPA     volume
100    *
101          NMED= MAL
102          CALL GSVOLU('MGPA','BOX ',NMED,MGPA, 3,IVOLU)
103    *
104    *  Define the TPGA     volume
105    *
106          NMED= MN2
107          CALL GSVOLU('TPGA','BOX ',NMED,TPGA, 3,IVOLU)
108    *
109    *  Define the TPGI     volume
110    *
111          NMED= MN2
112          CALL GSVOLU('TPGI','BOX ',NMED,TPGI, 3,IVOLU)
113    *
114    *  Define the TPGU     volume
115    *
116          NMED= MN2
117          CALL GSVOLU('TPGU','BOX ',NMED,TPGU, 3,IVOLU)
118    *
119    *  Define the TPGD     volume
120    *
121          NMED= MN2
122          CALL GSVOLU('TPGD','BOX ',NMED,TPGD, 3,IVOLU)
123    
124    *
125  * Positioning volume TSPA     into the mother TRSL  * Positioning volume TSPA     into the mother TRSL
126  *  *
127        N= 1        N= 1
128        X= 0.        X= 0.
129  c ml: 26/11/66:        Y= 0.
 c      Y= TRSL(2) - TSPA(2)  
       Y=+TRSL(2)/2  
130        Z= 0.        Z= 0.
131        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')
132        N= 2  C #       N= 2
133  C      Y= Y - 2.*TSPA(2)  C # C      Y= Y - 2.*TSPA(2)
134        Y=-TRSL(2)/2  C #       Y=-TRSL(2)/2
135        CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')  C #       CALL GSPOS('TSPA',N,'TRSL',X,Y,Z,0,'ONLY')
136  c ml: 26/11/04:  c ml: 26/11/04:
137  *  * Positioning volume TRCP into mother TPAS
138  c* Positioning volume TRCP     into the mother TRSL  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
139  CC ml 20/04/05:  C #       Z=-TRPB(3)+0.11+TRCP(3)
140  CC* Positioning volume TRCP into mother TRPL  C #       Y=-TRPB(2)+1.5-0.225+TRCP(2)
 * Positioning volume TRCP into mother TRPB  
 *  
 c      N= 1  
 CC ml 20/04/05:  
 cc      Z= 0.  
 cc      Y= 0.  
       Z=-TRPB(3)+0.11+TRCP(3)  
       Y=-TRPB(2)+1.5-0.225+TRCP(2)  
141  CC end ml.  CC end ml.
142    c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)
143          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
144          y=-0.225-TPAS(2)+TRCP(2)
145    C # end CAF mod
146        DO I=1,4        DO I=1,4
147  CC ml 20/04/05:          CC ml 20/04/05:        
148  CC         X=-TRPL(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  CC         X=-TRPL(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)
149           X=-TRPB(1)+2.29+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
150    C #          X=-TRPB(1)+2.29+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)
151    c ml: 19/9/05: introducing the glue between TRCP and the silicon ladders.
152    c              for now the glue is a space of nitrogen of 0.015 mm
153    c         X=-TPAS(1)+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)
154             X=-TPAS(1)+2*(I-1)*0.0015+(2*I-1)*TRCP(1)+2*(I-1)*TRSL(1)
155  CC end ml  CC end ml
156  c         CALL GSPOS('TRCP',I,'TRPL',X,Y,Z,0,'ONLY')           CALL GSPOS('TRCP',I,'TPAS',X,Y,Z,0,'ONLY')
157           CALL GSPOS('TRCP',I,'TRPB',X,Y,Z,0,'ONLY')  C # end CAF mod
158        ENDDO          ENDDO  
 c      X= -TRSL(1) + TRCP(1)  
 c      CALL GSPOS('TRCP',N,'TRSL',X,Y,Z,0,'ONLY')  
 C      N= 2  
 C      X= -X  
 C      CALL GSPOS('TRCP',N,'TRSL',X,Y,Z,0,'ONLY')  
 *****  
159  cc ml 20/04/05:  cc ml 20/04/05:
160  *  * Positioning volume TRSL     into the mother TPAS
161  *** Positioning volume TRSL     into the mother TRPL  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
162  * Positioning volume TRSL     into the mother TRPB  C #       Y=-TRPB(2)+1.5+2*THBP(2)+TRSL(2)
 *  
 c ml: 26/11/04:  
 C      Y= 0.  
 cc      Y=THBP(2)  
       Y=-TRPB(2)+1.5+2*THBP(2)+TRSL(2)  
163  C      Y=2.75  C      Y=2.75
164  CC      Z= 0.  CC      Z= 0.
165        Z=-TRPB(3)+0.11+TRCP(3)  C      Z=-0.005
166    c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)
167          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
168        DO I=1, NTRSL        DO I=1, NTRSL
169  c         X= -TRPL(1) + TRSL(1) +2.*(I-1)*TRSL(1)  c ml: 20/9/05 introducing the glue between TRCP and the silicon ladders.
170  cc         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*TRSL(1)  c         X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+
171           X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*TRSL(1)  c     +        (2*(MOD(I-1,3)+1)-1)*TRSL(1)
172  cc         CALL GSPOS('TRSL',I,'TRPL',X,Y,Z,0,'ONLY')           X=-TPAS(1)+2*(MOD(I-1,3)+1)*TRCP(1)+
173           CALL GSPOS('TRSL',I,'TRPB',X,Y,Z,0,'ONLY')       +   (2*(MOD(I-1,3)+1)-1)*0.0015+(2*(MOD(I-1,3)+1)-1)*TRSL(1)        
174             IF(I.LE.3) THEN
175    C ml: 22/9/05:
176    c            Y=TPAS(2)-TRSL(2)
177                Y=TPAS(2)-0.1485-TRSL(2)
178             ELSE
179    C            Y=TPAS(2)-3*TRSL(2)
180                Y=TPAS(2)-0.1485-0.0015-3*TRSL(2)
181             ENDIF
182             CALL GSPOS('TRSL',I,'TPAS',X,Y,Z,0,'ONLY')
183        ENDDO        ENDDO
184    C # end CAF mod
185  **********  **********
186  cc ml: 20/04/05  cc ml: 20/04/05
187  *  * Positioning volume THBP     into the mother TPAS
188  ********* Positioning volume THBP     into the mother TRPL  C # Caf mod on 19 Jul 2005 all volumes are placed inside the TPAS one
189  * Positioning volume THBP     into the mother TRPB  C #       Y=-TRPB(2)+1.5+THBP(2)
190  *  C # cc      Z= 0.
191  cc      Y=-TRSL(2)  C #       Z=-TRPB(3)+0.11+TRCP(3)
192        Y=-TRPB(2)+1.5+THBP(2)  c ml: 22/9/05:
193  cc      Z= 0.  c      Y=-TPAS(2)+THBP(2)
194        Z=-TRPB(3)+0.11+TRCP(3)        Y=-TPAS(2)+0.1485+THBP(2)
195    C      Z=-0.005
196    c      Z=-TRPB(3)+2*TPAI(3)+TRCP(3)
197          Z=TRPB(3)-2*TPAI(3)-TRCP(3)
198        DO I=1, NTHBP        DO I=1, NTHBP
199  CC         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*THBP(1)  CC         X= -TRPL(1) + 2*I*TRCP(1)+(2*I-1)*THBP(1)
200           X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)  C #          X=-TRPB(1)+2.29+2*I*TRCP(1)+(2*I-1)*THBP(1)
201  cc         CALL GSPOS('THBP',I,'TRPL',X,Y,Z,0,'ONLY')  c ml: 21/9/05 introducing the glue between the carbon barrel and the silicon
202           CALL GSPOS('THBP',I,'TRPB',X,Y,Z,0,'ONLY')  c       ladders
203    c         X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)
204             X=-TPAS(1)+2*I*TRCP(1)+(2*I-1)*THBP(1)+
205         +      (2*(MOD(I-1,3)+1)-1)*0.0015
206             CALL GSPOS('THBP',I,'TPAS',X,Y,Z,0,'ONLY')
207        ENDDO        ENDDO
208  c end ml.  c end ml.
209  cc ml: 20/04/05  cc ml: 20/04/05
210  *  *
211  * Positioning volume TPAI into the mother TRPB  * Positioning volume TPAI into the mother TPAS
212  *  *
213        X=-TRPB(1)+2.29+TPAI(1)  C # Mod By Caf on 19th Jul 2005 all volumes inside the TPAS
214        Y=-TRPB(2)+1.5+2.5+TPAI(2)        X=0
215        Z=-TRPB(3)+TPAI(3)        Y=-TPAS(2)+TPAI(2)
216        CALL GSPOS('TPAI',I,'TRPB',X,Y,Z,0,'ONLY')  c      Z=-TPAS(3)+TPAI(3)
217          Z=TRPB(3)-TPAI(3)
218    C #       X=-TRPB(1)+2.29+TPAI(1)
219    C #       Y=-TRPB(2)+1.5+2.5+TPAI(2)
220    C #       Z=-TRPB(3)+TPAI(3)
221          CALL GSPOS('TPAI',I,'TPAS',X,Y,Z,0,'ONLY')
222    C # end CAF mod
223  *  *
224  * Positioning volume TPAS into the mother TRPB  * Positioning volume TPAS into the mother TRPB
225  *  *
226        X=-TRPB(1)+2.29+TPAS(1)  C # Mod By Caf on 15th Jul 2005
227          X=0
228        Y=-TRPB(2)+1.5+TPAS(2)        Y=-TRPB(2)+1.5+TPAS(2)
229        Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)        Z=0
230    C #       X=-TRPB(1)+2.29+TPAS(1)
231    C #       Y=-TRPB(2)+1.5+TPAS(2)
232    C #       Z=-TRPB(3)+0.11+2*TRCP(3)+TPAS(3)
233        CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')        CALL GSPOS('TPAS',I,'TRPB',X,Y,Z,0,'ONLY')
234  c end ml.  c end ml.
235    *
236    * Positioning volume MGPA     into the mother MGPL
237    *
238          N= 1
239          X= 0.
240          Y= 0.
241          Z= 0.
242          CALL GSPOS('MGPA',N,'MGPL',X,Y,Z,0,'ONLY')
243    *
244    * Positioning volume TPGD     into the mother MGFR
245    *
246          X=0.
247          Z=-MGFR(3)+TPGD(3)
248          Y=0.
249          CALL GSPOS('TPGD',N,'MGFR',X,Y,Z,0,'ONLY')
250    *
251    * Positioning volume TPGI     into the mother MGFR under MGPL
252    *
253          N=1
254          X=0.
255          Z=-MGFR(3)+2*TPGD(3)+TPGI(3)
256          Y=0.
257          CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
258  *  *
259  * Positioning volume MGPI     into the mother MGPL  * Positioning volume MGPI     into the mother MGPL
260  *  *
261        N= 1        N= 1
262        X= 0.        X= 0.
263        Y= 0.        Y= 0.
264    CC ML 10/11/05:  Positioning volume MGPI     into the mother MGPA
265        Z= 0.        Z= 0.
266        CALL GSPOS('MGPI',N,'MGPL',X,Y,Z,0,'ONLY')        CALL GSPOS('MGPI',N,'MGPA',X,Y,Z,0,'ONLY')
267  C Ml: 20/04/05:  C      Z= -MGFR(3)+2*TPGD(3)+MGPI(3)
268  c*  C      CALL GSPOS('MGPI',N,'MGFR',X,Y,Z,0,'ONLY')
269  c* Positioning volume TRPL     into the mother TRPB  *
270  c*  * Positioning volume MGPL     into the mother MGFR
271  c      N= 1  *
272  c      Z= 0.  c ml: 10/11/05
273  c      CALL GSPOS('TRPL',N,'TRPB',X,Y,Z,0,'ONLY')        N=1
274  c end ml.  c      Z=-MGFR(3)+MGPL(3)
275          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3))+MGPL(3)
276          CALL GSPOS('MGPL',N,'MGFR',X,Y,Z,0,'ONLY')
277    *
278    * Positioning volume TPGI     into the mother MGFR over MGPL
279    *
280          N=2
281          X=0.
282          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3))+TPGI(3)
283          Y=0.
284          CALL GSPOS('TPGI',N,'MGFR',X,Y,Z,0,'ONLY')
285    *
286    * Positioning volume TPGA     into the mother MGFR
287    *
288    C ML: 10/11/05
289          N=1
290          X=0.
291          Y=MGFR(2)-2*(MGFR(2)-TRPB(2))-TPGA(2)
292    C      Z=-MGFR(3)+2*MGPL(3)+TPGA(3)
293    C      Z=MGFR(3)-2*TPGU(3)-2*TRPB(3)-TPGA(3)
294          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3))+TPGA(3)
295    C      Y=-0.75
296          CALL GSPOS('TPGA',N,'MGFR',X,Y,Z,0,'ONLY')
297  *  *
298  * Positioning volumes TRPB & MGPL into the mother SPEB  * Positioning volumes TRPB & MGPL into the mother SPEB
299  *  *
300        N= 1        N= 1
301        X= 0.        X= 0.
302        Y= 0.  C      Y= SPEB(2) - TRPB(2)
303        Z= SPEB(3) - TRPB(3)        Y= -MGFR(2) + TRPB(2)
304        CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  C      Z= SPEB(3) - TRPB(3)
305    c      Z=-MGFR(3)+2*MGPL(3)+2*TPGA(3)+TRPB(3)
306    C      Z=MGFR(3)-2*TPGU(3)-TRPB(3)
307          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3))+TRPB(3)
308    C      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')
309          CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')
310    c      CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,9,'ONLY')
311          Z=SPEB(3)
312        DO I=1, 5        DO I=1, 5
313           Z= Z - TRPB(3) - MGPL(3)           X= 0.
314             Y= 0.
315    C         Z= Z - TRPB(3) - MGFR(3)
316             Z=Z-MGFR(3)
317           N= I           N= I
318           CALL GSPOS('MGPL',N,'SPEB',X,Y,Z,0,'ONLY')           CALL GSPOS('MGFR',N,'SPEB',X,Y,Z,0,'ONLY')
319           Z= Z - MGPL(3) - TRPB(3)  C         Y= SPEB(2) - TRPB(2)
320           N= (I+1)  C         Z= Z - MGFR(3) - TRPB(3)
321           CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')  C         N= (I+1)
322    C         IF(I.EQ.5) THEN
323    CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')
324    C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,10,'ONLY')
325    C         ELSE
326    CC            CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,0,'ONLY')
327    C            CALL GSPOS('TRPB',N,'MGFR',X,Y,Z,0,'ONLY')
328    C         ENDIF
329             Z=Z-MGFR(3)
330        ENDDO        ENDDO
331          N=2
332          X=0.
333          Y=MGFR(2) - TRPB(2)
334          Z=Z-TRPB(3)
335    c      CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,4,'ONLY')
336          CALL GSPOS('TRPB',N,'SPEB',X,Y,Z,10,'ONLY')
337    *
338    * Positioning volume TPGU     into the mother MGFR
339    *
340          X=0.
341    C      Z=MGFR(3)-TPGU(3)
342          Z=-MGFR(3)+2*(TPGD(3)+TPGI(3)+MGPL(3)+TPGI(3)+TPGA(3)+TRPB(3))+
343         +   TPGU(3)
344          Y=-MGFR(2)+TRPB(2)
345          CALL GSPOS('TPGU',N,'MGFR',X,Y,Z,0,'ONLY')
346  *  *
347        RETURN        RETURN
348        END        END

Legend:
Removed from v.3.2  
changed lines
  Added in v.3.5

  ViewVC Help
Powered by ViewVC 1.1.23