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

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

  ViewVC Help
Powered by ViewVC 1.1.23