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 |
|
|
* |
16 |
|
|
* Define the NDBX volume |
17 |
|
|
* |
18 |
|
|
NMED= MAL |
19 |
|
|
CALL GSVOLU('NDBX','BOX ',NMED,NDBX, 3,IVOLU) |
20 |
|
|
* |
21 |
|
|
* Define the NDBI volume |
22 |
|
|
* |
23 |
|
|
NMED= MN2 |
24 |
|
|
CALL GSVOLU('NDBI','BOX ',NMED,NDBI, 3,IVOLU) |
25 |
|
|
* |
26 |
|
|
* Define the NDTU volume |
27 |
|
|
* |
28 |
|
|
NMED= MIRON |
29 |
|
|
NMED= MN2 |
30 |
|
|
CALL GSVOLU('NDTU','TUBE',NMED,NDTU, 3,IVOLU) |
31 |
|
|
* |
32 |
|
|
* Define the NDTI volume |
33 |
|
|
* |
34 |
|
|
NMED= MHEND |
35 |
|
|
NMED= MN2 |
36 |
|
|
CALL GSVOLU('NDTI','TUBE',NMED,NDTI, 3,IVOLU) |
37 |
|
|
* |
38 |
|
|
* Define the NDPB volume |
39 |
|
|
* |
40 |
|
|
NMED= MC2H4 |
41 |
|
|
NMED= MN2 |
42 |
|
|
CALL GSVOLU('NDPB','BOX ',NMED,NDPB, 3,IVOLU) |
43 |
|
|
* |
44 |
|
|
* Define the NDCD volume |
45 |
|
|
* |
46 |
|
|
NMED= MN2 |
47 |
|
|
CALL GSVOLU('NDCD','BOX ',NMED,NDCD, 3,IVOLU) |
48 |
|
|
* |
49 |
|
|
* Positioning volumes NDTI inside NDTU. |
50 |
|
|
* |
51 |
|
|
N = 1 |
52 |
|
|
X = 0. |
53 |
|
|
Y = 0. |
54 |
|
|
Z = 0. |
55 |
|
|
CALL GSPOS('NDTI',N,'NDTU',X,Y,Z,0,'ONLY') |
56 |
|
|
* |
57 |
|
|
* Positioning volume NDTU inside the mother NDPB |
58 |
|
|
* |
59 |
|
|
N = 0 |
60 |
|
|
Y = 0. |
61 |
|
|
C # |
62 |
|
|
C # Start to put tube on top of a cmd and 3 pholyetilene planes |
63 |
|
|
C # |
64 |
|
|
DO I=1,2 |
65 |
|
|
C # |
66 |
|
|
C # Place a tube layer at a 4 mm distance each |
67 |
|
|
C # |
68 |
|
|
X = -NDBI(2) + 0.2 + 1.1 |
69 |
|
|
Z = -NDBI(3) + 2.*NDCD(3) + 3.*(2.*NDPB(3)) + NDTU(2) |
70 |
|
|
+ + (I-1)*4*NDPB(3) |
71 |
|
|
DO II=1,18 |
72 |
|
|
N= N + 1 |
73 |
|
|
CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'ONLY') |
74 |
|
|
X = X + 2.2 |
75 |
|
|
ENDDO |
76 |
|
|
ENDDO |
77 |
|
|
* |
78 |
|
|
* Positioning volume NDPB inside the mother NDPB |
79 |
|
|
* |
80 |
|
|
N = 0 |
81 |
|
|
X = 0. |
82 |
|
|
Y = 0. |
83 |
|
|
C # |
84 |
|
|
C # Stack 3 planes then leave the tube gap between the last two |
85 |
|
|
C # |
86 |
|
|
DO I=1,3 |
87 |
|
|
N= N + 1 |
88 |
|
|
Z = -NDBI(3) + 2.*NDCD(3) + (I-1)*2.*NDPB(3) + NDPB(3) |
89 |
|
|
CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY') |
90 |
|
|
ENDDO |
91 |
|
|
DO I=1,2 |
92 |
|
|
Z = -NDBI(3) + 2.*NDCD(3) + 4.*2.*NDPB(3) + NDPB(3) |
93 |
|
|
+ + (I-1)*4.*NDPB(3) |
94 |
|
|
N= N + 1 |
95 |
|
|
CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY') |
96 |
|
|
ENDDO |
97 |
|
|
C # |
98 |
|
|
C # Positioning the NDCD |
99 |
|
|
C # |
100 |
|
|
N=1 |
101 |
|
|
X = 0 |
102 |
|
|
Y = 0 |
103 |
|
|
Z = -NDBI(3) + NDCD(3) |
104 |
|
|
CALL GSPOS('NDCD',N,'NDBI',X,Y,Z,0,'ONLY') |
105 |
|
|
N = N +1 |
106 |
|
|
Z = -NDBI(3) + 2.*NDCD(3) + 7.*2.*NDPB(3)+ NDCD(3) |
107 |
|
|
CALL GSPOS('NDCD',N,'NDBI',X,Y,Z,0,'ONLY') |
108 |
|
|
C # |
109 |
|
|
C # Now put the internal volume inside the aluminum box |
110 |
|
|
C # * |
111 |
|
|
N = 1 |
112 |
|
|
X = 0. |
113 |
|
|
Y = 0. |
114 |
|
|
Z = 0. |
115 |
|
|
CALL GSPOS('NDBI',N,'NDBX',X,Y,Z,0,'ONLY') |
116 |
|
|
|
117 |
|
|
RETURN |
118 |
|
|
END |