1 |
* |
2 |
* $Id$ |
3 |
* |
4 |
* $Log$ |
5 |
* |
6 |
*CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola |
7 |
*CMZ : 2.00/00 03/03/2000 15.39.05 by Francesco Cafagna |
8 |
*CMZ : 1.02/00 21/10/99 16.30.25 by Francesco Cafagna |
9 |
*CMZ : 1.00/02 18/03/96 17.18.03 by Francesco Cafagna |
10 |
*-- Author : Francesco Cafagna 05/12/95 |
11 |
SUBROUTINE GPTOFV |
12 |
************************************************************************ |
13 |
* * |
14 |
* Volumes definition for the scintillators counters * |
15 |
* Called by: GPGEO * |
16 |
* Author: Francesco Cafagna, 05/12/95 13.39.41 * |
17 |
* * |
18 |
************************************************************************ |
19 |
#include "gpgeo.inc" |
20 |
#include "gpmed.inc" |
21 |
* |
22 |
INTEGER IROT,IVOLU,N,NMED,NUM |
23 |
REAL X,Y,Z |
24 |
* |
25 |
NMED=MN2 |
26 |
* |
27 |
* Define the S11 volume |
28 |
* |
29 |
CALL GSVOLU('S11 ','BOX ',NMED,S11, 3,IVOLU) |
30 |
* |
31 |
* Define the S12 volume |
32 |
* |
33 |
CALL GSVOLU('S12 ','BOX ',NMED,S12, 3,IVOLU) |
34 |
* |
35 |
* Define the S21 volume |
36 |
* |
37 |
CALL GSVOLU('S21 ','BOX ',NMED,S21, 3,IVOLU) |
38 |
* |
39 |
* Define the S22 volume |
40 |
* |
41 |
CALL GSVOLU('S22 ','BOX ',NMED,S22, 3,IVOLU) |
42 |
* |
43 |
* Define the S31 volume |
44 |
* |
45 |
CALL GSVOLU('S31 ','BOX ',NMED,S31, 3,IVOLU) |
46 |
* |
47 |
* Define the S32 volume |
48 |
* |
49 |
CALL GSVOLU('S32 ','BOX ',NMED,S32, 3,IVOLU) |
50 |
* |
51 |
* Change medium just for S4. |
52 |
* |
53 |
NMED=MSCIN |
54 |
* |
55 |
* Define the S4 volume |
56 |
* |
57 |
CALL GSVOLU('S4 ','BOX ',NMED,S4, 3,IVOLU) |
58 |
* |
59 |
* Start subvolume definition. |
60 |
* |
61 |
* |
62 |
* Define the S11X volume |
63 |
* |
64 |
CALL GSVOLU('S11X','BOX ',NMED,S11X, 3,IVOLU) |
65 |
* |
66 |
* Define the S12Y volume |
67 |
* |
68 |
CALL GSVOLU('S12Y','BOX ',NMED,S12Y, 3,IVOLU) |
69 |
* |
70 |
* Define the S21X volume |
71 |
* |
72 |
CALL GSVOLU('S21X','BOX ',NMED,S21X, 3,IVOLU) |
73 |
* |
74 |
* Define the S22Y volume |
75 |
* |
76 |
CALL GSVOLU('S22Y','BOX ',NMED,S22Y, 3,IVOLU) |
77 |
* |
78 |
* Define the S31Y volume |
79 |
* |
80 |
CALL GSVOLU('S31Y','BOX ',NMED,S31Y, 3,IVOLU) |
81 |
* |
82 |
* Define the S32X volume |
83 |
* |
84 |
CALL GSVOLU('S32X','BOX ',NMED,S32X, 3,IVOLU) |
85 |
|
86 |
NMED=MCF |
87 |
* |
88 |
* Define the SC11 volume |
89 |
* |
90 |
CALL GSVOLU('SC11','BOX ',NMED,SC11, 3,IVOLU) |
91 |
* |
92 |
* Define the SC12 volume |
93 |
* |
94 |
CALL GSVOLU('SC12','BOX ',NMED,SC12, 3,IVOLU) |
95 |
* |
96 |
* Define the SC21 volume |
97 |
* |
98 |
CALL GSVOLU('SC21','BOX ',NMED,SC21, 3,IVOLU) |
99 |
* |
100 |
* Define the SC22 volume |
101 |
* |
102 |
CALL GSVOLU('SC22','BOX ',NMED,SC22, 3,IVOLU) |
103 |
|
104 |
* |
105 |
* Define the SC31 volume |
106 |
* |
107 |
CALL GSVOLU('SC31','BOX ',NMED,SC31, 3,IVOLU) |
108 |
* |
109 |
* Define the SC32 volume |
110 |
* |
111 |
CALL GSVOLU('SC32','BOX ',NMED,SC32, 3,IVOLU) |
112 |
|
113 |
* |
114 |
* Positioning volumes |
115 |
* |
116 |
Y= 0 |
117 |
Z= 0 |
118 |
DO I=1,NS11X |
119 |
N= I |
120 |
X= -S11(1) + (2*I-1)*S11X(1) |
121 |
CALL GSPOS('S11X',N,'S11 ',X,Y,Z,0,'ONLY') |
122 |
ENDDO |
123 |
X= 0. |
124 |
Y= 0. |
125 |
DO I=1,2 |
126 |
N= I |
127 |
Z= (-1.)**I*S11(3) + (-1.)**(I+1)*SC11(3) |
128 |
CALL GSPOS('SC11',N,'S11 ',X,Y,Z,0,'ONLY') |
129 |
ENDDO |
130 |
* |
131 |
X= 0 |
132 |
Z= 0 |
133 |
DO I=1,NS12Y |
134 |
N= I |
135 |
Y= -S12(2) + (2*I-1)*S12Y(2) |
136 |
CALL GSPOS('S12Y',N,'S12 ',X,Y,Z,0,'ONLY') |
137 |
ENDDO |
138 |
X= 0. |
139 |
Y= 0. |
140 |
DO I=1,2 |
141 |
N= I |
142 |
Z= (-1.)**I*S12(3) + (-1.)**(I+1)*SC12(3) |
143 |
CALL GSPOS('SC12',N,'S12 ',X,Y,Z,0,'ONLY') |
144 |
ENDDO |
145 |
* |
146 |
Y= 0 |
147 |
Z= 0 |
148 |
DO I=1,NS21X |
149 |
N= I |
150 |
X= -S21(1) + (2*I-1)*S21X(1) |
151 |
CALL GSPOS('S21X',N,'S21 ',X,Y,Z,0,'ONLY') |
152 |
ENDDO |
153 |
X= 0. |
154 |
Y= 0. |
155 |
DO I=1,2 |
156 |
N= I |
157 |
Z= (-1.)**I*S21(3) + (-1.)**(I+1)*SC21(3) |
158 |
CALL GSPOS('SC21',N,'S21 ',X,Y,Z,0,'ONLY') |
159 |
ENDDO |
160 |
* |
161 |
X= 0 |
162 |
Z= 0 |
163 |
DO I=1,NS22Y |
164 |
N= I |
165 |
Y= -S22(2) + (2*I-1)*S22Y(2) |
166 |
CALL GSPOS('S22Y',N,'S22 ',X,Y,Z,0,'ONLY') |
167 |
ENDDO |
168 |
X= 0. |
169 |
Y= 0. |
170 |
DO I=1,2 |
171 |
N= I |
172 |
Z= (-1.)**I*S22(3) + (-1.)**(I+1)*SC22(3) |
173 |
CALL GSPOS('SC22',N,'S22 ',X,Y,Z,0,'ONLY') |
174 |
ENDDO |
175 |
* |
176 |
X= 0 |
177 |
Z= 0 |
178 |
DO I=1,NS31Y |
179 |
N= I |
180 |
Y= -S31(2) + (2*I-1)*S31Y(2) |
181 |
CALL GSPOS('S31Y',N,'S31 ',X,Y,Z,0,'ONLY') |
182 |
ENDDO |
183 |
X= 0. |
184 |
Y= 0. |
185 |
DO I=1,2 |
186 |
N= I |
187 |
Z= (-1.)**I*S31(3) + (-1.)**(I+1)*SC31(3) |
188 |
CALL GSPOS('SC31',N,'S31 ',X,Y,Z,0,'ONLY') |
189 |
ENDDO |
190 |
* |
191 |
Y= 0 |
192 |
Z= 0 |
193 |
DO I=1,NS32X |
194 |
N= I |
195 |
X= -S32(1) + (2*I-1)*S32X(1) |
196 |
CALL GSPOS('S32X',N,'S32 ',X,Y,Z,0,'ONLY') |
197 |
ENDDO |
198 |
X= 0. |
199 |
Y= 0. |
200 |
DO I=1,2 |
201 |
N= I |
202 |
Z= (-1.)**I*S32(3) + (-1.)**(I+1)*SC32(3) |
203 |
CALL GSPOS('SC32',N,'S32 ',X,Y,Z,0,'ONLY') |
204 |
ENDDO |
205 |
* |
206 |
RETURN |
207 |
END |