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

Diff of /gpamela/gpnd/gpndv.F

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by cafagna, Sun Apr 9 23:29:15 2006 UTC revision 1.3 by pam-ba, Thu Oct 12 11:11:21 2006 UTC
# Line 12  Line 12 
12  *  *
13        INTEGER IROT,IVOLU,N,NMED        INTEGER IROT,IVOLU,N,NMED
14        REAL X,Y,Z        REAL X,Y,Z
15    
16    *
17    *  Define the NDBO     volume
18    *
19          NMED= MN2
20          CALL GSVOLU('NDBO','BOX ',NMED,NDBO, 3,IVOLU)
21  *  *
22  *  Define the NDBX     volume  *  Define the NDBX     volume
23  *  *
24        NMED= MAL        NMED= MAL
25        CALL GSVOLU('NDBX','BOX ',NMED,NDBX, 3,IVOLU)        CALL GSVOLU('NDBX','BOX ',NMED,NDBX, 3,IVOLU)
26  *  *
27    *  Define the NDCD     volume
28    *
29          NMED= MN2
30          CALL GSVOLU('NDCD','BOX ',NMED,NDCD, 3,IVOLU)
31    *
32  *  Define the NDBI     volume  *  Define the NDBI     volume
33  *  *
34        NMED= MN2        NMED= MN2
# Line 41  Line 52 
52        NMED= MN2        NMED= MN2
53        CALL GSVOLU('NDPB','BOX ',NMED,NDPB, 3,IVOLU)        CALL GSVOLU('NDPB','BOX ',NMED,NDPB, 3,IVOLU)
54  *  *
55  *  Define the NDCD     volume  *  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        NMED= MN2
68        CALL GSVOLU('NDCD','BOX ',NMED,NDCD, 3,IVOLU)        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    *
97          NMED= MN2
98          CALL GSVOLU('NDSE','BOX ',NMED,NDSE, 3,IVOLU)
99  *  *
100  * Positioning volumes NDTI inside NDTU.  * Positioning volumes NDTI inside NDTU.
101  *  *
# Line 63  C # Start to put tube on top of a cmd an Line 114  C # Start to put tube on top of a cmd an
114  C #  C #
115        DO I=1,2        DO I=1,2
116  C #  C #
117  C # Place a tube layer at a 4 mm distance each  cC # Place a tube layer at a 4 mm distance each
118    C # Place a tube layer at a 5 mm distance each
119  C #  C #
120           X = -NDBI(2) + 0.2 + 1.1  c         X = -NDBI(2) + 0.2 + 1.1
121           Z = -NDBI(3) + 2.*NDCD(3) + 3.*(2.*NDPB(3)) + NDTU(2)           X = -NDBI(1) + 0.3 + NDTU(2)
122       +        + (I-1)*4*NDPB(3)  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           DO II=1,18           DO II=1,18
127              N= N + 1              N= N + 1
128              CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'MANY')  C            CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'MANY')
129              X = X + 2.2              CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'ONLY')
130    C            X = X + 2.2
131                X=X+2*NDTU(2)+GNDTU
132           ENDDO           ENDDO
133        ENDDO        ENDDO
134  *  *
135  * Positioning volume NDPB inside the mother NDPB  * Positioning volume NDPB inside the mother NDBI
136  *  *
137        N = 0        N = 0
138        X = 0.        X = 0.
# Line 85  C # Stack 3 planes then leave the tube g Line 142  C # Stack 3 planes then leave the tube g
142  C #  C #
143        DO I=1,3        DO I=1,3
144           N= N + 1           N= N + 1
145           Z = -NDBI(3) + 2.*NDCD(3) + (I-1)*2.*NDPB(3) + NDPB(3)    c         Z = -NDBI(3) + 2.*NDCD(3) + (I-1)*2.*NDPB(3) + NDPB(3)  
146           CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'MANY')           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        ENDDO        ENDDO
150        DO I=1,2        DO I=1,2
151           Z = -NDBI(3) + 2.*NDCD(3) + 4.*2.*NDPB(3) + NDPB(3)  C         Z = -NDBI(3) + 2.*NDCD(3) + 4.*2.*NDPB(3) + NDPB(3)
152       +        + (I-1)*4.*NDPB(3)  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           N= N + 1           N= N + 1
156           CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'MANY')  C         CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'MANY')
157             CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY')
158        ENDDO        ENDDO
159  C #  C #
160  C # Positioning the NDCD  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 #  C #
170        N=1        N=1
171        X = 0        X = 0
172        Y = 0        Y = 0
173        Z = -NDBI(3) + NDCD(3)        Z=-NDBX(3)+NDCD(3)+TNDBX
174        CALL GSPOS('NDCD',N,'NDBI',X,Y,Z,0,'MANY')        CALL GSPOS('NDCD',N,'NDBX',X,Y,Z,0,'ONLY')
       N = N +1  
       Z = -NDBI(3) + 2.*NDCD(3) + 7.*2.*NDPB(3)+ NDCD(3)  
       CALL GSPOS('NDCD',N,'NDBI',X,Y,Z,0,'MANY')  
175  C #  C #
176  C # Now put the internal volume inside the aluminum box  C # Positioning the NDBX inside NDBO
177  C # *  C #
178        N = 1        N=1
179        X = 0.        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          ENDDO
194    C #
195    C # Positioning the NDCI inside NDCO
196    C #
197          N=1
198          X = 0
199          Y = 0
200          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    C #
227    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        Y = 0.        Y = 0.
272        Z = 0.        Z=0.
273        CALL GSPOS('NDBI',N,'NDBX',X,Y,Z,0,'MANY')        CALL GSPOS('NDSS',N,'NDBS',X,Y,Z,0,'ONLY')
   
274        RETURN        RETURN
275        END        END

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.23