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