| 1 |
cafagna |
1.1 |
SUBROUTINE GPNDV |
| 2 |
|
|
************************************************************************ |
| 3 |
|
|
* * |
| 4 |
|
|
* Volumes definition for the neutron detector * |
| 5 |
|
|
* Called by: GPGEOM * |
| 6 |
|
|
* Author: Francesco Cafagna, 05-sep-05 * |
| 7 |
|
|
* * |
| 8 |
|
|
************************************************************************ |
| 9 |
|
|
#include "gpgeo.inc" |
| 10 |
|
|
#include "gpmed.inc" |
| 11 |
|
|
#include "gpkey.inc" |
| 12 |
|
|
* |
| 13 |
|
|
INTEGER IROT,IVOLU,N,NMED |
| 14 |
|
|
REAL X,Y,Z |
| 15 |
pam-ba |
1.3 |
|
| 16 |
|
|
* |
| 17 |
|
|
* Define the NDBO volume |
| 18 |
|
|
* |
| 19 |
|
|
NMED= MN2 |
| 20 |
|
|
CALL GSVOLU('NDBO','BOX ',NMED,NDBO, 3,IVOLU) |
| 21 |
cafagna |
1.1 |
* |
| 22 |
|
|
* Define the NDBX volume |
| 23 |
|
|
* |
| 24 |
|
|
NMED= MAL |
| 25 |
|
|
CALL GSVOLU('NDBX','BOX ',NMED,NDBX, 3,IVOLU) |
| 26 |
|
|
* |
| 27 |
pam-ba |
1.3 |
* Define the NDCD volume |
| 28 |
|
|
* |
| 29 |
pam-ba |
1.4 |
NMED= MCAD |
| 30 |
pam-ba |
1.3 |
CALL GSVOLU('NDCD','BOX ',NMED,NDCD, 3,IVOLU) |
| 31 |
|
|
* |
| 32 |
cafagna |
1.1 |
* Define the NDBI volume |
| 33 |
|
|
* |
| 34 |
|
|
NMED= MN2 |
| 35 |
|
|
CALL GSVOLU('NDBI','BOX ',NMED,NDBI, 3,IVOLU) |
| 36 |
|
|
* |
| 37 |
|
|
* Define the NDTU volume |
| 38 |
|
|
* |
| 39 |
|
|
NMED= MIRON |
| 40 |
cafagna |
1.2 |
NMED= MSCIN |
| 41 |
cafagna |
1.1 |
CALL GSVOLU('NDTU','TUBE',NMED,NDTU, 3,IVOLU) |
| 42 |
|
|
* |
| 43 |
|
|
* Define the NDTI volume |
| 44 |
|
|
* |
| 45 |
|
|
NMED= MHEND |
| 46 |
cafagna |
1.2 |
NMED= MSCIN |
| 47 |
cafagna |
1.1 |
CALL GSVOLU('NDTI','TUBE',NMED,NDTI, 3,IVOLU) |
| 48 |
|
|
* |
| 49 |
|
|
* Define the NDPB volume |
| 50 |
|
|
* |
| 51 |
|
|
NMED= MC2H4 |
| 52 |
|
|
NMED= MN2 |
| 53 |
|
|
CALL GSVOLU('NDPB','BOX ',NMED,NDPB, 3,IVOLU) |
| 54 |
|
|
* |
| 55 |
pam-ba |
1.3 |
* Define the NDCO volume |
| 56 |
|
|
* |
| 57 |
|
|
NMED= MAL |
| 58 |
|
|
CALL GSVOLU('NDCO','BOX ',NMED,NDCO, 3,IVOLU) |
| 59 |
|
|
* |
| 60 |
|
|
* Define the NDBS volume |
| 61 |
|
|
* |
| 62 |
|
|
NMED= MAL |
| 63 |
|
|
CALL GSVOLU('NDBS','BOX ',NMED,NDBS, 3,IVOLU) |
| 64 |
|
|
* |
| 65 |
|
|
* Define the NDSS volume |
| 66 |
|
|
* |
| 67 |
|
|
NMED= MN2 |
| 68 |
|
|
CALL GSVOLU('NDSS','BOX ',NMED,NDSS, 3,IVOLU) |
| 69 |
|
|
* |
| 70 |
|
|
* Define the NDCI volume |
| 71 |
|
|
* |
| 72 |
|
|
NMED= MN2 |
| 73 |
|
|
CALL GSVOLU('NDCI','BOX ',NMED,NDCI, 3,IVOLU) |
| 74 |
|
|
* |
| 75 |
|
|
* Define the NDCM volume |
| 76 |
|
|
* |
| 77 |
|
|
NMED= MN2 |
| 78 |
|
|
CALL GSVOLU('NDCM','BOX ',NMED,NDCM, 3,IVOLU) |
| 79 |
|
|
* |
| 80 |
|
|
* Define the NDCE volume |
| 81 |
|
|
* |
| 82 |
|
|
NMED= MN2 |
| 83 |
|
|
CALL GSVOLU('NDCE','BOX ',NMED,NDCE, 3,IVOLU) |
| 84 |
|
|
* |
| 85 |
|
|
* Define the NDSI volume |
| 86 |
|
|
* |
| 87 |
|
|
NMED= MN2 |
| 88 |
|
|
CALL GSVOLU('NDSI','BOX ',NMED,NDSI, 3,IVOLU) |
| 89 |
|
|
* |
| 90 |
|
|
* Define the NDSM volume |
| 91 |
|
|
* |
| 92 |
|
|
NMED= MN2 |
| 93 |
|
|
CALL GSVOLU('NDSM','BOX ',NMED,NDSM, 3,IVOLU) |
| 94 |
|
|
* |
| 95 |
|
|
* Define the NDSE volume |
| 96 |
cafagna |
1.1 |
* |
| 97 |
|
|
NMED= MN2 |
| 98 |
pam-ba |
1.3 |
CALL GSVOLU('NDSE','BOX ',NMED,NDSE, 3,IVOLU) |
| 99 |
cafagna |
1.1 |
* |
| 100 |
|
|
* Positioning volumes NDTI inside NDTU. |
| 101 |
|
|
* |
| 102 |
|
|
N = 1 |
| 103 |
|
|
X = 0. |
| 104 |
|
|
Y = 0. |
| 105 |
|
|
Z = 0. |
| 106 |
|
|
CALL GSPOS('NDTI',N,'NDTU',X,Y,Z,0,'ONLY') |
| 107 |
|
|
* |
| 108 |
|
|
* Positioning volume NDTU inside the mother NDPB |
| 109 |
|
|
* |
| 110 |
|
|
N = 0 |
| 111 |
|
|
Y = 0. |
| 112 |
|
|
C # |
| 113 |
|
|
C # Start to put tube on top of a cmd and 3 pholyetilene planes |
| 114 |
|
|
C # |
| 115 |
|
|
DO I=1,2 |
| 116 |
|
|
C # |
| 117 |
pam-ba |
1.3 |
cC # Place a tube layer at a 4 mm distance each |
| 118 |
|
|
C # Place a tube layer at a 5 mm distance each |
| 119 |
cafagna |
1.1 |
C # |
| 120 |
pam-ba |
1.3 |
c X = -NDBI(2) + 0.2 + 1.1 |
| 121 |
|
|
X = -NDBI(1) + 0.3 + NDTU(2) |
| 122 |
|
|
C Z = -NDBI(3) + 2.*NDCD(3) + 3.*(2.*NDPB(3)) + NDTU(2) |
| 123 |
|
|
C + + (I-1)*4*NDPB(3) |
| 124 |
|
|
Z = -NDBI(3)+3.*(2.*NDPB(3))+NDTU(2) |
| 125 |
|
|
+ + (I-1)*2*NDPB(3)+(I-1)*2*NDTU(2) |
| 126 |
cafagna |
1.1 |
DO II=1,18 |
| 127 |
|
|
N= N + 1 |
| 128 |
pam-ba |
1.3 |
C CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'MANY') |
| 129 |
|
|
CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'ONLY') |
| 130 |
|
|
C X = X + 2.2 |
| 131 |
|
|
X=X+2*NDTU(2)+GNDTU |
| 132 |
cafagna |
1.1 |
ENDDO |
| 133 |
|
|
ENDDO |
| 134 |
|
|
* |
| 135 |
pam-ba |
1.3 |
* Positioning volume NDPB inside the mother NDBI |
| 136 |
cafagna |
1.1 |
* |
| 137 |
|
|
N = 0 |
| 138 |
|
|
X = 0. |
| 139 |
|
|
Y = 0. |
| 140 |
|
|
C # |
| 141 |
|
|
C # Stack 3 planes then leave the tube gap between the last two |
| 142 |
|
|
C # |
| 143 |
|
|
DO I=1,3 |
| 144 |
|
|
N= N + 1 |
| 145 |
pam-ba |
1.3 |
c Z = -NDBI(3) + 2.*NDCD(3) + (I-1)*2.*NDPB(3) + NDPB(3) |
| 146 |
|
|
Z=-NDBI(3)+(I-1)*2.*NDPB(3)+NDPB(3) |
| 147 |
|
|
C CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'MANY') |
| 148 |
|
|
CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY') |
| 149 |
cafagna |
1.1 |
ENDDO |
| 150 |
|
|
DO I=1,2 |
| 151 |
pam-ba |
1.3 |
C Z = -NDBI(3) + 2.*NDCD(3) + 4.*2.*NDPB(3) + NDPB(3) |
| 152 |
|
|
C + + (I-1)*4.*NDPB(3) |
| 153 |
|
|
Z = -NDBI(3) + 3.*2.*NDPB(3) + NDPB(3) |
| 154 |
|
|
+ + (I-1)*2.*NDPB(3)+I*2*NDTU(2) |
| 155 |
cafagna |
1.1 |
N= N + 1 |
| 156 |
pam-ba |
1.3 |
C CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'MANY') |
| 157 |
|
|
CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY') |
| 158 |
|
|
ENDDO |
| 159 |
|
|
C # |
| 160 |
|
|
C # Now put the internal volume inside the cadmium box |
| 161 |
|
|
C # * |
| 162 |
|
|
N = 1 |
| 163 |
|
|
X = 0. |
| 164 |
|
|
Y = 0. |
| 165 |
|
|
Z=-NDCD(3)+NDBI(3)+TNDCD |
| 166 |
|
|
CALL GSPOS('NDBI',N,'NDCD',X,Y,Z,0,'ONLY') |
| 167 |
|
|
C # |
| 168 |
|
|
C # Positioning the NDCD inside NDBX |
| 169 |
|
|
C # |
| 170 |
|
|
N=1 |
| 171 |
|
|
X = 0 |
| 172 |
|
|
Y = 0 |
| 173 |
|
|
Z=-NDBX(3)+NDCD(3)+TNDBX |
| 174 |
|
|
CALL GSPOS('NDCD',N,'NDBX',X,Y,Z,0,'ONLY') |
| 175 |
|
|
C # |
| 176 |
|
|
C # Positioning the NDBX inside NDBO |
| 177 |
|
|
C # |
| 178 |
|
|
N=1 |
| 179 |
|
|
X = 0 |
| 180 |
|
|
Y = 0 |
| 181 |
|
|
Z=-NDBO(3)+NDBX(3) |
| 182 |
|
|
CALL GSPOS('NDBX',N,'NDBO',X,Y,Z,0,'ONLY') |
| 183 |
|
|
C # |
| 184 |
|
|
C # Positioning the NDCM inside NDCO |
| 185 |
|
|
C # |
| 186 |
|
|
N=0 |
| 187 |
|
|
X = 0 |
| 188 |
|
|
Z=NDCO(3)-NDCM(3) |
| 189 |
|
|
DO I=-1,1,2 |
| 190 |
|
|
N=N+1 |
| 191 |
|
|
Y = I*(NDCI(2)+1.4+NDCM(2)) |
| 192 |
|
|
CALL GSPOS('NDCM',N,'NDCO',X,Y,Z,0,'ONLY') |
| 193 |
cafagna |
1.1 |
ENDDO |
| 194 |
|
|
C # |
| 195 |
pam-ba |
1.3 |
C # Positioning the NDCI inside NDCO |
| 196 |
cafagna |
1.1 |
C # |
| 197 |
|
|
N=1 |
| 198 |
|
|
X = 0 |
| 199 |
|
|
Y = 0 |
| 200 |
pam-ba |
1.3 |
Z=NDCO(3)-NDCI(3) |
| 201 |
|
|
CALL GSPOS('NDCI',N,'NDCO',X,Y,Z,0,'ONLY') |
| 202 |
|
|
C # |
| 203 |
|
|
C # Positioning the NDCE inside NDCO |
| 204 |
|
|
C # |
| 205 |
|
|
N=0 |
| 206 |
|
|
X = 0 |
| 207 |
|
|
Z=NDCO(3)-NDCE(3) |
| 208 |
|
|
DO I=-1,1,2 |
| 209 |
|
|
N=N+1 |
| 210 |
|
|
Y = I*(NDCI(2)+1.4+2*NDCM(2)+1.4+NDCE(2)) |
| 211 |
|
|
CALL GSPOS('NDCE',N,'NDCO',X,Y,Z,0,'ONLY') |
| 212 |
|
|
ENDDO |
| 213 |
|
|
C # |
| 214 |
|
|
C # Positioning the NDSM inside NDCO |
| 215 |
|
|
C # |
| 216 |
|
|
N=0 |
| 217 |
|
|
Z=NDCO(3)-NDSM(3) |
| 218 |
|
|
DO I=-1,1,2 |
| 219 |
|
|
Y = I*(NDCO(2)-9.6-NDSM(2)) |
| 220 |
|
|
DO j=-1,1,2 |
| 221 |
|
|
N=N+1 |
| 222 |
|
|
X=J*(NDCO(1)-2.9-NDSM(1)) |
| 223 |
|
|
CALL GSPOS('NDSM',N,'NDCO',X,Y,Z,0,'ONLY') |
| 224 |
|
|
ENDDO |
| 225 |
|
|
ENDDO |
| 226 |
cafagna |
1.1 |
C # |
| 227 |
pam-ba |
1.3 |
C # Positioning the NDSI inside NDCO |
| 228 |
|
|
C # |
| 229 |
|
|
N=0 |
| 230 |
|
|
Z=NDCO(3)-NDSI(3) |
| 231 |
|
|
Y=0. |
| 232 |
|
|
DO j=-1,1,2 |
| 233 |
|
|
N=N+1 |
| 234 |
|
|
X=J*(NDCO(1)-2.9-NDSI(1)) |
| 235 |
|
|
CALL GSPOS('NDSI',N,'NDCO',X,Y,Z,0,'ONLY') |
| 236 |
|
|
ENDDO |
| 237 |
|
|
C # |
| 238 |
|
|
C # Positioning the NDSE inside NDCO |
| 239 |
|
|
C # |
| 240 |
|
|
N=0 |
| 241 |
|
|
Z=NDCO(3)-NDSE(3) |
| 242 |
|
|
DO I=-1,1,2 |
| 243 |
|
|
Y = I*(NDCI(2)+1.4+2*NDCM(2)+1.4+NDSE(2)) |
| 244 |
|
|
DO j=-1,1,2 |
| 245 |
|
|
N=N+1 |
| 246 |
|
|
X=J*(NDCE(1)+1.6+NDSE(1)) |
| 247 |
|
|
CALL GSPOS('NDSE',N,'NDCO',X,Y,Z,0,'ONLY') |
| 248 |
|
|
ENDDO |
| 249 |
|
|
ENDDO |
| 250 |
|
|
C # |
| 251 |
|
|
C # Positioning the NDCO inside NDBO |
| 252 |
|
|
C # |
| 253 |
|
|
N=1 |
| 254 |
|
|
X = 0 |
| 255 |
|
|
Y = 0 |
| 256 |
|
|
Z=NDBO(3)-NDCO(3) |
| 257 |
|
|
CALL GSPOS('NDCO',N,'NDBO',X,Y,Z,0,'ONLY') |
| 258 |
|
|
C # |
| 259 |
|
|
C # Positioning the NDBS inside NDBO |
| 260 |
|
|
C # |
| 261 |
|
|
N=0 |
| 262 |
|
|
DO I=-1,1,2 |
| 263 |
|
|
N=N+1 |
| 264 |
|
|
X = 0. |
| 265 |
|
|
Y = I*NDBO(2)-I*NDBS(2) |
| 266 |
|
|
Z=-NDBO(3)+NDBS(3) |
| 267 |
|
|
CALL GSPOS('NDBS',N,'NDBO',X,Y,Z,0,'ONLY') |
| 268 |
|
|
ENDDO |
| 269 |
|
|
N=1 |
| 270 |
|
|
X = 0. |
| 271 |
cafagna |
1.1 |
Y = 0. |
| 272 |
pam-ba |
1.3 |
Z=0. |
| 273 |
|
|
CALL GSPOS('NDSS',N,'NDBS',X,Y,Z,0,'ONLY') |
| 274 |
cafagna |
1.1 |
RETURN |
| 275 |
|
|
END |