1 |
* |
2 |
* $Id: gptofv.F,v 3.2 2005/06/21 02:42:29 cafagna Exp $ |
3 |
* |
4 |
* $Log: gptofv.F,v $ |
5 |
* Revision 3.2 2005/06/21 02:42:29 cafagna |
6 |
* Major modification to the geometry and to the random number chain |
7 |
* |
8 |
* Revision 3.1.1.1 2002/07/11 16:02:01 cafagna |
9 |
* First GPAMELA release on CVS |
10 |
* |
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 |
c ml: 27/10/04: |
68 |
* |
69 |
c* Define the S11X volume |
70 |
* Define the S11Y volume |
71 |
* |
72 |
c CALL GSVOLU('S11X','BOX ',NMED,S11X, 3,IVOLU) |
73 |
CALL GSVOLU('S11Y','BOX ',NMED,S11Y, 3,IVOLU) |
74 |
* |
75 |
c* Define the S12Y volume |
76 |
* Define the S12X volume |
77 |
* |
78 |
c CALL GSVOLU('S12Y','BOX ',NMED,S12Y, 3,IVOLU) |
79 |
CALL GSVOLU('S12X','BOX ',NMED,S12X, 3,IVOLU) |
80 |
c end ml. |
81 |
* |
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 |
c ml: 21/12/04: |
99 |
NMED=MAL |
100 |
* |
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 |
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 |
* |
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 |
c ml: 21/12/04: |
157 |
Y= 0 |
158 |
Z= 0 |
159 |
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 |
ENDDO |
168 |
c end ml. |
169 |
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 |
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 |
ENDDO |
188 |
c end ml. |
189 |
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 |
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 |
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 |
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 |
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 |
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 |
X= 0 |
266 |
Z= 0 |
267 |
DO I=1,NS31Y |
268 |
N= I |
269 |
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 |
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 |
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 |
CALL GSPOS('S32X',N,'S32 ',X,Y,Z,0,'ONLY') |
292 |
|
293 |
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 |