/[PAMELA software]/gpamela/gptof/gptofv.F
ViewVC logotype

Diff of /gpamela/gptof/gptofv.F

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

revision 3.1.1.1 by cafagna, Thu Jul 11 16:02:01 2002 UTC revision 3.6 by pam-ba, Thu Nov 16 18:45:29 2006 UTC
# Line 1  Line 1 
1  *  *
2  * $Id$  * $Id: gptofv.F,v 3.5 2006/05/18 10:52:32 pam-ba Exp $
3    *
4    * $Log: gptofv.F,v $
5    * Revision 3.5  2006/05/18 10:52:32  pam-ba
6    * TOF geometry completed and a new material, the polystyrene (density 35 g/l), added
7    *
8    * Revision 3.4  2006/05/02 10:40:13  pam-ba
9    * TOF geometry and position updated and a new material, the mylar, added
10    *
11    * Revision 3.3  2006/04/09 23:29:22  cafagna
12    * Several new things, among this: ND and CARD
13    *
14    * Revision 3.2  2005/06/21 02:42:29  cafagna
15    * Major modification to the geometry and to the random number chain
16    *
17    * Revision 3.1.1.1  2002/07/11 16:02:01  cafagna
18    * First GPAMELA release on CVS
19  *  *
 * $Log$  
20  *  *
21  *CMZ :  2.01/00 05/04/2000  14.35.18  by  Marialuigia Ambriola  *CMZ :  2.01/00 05/04/2000  14.35.18  by  Marialuigia Ambriola
22  *CMZ :  2.00/00 03/03/2000  15.39.05  by  Francesco Cafagna  *CMZ :  2.00/00 03/03/2000  15.39.05  by  Francesco Cafagna
# Line 22  Line 37 
37        INTEGER IROT,IVOLU,N,NMED,NUM        INTEGER IROT,IVOLU,N,NMED,NUM
38        REAL X,Y,Z        REAL X,Y,Z
39  *  *
40          NMED=MAL
41    *
42    *  Define the S1     volume
43    *
44          CALL GSVOLU('S1  ','BOX ',NMED,S1, 3,IVOLU)
45    *
46    *  Define the S2     volume
47    *
48          CALL GSVOLU('S2  ','BOX ',NMED,S2, 3,IVOLU)
49    *
50        NMED=MN2        NMED=MN2
51  *  *
52  *  Define the S11     volume  *  Define the S1A     volume
53    *
54          CALL GSVOLU('S1A ','BOX ',NMED,S1A, 3,IVOLU)
55    *
56    *  Define the S2A     volume
57    *
58          CALL GSVOLU('S2A ','BOX ',NMED,S2A, 3,IVOLU)
59    *
60    *  Define the S3     volume
61    *
62          CALL GSVOLU('S3  ','BOX ',NMED,S3, 3,IVOLU)
63    *
64          NMED=MMYL
65    *
66    *  Define the S11M     volume
67    *
68          CALL GSVOLU('S11M','BOX ',NMED,S11M, 3,IVOLU)
69    *
70    *  Define the S12M     volume
71  *  *
72        CALL GSVOLU('S11 ','BOX ',NMED,S11, 3,IVOLU)        CALL GSVOLU('S12M','BOX ',NMED,S12M, 3,IVOLU)
73  *  *
74  *  Define the S12     volume  *  Define the S21M     volume
75  *  *
76        CALL GSVOLU('S12 ','BOX ',NMED,S12, 3,IVOLU)        CALL GSVOLU('S21M','BOX ',NMED,S21M, 3,IVOLU)
77  *  *
78  *  Define the S21     volume  *  Define the S22M     volume
79  *  *
80        CALL GSVOLU('S21 ','BOX ',NMED,S21, 3,IVOLU)        CALL GSVOLU('S22M','BOX ',NMED,S22M, 3,IVOLU)
81  *  *
82  *  Define the S22     volume  *  Define the S31M     volume
83  *  *
84        CALL GSVOLU('S22 ','BOX ',NMED,S22, 3,IVOLU)        CALL GSVOLU('S31M','BOX ',NMED,S31M, 3,IVOLU)
85  *  *
86  *  Define the S31     volume  *  Define the S32M     volume
87  *  *
88        CALL GSVOLU('S31 ','BOX ',NMED,S31, 3,IVOLU)        CALL GSVOLU('S32M','BOX ',NMED,S32M, 3,IVOLU)
89  *  *
90  *  Define the S32     volume  *  Define the POL1     volume
91    *
92          NMED=MPOL
93          CALL GSVOLU('POL1','BOX ',NMED,POL1, 3,IVOLU)
94    *
95    *  Define the POL2     volume
96    *
97          CALL GSVOLU('POL2','BOX ',NMED,POL2, 3,IVOLU)
98    *
99    *  Define the POLY     volume
100    *
101          CALL GSVOLU('POLY','BOX ',NMED,POLY, 3,IVOLU)
102    *
103    *
104    *  S4 container volume.
105    *
106          NMED=MAL
107          CALL GSVOLU('S4AL','BOX ',NMED,S4AL, 3,IVOLU)
108  *  *
       CALL GSVOLU('S32 ','BOX ',NMED,S32, 3,IVOLU)  
109  *  *
110  *  Change medium just for S4.  *  Change medium just for S4.
111  *  *
# Line 59  Line 118 
118  *  Start subvolume definition.  *  Start subvolume definition.
119  *  *
120  *  *
121  *  Define the S11X     volume  *  Define the S11Y     volume
122  *  *
123        CALL GSVOLU('S11X','BOX ',NMED,S11X, 3,IVOLU)        CALL GSVOLU('S11Y','BOX ',NMED,S11Y, 3,IVOLU)
124  *  *
125  *  Define the S12Y     volume  *  Define the S12X     volume
126  *  *
127        CALL GSVOLU('S12Y','BOX ',NMED,S12Y, 3,IVOLU)        CALL GSVOLU('S12X','BOX ',NMED,S12X, 3,IVOLU)
128  *  *
129  *  Define the S21X     volume  *  Define the S21X     volume
130  *  *
# Line 83  Line 142 
142  *  *
143        CALL GSVOLU('S32X','BOX ',NMED,S32X, 3,IVOLU)        CALL GSVOLU('S32X','BOX ',NMED,S32X, 3,IVOLU)
144    
145        NMED=MCF  c$$$<<<<<<< gptofv.F
146  *  c$$$=======
147  *  Define the SC11     volume  c$$$c ml: 21/12/04:
148  *  c$$$      NMED=MAL
149        CALL GSVOLU('SC11','BOX ',NMED,SC11, 3,IVOLU)  c$$$*
150  *  c$$$*  Define the SC11     volume
151  *  Define the SC12     volume  c$$$*
152  *  c$$$      CALL GSVOLU('SC11','BOX ',NMED,SC11, 3,IVOLU)
153        CALL GSVOLU('SC12','BOX ',NMED,SC12, 3,IVOLU)  c$$$*
154  *  c$$$*  Define the SC12     volume
155  *  Define the SC21     volume  c$$$*
156  *  c$$$      CALL GSVOLU('SC12','BOX ',NMED,SC12, 3,IVOLU)
157        CALL GSVOLU('SC21','BOX ',NMED,SC21, 3,IVOLU)  c$$$*
158  *  c$$$*  Define the SC21     volume
159  *  Define the SC22     volume  c$$$*
160  *  c$$$      CALL GSVOLU('SC21','BOX ',NMED,SC21, 3,IVOLU)
161        CALL GSVOLU('SC22','BOX ',NMED,SC22, 3,IVOLU)  c$$$*
162    c$$$*  Define the SC22     volume
163  *  c$$$*
164  *  Define the SC31     volume  c$$$      CALL GSVOLU('SC22','BOX ',NMED,SC22, 3,IVOLU)
165  *  c$$$
166        CALL GSVOLU('SC31','BOX ',NMED,SC31, 3,IVOLU)  c$$$>>>>>>> 3.3
 *  
 *  Define the SC32     volume  
 *  
       CALL GSVOLU('SC32','BOX ',NMED,SC32, 3,IVOLU)  
   
167  *  *
168  * Positioning volumes  * Positioning volumes
169  *  *
170        Y= 0        X=0.
171        Z= 0        Y=0.
172        DO I=1,NS11X        Z=0.
173          CALL GSPOS('S1A ',N,'S1  ',X,Y,Z,0,'ONLY')
174    *
175          N=1
176          X=0.
177          Y=0.
178          Z=-S1A(3)+HGLUTOF+HPVCMIN/2.
179          CALL GSPOS('POL2',N,'S1A ',X,Y,Z,0,'ONLY')
180    *
181          X=0.
182          Z=-S1A(3)+HGLUTOF+HPVCMIN+S12M(3)
183          DO I=1,NS12X
184           N= I           N= I
185           X= -S11(1) + (2*I-1)*S11X(1)           Y= -S1A(2) + HMYLTOF + (2*I-1)*S12M(2)
186           CALL GSPOS('S11X',N,'S11 ',X,Y,Z,0,'ONLY')           CALL GSPOS('S12M',N,'S1A ',X,Y,Z,0,'ONLY')
187        ENDDO        ENDDO
188        X= 0.  *
189        Y= 0.        Y= 0.
190        DO I=1,2        Z=-S1A(3)+HGLUTOF+HPVCMIN+2*S12M(3)+S11M(3)
191          DO I=1,NS11Y
192           N= I           N= I
193           Z= (-1.)**I*S11(3) + (-1.)**(I+1)*SC11(3)           X= -S1A(1) + HMYLTOF + (2*I-1)*S11M(1)
194           CALL GSPOS('SC11',N,'S11 ',X,Y,Z,0,'ONLY')           CALL GSPOS('S11M',N,'S1A ',X,Y,Z,0,'ONLY')
195        ENDDO        ENDDO
196  *  *
197        X= 0        N=1
198        Z= 0        X=0.
199        DO I=1,NS12Y        Y=0.
200           N= I        Z=-S1A(3)+HGLUTOF+HPVCMIN+2*S12M(3)+2.*S11M(3)+HPVCMAX/2.
201           Y= -S12(2) + (2*I-1)*S12Y(2)        CALL GSPOS('POL1',N,'S1A ',X,Y,Z,0,'ONLY')
202           CALL GSPOS('S12Y',N,'S12 ',X,Y,Z,0,'ONLY')  C      Z=-S1A(3)+HGLUTOF+HPVCMAX+S12M(3)
203        ENDDO  C      CALL GSPOS('S12M',N,'S1A ',X,Y,Z,0,'ONLY')    
204        X= 0.  C      Z=-S1A(3)+HGLUTOF+0.4+2*S12M(3)+S11M(3)
205    C      CALL GSPOS('S11M',N,'S1A ',X,Y,Z,0,'ONLY')    
206    *      
207          X=0.
208          Y=0.
209          Z=0.
210          CALL GSPOS('S2A ',N,'S2  ',X,Y,Z,0,'ONLY')    
211    *
212        Y= 0.        Y= 0.
213        DO I=1,2        Z=-S2A(3)+HGLUTOF+S22M(3)
214          DO I=1,NS22Y
215           N= I           N= I
216           Z= (-1.)**I*S12(3) + (-1.)**(I+1)*SC12(3)           X= -S2A(1) + HMYLTOF + (2*I-1)*S22M(1)        
217           CALL GSPOS('SC12',N,'S12 ',X,Y,Z,0,'ONLY')           CALL GSPOS('S22M',N,'S2A ',X,Y,Z,0,'ONLY')
218        ENDDO        ENDDO
219  *  *
       Y= 0  
       Z= 0  
       DO I=1,NS21X  
          N= I  
          X= -S21(1) + (2*I-1)*S21X(1)  
          CALL GSPOS('S21X',N,'S21 ',X,Y,Z,0,'ONLY')  
       ENDDO  
220        X= 0.        X= 0.
221        Y= 0.        Z=-S2A(3)+HGLUTOF+2*S22M(3)+S21M(3)
222        DO I=1,2        DO I=1,NS21X
223           N= I           N= I
224           Z= (-1.)**I*S21(3) + (-1.)**(I+1)*SC21(3)           Y= -S2A(2) + HMYLTOF+ (2*I-1)*S21M(2)
225           CALL GSPOS('SC21',N,'S21 ',X,Y,Z,0,'ONLY')           CALL GSPOS('S21M',N,'S2A ',X,Y,Z,0,'ONLY')
226        ENDDO        ENDDO
227  *  *
228        X= 0        N=1
229        Z= 0        X=0.
230        DO I=1,NS22Y        Y=0.
231           N= I        Z=-S2A(3)+HGLUTOF+2*S22M(3)+2.*S21M(3)+HPVCMIN/2.
232           Y= -S22(2) + (2*I-1)*S22Y(2)        CALL GSPOS('POLY',N,'S2A ',X,Y,Z,0,'ONLY')
233           CALL GSPOS('S22Y',N,'S22 ',X,Y,Z,0,'ONLY')  C      Z=-S2A(3)+HGLUTOF+S22M(3)
234        ENDDO  C      CALL GSPOS('S22M',N,'S2A ',X,Y,Z,0,'ONLY')    
235    C      Z=-S2A(3)+HGLUTOF+2*S22M(3)+S21M(3)
236    C      CALL GSPOS('S21M',N,'S2A ',X,Y,Z,0,'ONLY')    
237    *
238        X= 0.        X= 0.
239        Y= 0.  ccC      Z=-S3(3)+HAIRS3+S32M(3)
240        DO I=1,2        Z=-S3(3)+S32M(3)
241          DO I=1,NS32X
242           N= I           N= I
243           Z= (-1.)**I*S22(3) + (-1.)**(I+1)*SC22(3)           Y= -S3(2)+ (2*I-1)*S32M(2)
244           CALL GSPOS('SC22',N,'S22 ',X,Y,Z,0,'ONLY')           CALL GSPOS('S32M',N,'S3  ',X,Y,Z,0,'ONLY')
245        ENDDO        ENDDO
246  *  *
247        X= 0        Y= 0.
248        Z= 0  ccC      Z= -S3(3)+HAIRS3+2*S32M(3)+HAIRS3+S31M(3)
249          Z=-S3(3)+2*S32M(3)+HAIRS3+S31M(3)
250        DO I=1,NS31Y        DO I=1,NS31Y
251           N= I           N= I
252           Y= -S31(2) + (2*I-1)*S31Y(2)           X= -S3(1)+(2*I-1)*S31M(1)
253           CALL GSPOS('S31Y',N,'S31 ',X,Y,Z,0,'ONLY')           CALL GSPOS('S31M',N,'S3  ',X,Y,Z,0,'ONLY')
254        ENDDO        ENDDO
255        X= 0.  
256    *
257    C      Z=-S3(3)+HAIRS3+S32M(3)
258    C      CALL GSPOS('S32M',N,'S3  ',X,Y,Z,0,'ONLY')    
259    C      Z=-S32(3)+HAIRS3+2*S32M(3)+HAIRS3+S31M(3)
260    C      CALL GSPOS('S31M',N,'S3  ',X,Y,Z,0,'ONLY')    
261    ****************************************
262    c ml: 21/12/04:
263          X=0.
264        Y= 0.        Y= 0.
265        DO I=1,2        Z= 0.
266           N= I        N=1
267           Z= (-1.)**I*S31(3) + (-1.)**(I+1)*SC31(3)  c ml: 27/10/04:
268           CALL GSPOS('SC31',N,'S31 ',X,Y,Z,0,'ONLY')  c      DO I=1,NS11Y
269        ENDDO  c         N= I
270    c         X= -S11M(1) + HMYLTOF + (2*I-1)*S11Y(1)
271          CALL GSPOS('S11Y',N,'S11M',X,Y,Z,0,'ONLY')
272    c      ENDDO
273    c end ml.
274  *  *
       Y= 0  
       Z= 0  
       DO I=1,NS32X  
          N= I  
          X= -S32(1) + (2*I-1)*S32X(1)  
          CALL GSPOS('S32X',N,'S32 ',X,Y,Z,0,'ONLY')  
       ENDDO  
275        X= 0.        X= 0.
276          Y=0.
277          Z= 0.
278          N=1
279    c ml: 27/10/04
280    C      DO I=1,NS12X
281    C         N= I
282    C         Y= -S11M(2) + HMYLTOF + (2*I-1)*S12X(2)
283          CALL GSPOS('S12X',N,'S12M',X,Y,Z,0,'ONLY')
284    C      ENDDO
285    c end ml.
286    *
287          X=0.
288          y=0.
289          Z= 0.
290          N=1
291    C      DO I=1,NS21X
292    C         N= I
293    c      Y= -S21M(2) + HMYLTOF+ (2*I-1)*S21X(2)
294          CALL GSPOS('S21X',N,'S21M',X,Y,Z,0,'ONLY')
295    C      ENDDO
296    *
297          X=0.
298        Y= 0.        Y= 0.
299        DO I=1,2        Z= 0.
300           N= I        N=1
301           Z= (-1.)**I*S32(3) + (-1.)**(I+1)*SC32(3)  C      DO I=1,NS22Y
302           CALL GSPOS('SC32',N,'S32 ',X,Y,Z,0,'ONLY')  C         N= I
303        ENDDO  C      X= -S22M(1) + HMYLTOF + (2*I-1)*S22Y(1)        
304          CALL GSPOS('S22Y',N,'S22M',X,Y,Z,0,'ONLY')
305    C      ENDDO
306          Y= 0.
307          Z= -S31M(3)+HMYLTOF+S31Y(3)
308          N=1
309    C      DO I=1,NS31Y
310    C         N= I
311    C         X= -S31M(1) + HMYLTOF+(2*I-1)*S31Y(1)
312          X= -S31M(1) + 2*(HMYLTOF/2)+S31Y(1)
313          CALL GSPOS('S31Y',N,'S31M',X,Y,Z,0,'ONLY')
314    C      ENDDO
315    *
316          X= 0.
317          Z= -S32M(3)+HMYLTOF+S32X(3)
318          N=1
319    C      DO I=1,NS32X
320    C         N= I
321    C      Y= -S32M(2) + HMYLTOF+ (2*I-1)*S32X(2)
322          Y= -S32M(2) + 2*(HMYLTOF/2)+ S32X(2)
323          CALL GSPOS('S32X',N,'S32M',X,Y,Z,0,'ONLY')
324    C      ENDDO
325          X=0.
326          Y=0.
327          Z=0.
328          CALL GSPOS('S4  ',N,'S4AL',X,Y,Z,0,'ONLY')      
329  *  *
330        RETURN        RETURN
331        END        END

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

  ViewVC Help
Powered by ViewVC 1.1.23