1 |
cafagna |
3.1 |
* |
2 |
cafagna |
3.3 |
* $Id: gptofv.F,v 3.2 2005/06/21 02:42:29 cafagna Exp $ |
3 |
cafagna |
3.2 |
* |
4 |
|
|
* $Log: gptofv.F,v $ |
5 |
cafagna |
3.3 |
* Revision 3.2 2005/06/21 02:42:29 cafagna |
6 |
|
|
* Major modification to the geometry and to the random number chain |
7 |
|
|
* |
8 |
cafagna |
3.2 |
* Revision 3.1.1.1 2002/07/11 16:02:01 cafagna |
9 |
|
|
* First GPAMELA release on CVS |
10 |
cafagna |
3.1 |
* |
11 |
|
|
* |
12 |
|
|
*CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola |
13 |
|
|
*CMZ : 2.00/00 03/03/2000 15.39.05 by Francesco Cafagna |
14 |
|
|
*CMZ : 1.02/00 21/10/99 16.30.25 by Francesco Cafagna |
15 |
|
|
*CMZ : 1.00/02 18/03/96 17.18.03 by Francesco Cafagna |
16 |
|
|
*-- Author : Francesco Cafagna 05/12/95 |
17 |
|
|
SUBROUTINE GPTOFV |
18 |
|
|
************************************************************************ |
19 |
|
|
* * |
20 |
|
|
* Volumes definition for the scintillators counters * |
21 |
|
|
* Called by: GPGEO * |
22 |
|
|
* Author: Francesco Cafagna, 05/12/95 13.39.41 * |
23 |
|
|
* * |
24 |
|
|
************************************************************************ |
25 |
|
|
#include "gpgeo.inc" |
26 |
|
|
#include "gpmed.inc" |
27 |
|
|
* |
28 |
|
|
INTEGER IROT,IVOLU,N,NMED,NUM |
29 |
|
|
REAL X,Y,Z |
30 |
|
|
* |
31 |
|
|
NMED=MN2 |
32 |
|
|
* |
33 |
|
|
* Define the S11 volume |
34 |
|
|
* |
35 |
|
|
CALL GSVOLU('S11 ','BOX ',NMED,S11, 3,IVOLU) |
36 |
|
|
* |
37 |
|
|
* Define the S12 volume |
38 |
|
|
* |
39 |
|
|
CALL GSVOLU('S12 ','BOX ',NMED,S12, 3,IVOLU) |
40 |
|
|
* |
41 |
|
|
* Define the S21 volume |
42 |
|
|
* |
43 |
|
|
CALL GSVOLU('S21 ','BOX ',NMED,S21, 3,IVOLU) |
44 |
|
|
* |
45 |
|
|
* Define the S22 volume |
46 |
|
|
* |
47 |
|
|
CALL GSVOLU('S22 ','BOX ',NMED,S22, 3,IVOLU) |
48 |
|
|
* |
49 |
|
|
* Define the S31 volume |
50 |
|
|
* |
51 |
|
|
CALL GSVOLU('S31 ','BOX ',NMED,S31, 3,IVOLU) |
52 |
|
|
* |
53 |
|
|
* Define the S32 volume |
54 |
|
|
* |
55 |
|
|
CALL GSVOLU('S32 ','BOX ',NMED,S32, 3,IVOLU) |
56 |
|
|
* |
57 |
|
|
* Change medium just for S4. |
58 |
|
|
* |
59 |
|
|
NMED=MSCIN |
60 |
|
|
* |
61 |
|
|
* Define the S4 volume |
62 |
|
|
* |
63 |
|
|
CALL GSVOLU('S4 ','BOX ',NMED,S4, 3,IVOLU) |
64 |
|
|
* |
65 |
|
|
* Start subvolume definition. |
66 |
|
|
* |
67 |
cafagna |
3.2 |
c ml: 27/10/04: |
68 |
cafagna |
3.1 |
* |
69 |
cafagna |
3.2 |
c* Define the S11X volume |
70 |
|
|
* Define the S11Y volume |
71 |
cafagna |
3.1 |
* |
72 |
cafagna |
3.2 |
c CALL GSVOLU('S11X','BOX ',NMED,S11X, 3,IVOLU) |
73 |
|
|
CALL GSVOLU('S11Y','BOX ',NMED,S11Y, 3,IVOLU) |
74 |
cafagna |
3.1 |
* |
75 |
cafagna |
3.2 |
c* Define the S12Y volume |
76 |
|
|
* Define the S12X volume |
77 |
cafagna |
3.1 |
* |
78 |
cafagna |
3.2 |
c CALL GSVOLU('S12Y','BOX ',NMED,S12Y, 3,IVOLU) |
79 |
|
|
CALL GSVOLU('S12X','BOX ',NMED,S12X, 3,IVOLU) |
80 |
|
|
c end ml. |
81 |
cafagna |
3.1 |
* |
82 |
|
|
* Define the S21X volume |
83 |
|
|
* |
84 |
|
|
CALL GSVOLU('S21X','BOX ',NMED,S21X, 3,IVOLU) |
85 |
|
|
* |
86 |
|
|
* Define the S22Y volume |
87 |
|
|
* |
88 |
|
|
CALL GSVOLU('S22Y','BOX ',NMED,S22Y, 3,IVOLU) |
89 |
|
|
* |
90 |
|
|
* Define the S31Y volume |
91 |
|
|
* |
92 |
|
|
CALL GSVOLU('S31Y','BOX ',NMED,S31Y, 3,IVOLU) |
93 |
|
|
* |
94 |
|
|
* Define the S32X volume |
95 |
|
|
* |
96 |
|
|
CALL GSVOLU('S32X','BOX ',NMED,S32X, 3,IVOLU) |
97 |
|
|
|
98 |
cafagna |
3.2 |
c ml: 21/12/04: |
99 |
cafagna |
3.3 |
NMED=MAL |
100 |
cafagna |
3.1 |
* |
101 |
|
|
* Define the SC11 volume |
102 |
|
|
* |
103 |
|
|
CALL GSVOLU('SC11','BOX ',NMED,SC11, 3,IVOLU) |
104 |
|
|
* |
105 |
|
|
* Define the SC12 volume |
106 |
|
|
* |
107 |
|
|
CALL GSVOLU('SC12','BOX ',NMED,SC12, 3,IVOLU) |
108 |
|
|
* |
109 |
|
|
* Define the SC21 volume |
110 |
|
|
* |
111 |
|
|
CALL GSVOLU('SC21','BOX ',NMED,SC21, 3,IVOLU) |
112 |
|
|
* |
113 |
|
|
* Define the SC22 volume |
114 |
|
|
* |
115 |
|
|
CALL GSVOLU('SC22','BOX ',NMED,SC22, 3,IVOLU) |
116 |
|
|
|
117 |
cafagna |
3.2 |
c* |
118 |
|
|
c* Define the STOF volume |
119 |
|
|
c* |
120 |
|
|
c NMED=MAL |
121 |
|
|
c CALL GSVOLU('STOF','BOX ',NMED,STOF, 3,IVOLU) |
122 |
|
|
c* |
123 |
|
|
c* Define the SGLU volume |
124 |
|
|
c* |
125 |
|
|
cC COLLA ARALDITICA (DA VERIFICARNE LA COMPOSIZIONE) |
126 |
|
|
c NMED=MSIC |
127 |
|
|
c CALL GSVOLU('SGLU','BOX ',NMED,SGLU, 3,IVOLU) |
128 |
|
|
c* |
129 |
|
|
c* Define the SPV1 volume |
130 |
|
|
c* |
131 |
|
|
c NMED=? (PVC espanso) |
132 |
|
|
c CALL GSVOLU('SPV1','BOX ',NMED,SPV1, 3,IVOLU) |
133 |
|
|
c* |
134 |
|
|
c* Define the SMYL volume |
135 |
|
|
c* |
136 |
|
|
c NMED=? (MYLAR) |
137 |
|
|
c CALL GSVOLU('SMYL','BOX ',NMED,SMYL, 3,IVOLU) |
138 |
|
|
c* |
139 |
|
|
c* Define the SPV2 volume |
140 |
|
|
c* |
141 |
|
|
c NMED=? (PVC espanso) |
142 |
|
|
c CALL GSVOLU('SPV2','BOX ',NMED,SPV2, 3,IVOLU) |
143 |
|
|
cc end ml. |
144 |
cafagna |
3.1 |
* |
145 |
|
|
* Define the SC31 volume |
146 |
|
|
* |
147 |
|
|
CALL GSVOLU('SC31','BOX ',NMED,SC31, 3,IVOLU) |
148 |
|
|
* |
149 |
|
|
* Define the SC32 volume |
150 |
|
|
* |
151 |
|
|
CALL GSVOLU('SC32','BOX ',NMED,SC32, 3,IVOLU) |
152 |
|
|
|
153 |
|
|
* |
154 |
|
|
* Positioning volumes |
155 |
|
|
* |
156 |
cafagna |
3.2 |
c ml: 21/12/04: |
157 |
cafagna |
3.1 |
Y= 0 |
158 |
|
|
Z= 0 |
159 |
cafagna |
3.2 |
c ml: 27/10/04: |
160 |
|
|
c DO I=1,NS11X |
161 |
|
|
DO I=1,NS11Y |
162 |
|
|
N= I |
163 |
|
|
c X= -S11(1) + (2*I-1)*S11X(1) |
164 |
|
|
X= -S11(1) + (2*I-1)*S11Y(1) |
165 |
|
|
c CALL GSPOS('S11X',N,'S11 ',X,Y,Z,0,'ONLY') |
166 |
|
|
CALL GSPOS('S11Y',N,'S11 ',X,Y,Z,0,'ONLY') |
167 |
cafagna |
3.1 |
ENDDO |
168 |
cafagna |
3.2 |
c end ml. |
169 |
cafagna |
3.1 |
X= 0. |
170 |
|
|
Y= 0. |
171 |
|
|
DO I=1,2 |
172 |
|
|
N= I |
173 |
|
|
Z= (-1.)**I*S11(3) + (-1.)**(I+1)*SC11(3) |
174 |
|
|
CALL GSPOS('SC11',N,'S11 ',X,Y,Z,0,'ONLY') |
175 |
|
|
ENDDO |
176 |
|
|
* |
177 |
|
|
X= 0 |
178 |
|
|
Z= 0 |
179 |
cafagna |
3.2 |
c ml: 27/10/04 |
180 |
|
|
c DO I=1,NS12Y |
181 |
|
|
DO I=1,NS12X |
182 |
|
|
N= I |
183 |
|
|
c Y= -S12(2) + (2*I-1)*S12Y(2) |
184 |
|
|
Y= -S12(2) + (2*I-1)*S12X(2) |
185 |
|
|
c CALL GSPOS('S12Y',N,'S12 ',X,Y,Z,0,'ONLY') |
186 |
|
|
CALL GSPOS('S12X',N,'S12 ',X,Y,Z,0,'ONLY') |
187 |
cafagna |
3.1 |
ENDDO |
188 |
cafagna |
3.2 |
c end ml. |
189 |
cafagna |
3.1 |
X= 0. |
190 |
|
|
Y= 0. |
191 |
|
|
DO I=1,2 |
192 |
|
|
N= I |
193 |
|
|
Z= (-1.)**I*S12(3) + (-1.)**(I+1)*SC12(3) |
194 |
|
|
CALL GSPOS('SC12',N,'S12 ',X,Y,Z,0,'ONLY') |
195 |
|
|
ENDDO |
196 |
|
|
* |
197 |
|
|
Y= 0 |
198 |
|
|
Z= 0 |
199 |
|
|
DO I=1,NS21X |
200 |
|
|
N= I |
201 |
cafagna |
3.2 |
c ml: 27/10/04 X= -S21(1) + (2*I-1)*S21X(1) |
202 |
|
|
Y= -S21(2) + (2*I-1)*S21X(2) |
203 |
|
|
c end ml. |
204 |
cafagna |
3.1 |
CALL GSPOS('S21X',N,'S21 ',X,Y,Z,0,'ONLY') |
205 |
|
|
ENDDO |
206 |
|
|
X= 0. |
207 |
|
|
Y= 0. |
208 |
|
|
DO I=1,2 |
209 |
|
|
N= I |
210 |
|
|
Z= (-1.)**I*S21(3) + (-1.)**(I+1)*SC21(3) |
211 |
|
|
CALL GSPOS('SC21',N,'S21 ',X,Y,Z,0,'ONLY') |
212 |
|
|
ENDDO |
213 |
|
|
* |
214 |
|
|
X= 0 |
215 |
|
|
Z= 0 |
216 |
|
|
DO I=1,NS22Y |
217 |
|
|
N= I |
218 |
cafagna |
3.2 |
c ml: 27/10/04 Y= -S22(2) + (2*I-1)*S22Y(2) |
219 |
|
|
X= -S22(1) + (2*I-1)*S22Y(1) |
220 |
|
|
c end ml. |
221 |
cafagna |
3.1 |
CALL GSPOS('S22Y',N,'S22 ',X,Y,Z,0,'ONLY') |
222 |
|
|
ENDDO |
223 |
|
|
X= 0. |
224 |
|
|
Y= 0. |
225 |
|
|
DO I=1,2 |
226 |
|
|
N= I |
227 |
|
|
Z= (-1.)**I*S22(3) + (-1.)**(I+1)*SC22(3) |
228 |
|
|
CALL GSPOS('SC22',N,'S22 ',X,Y,Z,0,'ONLY') |
229 |
|
|
ENDDO |
230 |
cafagna |
3.2 |
c* |
231 |
|
|
c* Positioning volumes into S11: |
232 |
|
|
c+ |
233 |
|
|
c X=0. |
234 |
|
|
c Y=0. |
235 |
|
|
c Z=-S11(3)+SMYL(3) |
236 |
|
|
c N=1 |
237 |
|
|
c CALL GSPOS('SMYL',N,'SMYL',X,Y,Z,0,'ONLY') |
238 |
|
|
c Z=Z+SMYL(3)+S11Y(3) |
239 |
|
|
c DO I=1,NS11Y |
240 |
|
|
c N= I |
241 |
|
|
c X= -S11(1) + (2*I-1)*S11Y(1) |
242 |
|
|
c CALL GSPOS('S11Y',N,'S11 ',X,Y,Z,0,'ONLY') |
243 |
|
|
c ENDDO |
244 |
|
|
c N=2 |
245 |
|
|
c Z=Z+S11Y(3)+SMYL(3) |
246 |
|
|
c CALL GSPOS('SMYL',N,'SMYL',X,Y,Z,0,'ONLY') |
247 |
|
|
c Z=Z+SMYL(3)+SPV1(3) |
248 |
|
|
c N=1 |
249 |
|
|
c CALL GSPOS('SPV1',N,'SPV1',X,Y,Z,0,'ONLY') |
250 |
|
|
c Z=Z+SPV1(3)+SGLU(3) |
251 |
|
|
c N=1 |
252 |
|
|
c CALL GSPOS('SGLU',N,'SGLU',X,,Y,Z,0,'ONLY') |
253 |
|
|
c Z=Z+SGLU(3)+STOF(3) |
254 |
|
|
c N=1 |
255 |
|
|
c CALL GSPOS('STOF',N,'STOF',X,Y,Z,0,'ONLY') |
256 |
|
|
c* |
257 |
|
|
c* Positioning volumes into S12: |
258 |
|
|
c* |
259 |
|
|
c Z=-S12(3)+STOF(3) |
260 |
|
|
c N=2 |
261 |
|
|
c CALL GSPOS('STOF',N,'STOF',X,Y,Z,0,'ONLY') |
262 |
|
|
c Z=Z+STOF(3)+SGLU(3) |
263 |
|
|
c CALL GSPOS('SGLU',N,'SGLU',X,Y,Z,0,'ONLY') |
264 |
|
|
c Z=Z+SGLU(3)+SPV2 |
265 |
cafagna |
3.1 |
X= 0 |
266 |
|
|
Z= 0 |
267 |
|
|
DO I=1,NS31Y |
268 |
|
|
N= I |
269 |
cafagna |
3.2 |
c ml: 27/10/04: |
270 |
|
|
c Y= -S31(2) + (2*I-1)*S31Y(2) |
271 |
|
|
X= -S31(1) + (2*I-1)*S31Y(1) |
272 |
|
|
c end ml. |
273 |
cafagna |
3.1 |
CALL GSPOS('S31Y',N,'S31 ',X,Y,Z,0,'ONLY') |
274 |
|
|
ENDDO |
275 |
|
|
X= 0. |
276 |
|
|
Y= 0. |
277 |
|
|
DO I=1,2 |
278 |
|
|
N= I |
279 |
|
|
Z= (-1.)**I*S31(3) + (-1.)**(I+1)*SC31(3) |
280 |
|
|
CALL GSPOS('SC31',N,'S31 ',X,Y,Z,0,'ONLY') |
281 |
|
|
ENDDO |
282 |
|
|
* |
283 |
|
|
Y= 0 |
284 |
|
|
Z= 0 |
285 |
|
|
DO I=1,NS32X |
286 |
|
|
N= I |
287 |
cafagna |
3.2 |
c ml: 27/10/04: |
288 |
|
|
c X= -S32(1) + (2*I-1)*S32X(1) |
289 |
|
|
Y= -S32(2) + (2*I-1)*S32X(2) |
290 |
|
|
c end ml. |
291 |
cafagna |
3.1 |
CALL GSPOS('S32X',N,'S32 ',X,Y,Z,0,'ONLY') |
292 |
cafagna |
3.2 |
|
293 |
cafagna |
3.1 |
ENDDO |
294 |
|
|
X= 0. |
295 |
|
|
Y= 0. |
296 |
|
|
DO I=1,2 |
297 |
|
|
N= I |
298 |
|
|
Z= (-1.)**I*S32(3) + (-1.)**(I+1)*SC32(3) |
299 |
|
|
CALL GSPOS('SC32',N,'S32 ',X,Y,Z,0,'ONLY') |
300 |
|
|
ENDDO |
301 |
|
|
* |
302 |
|
|
RETURN |
303 |
|
|
END |