/[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.1 by cafagna, Tue Dec 20 12:21:05 2005 UTC revision 1.6 by cafagna, Tue Oct 2 17:58:31 2007 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= MCAD
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 26  Line 37 
37  *  Define the NDTU     volume  *  Define the NDTU     volume
38  *  *
39        NMED= MIRON        NMED= MIRON
40        NMED= MN2  *      NMED= MSCIN
41        CALL GSVOLU('NDTU','TUBE',NMED,NDTU, 3,IVOLU)        CALL GSVOLU('NDTU','TUBE',NMED,NDTU, 3,IVOLU)
42  *  *
43  *  Define the NDTI     volume  *  Define the NDTI     volume
44  *  *
45        NMED= MHEND        NMED= MHE3
       NMED= MN2  
46        CALL GSVOLU('NDTI','TUBE',NMED,NDTI, 3,IVOLU)        CALL GSVOLU('NDTI','TUBE',NMED,NDTI, 3,IVOLU)
47  *  *
48  *  Define the NDPB     volume  *  Define the NDPB     volume
49  *  *
50        NMED= MC2H4        NMED= MCH2
       NMED= MN2  
51        CALL GSVOLU('NDPB','BOX ',NMED,NDPB, 3,IVOLU)        CALL GSVOLU('NDPB','BOX ',NMED,NDPB, 3,IVOLU)
52  *  *
53  *  Define the NDCD     volume  *  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        NMED= MN2
66        CALL GSVOLU('NDCD','BOX ',NMED,NDCD, 3,IVOLU)        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    *
95          NMED= MN2
96          CALL GSVOLU('NDSE','BOX ',NMED,NDSE, 3,IVOLU)
97  *  *
98  * Positioning volumes NDTI inside NDTU.  * Positioning volumes NDTI inside NDTU.
99  *  *
# Line 63  C # Start to put tube on top of a cmd an Line 112  C # Start to put tube on top of a cmd an
112  C #  C #
113        DO I=1,2        DO I=1,2
114  C #  C #
115  C # Place a tube layer at a 4 mm distance each  cC # Place a tube layer at a 4 mm distance each
116    C # Place a tube layer at a 5 mm distance each
117  C #  C #
118           X = -NDBI(2) + 0.2 + 1.1  c         X = -NDBI(2) + 0.2 + 1.1
119           Z = -NDBI(3) + 2.*NDCD(3) + 3.*(2.*NDPB(3)) + NDTU(2)           X = -NDBI(1) + 0.3 + NDTU(2)
120       +        + (I-1)*4*NDPB(3)  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           DO II=1,18           DO II=1,18
125              N= N + 1              N= N + 1
126    C            CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'MANY')
127              CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'ONLY')              CALL GSPOS('NDTU',N,'NDBI',X,Y,Z,2,'ONLY')
128              X = X + 2.2  C            X = X + 2.2
129                X=X+2*NDTU(2)+GNDTU
130           ENDDO           ENDDO
131        ENDDO        ENDDO
132  *  *
133  * Positioning volume NDPB inside the mother NDPB  * Positioning volume NDPB inside the mother NDBI
134  *  *
135        N = 0        N = 0
136        X = 0.        X = 0.
# Line 85  C # Stack 3 planes then leave the tube g Line 140  C # Stack 3 planes then leave the tube g
140  C #  C #
141        DO I=1,3        DO I=1,3
142           N= N + 1           N= N + 1
143           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)  
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')           CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY')
147        ENDDO        ENDDO
148        DO I=1,2        DO I=1,2
149           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)
150       +        + (I-1)*4.*NDPB(3)  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           N= N + 1           N= N + 1
154    C         CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'MANY')
155           CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY')           CALL GSPOS('NDPB',N,'NDBI',X,Y,Z,0,'ONLY')
156        ENDDO        ENDDO
157  C #  C #
158  C # Positioning the NDCD  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          ENDDO
192    C #
193    C # Positioning the NDCI inside NDCO
194  C #  C #
195        N=1        N=1
196        X = 0        X = 0
197        Y = 0        Y = 0
198        Z = -NDBI(3) + NDCD(3)        Z=NDCO(3)-NDCI(3)
199        CALL GSPOS('NDCD',N,'NDBI',X,Y,Z,0,'ONLY')        CALL GSPOS('NDCI',N,'NDCO',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,'ONLY')  
200  C #  C #
201  C # Now put the internal volume inside the aluminum box  C # Positioning the NDCE inside NDCO
202  C # *  C #
203        N = 1        N=0
204        X = 0.        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    C #
225    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        Y = 0.        Y = 0.
270        Z = 0.        Z=0.
271        CALL GSPOS('NDBI',N,'NDBX',X,Y,Z,0,'ONLY')        CALL GSPOS('NDSS',N,'NDBS',X,Y,Z,0,'ONLY')
   
272        RETURN        RETURN
273        END        END

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.23