/[PAMELA software]/gpamela/gpnd/gpndv.F
ViewVC logotype

Annotation of /gpamela/gpnd/gpndv.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations) (download)
Tue Oct 2 17:58:31 2007 UTC (17 years, 2 months ago) by cafagna
Branch: MAIN
CVS Tags: v4r14, v4r13, HEAD
Changes since 1.5: +1 -1 lines
Power law spectra introduced

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

  ViewVC Help
Powered by ViewVC 1.1.23