5 * Revision 1.1.1.1 1999/05/18 15:55:21 fca
8 * Revision 1.2 1996/04/30 11:25:57 ravndal
9 * Implicit Fortran data type convention overlooked
11 * Revision 1.1.1.1 1995/10/24 10:21:50 cernlib
15 #include "geant321/pilot.h"
16 *CMZ : 3.21/04 17/01/95 18.01.49 by S.Giani
20 C. ******************************************************************
22 C. * Geometry commands *
24 C. * Authors: R.Brun ********** *
25 C. * P.Zanarini ********** *
26 C. * N.Hoimyr 1992 ********** *
27 C. * S.Giani 1992 ********** *
29 C. ******************************************************************
31 #include "geant321/gcbank.inc"
32 #include "geant321/pawc.inc"
33 #include "geant321/gcunit.inc"
34 #include "geant321/gcnum.inc"
35 #include "geant321/gclist.inc"
36 #include "geant321/gconsp.inc"
37 CHARACTER*4 CHNAME,CHISH,CHPAR,IONLY,CYESNO,CHAX
38 CHARACTER*32 CHPATL,VNAME
41 CHARACTER*24 INST,SITE,DEPT,RESP
42 DIMENSION ARRAY(100),UBUF(1)
45 C. ------------------------------------------------------------------
48 CALL KUPATL(CHPATL,NPAR)
50 IF(CHPATL.EQ.'OPTI') THEN
53 ELSEIF (CHPATL.EQ.'SVOLU') THEN
54 CALL KUGETC(CHNAME,NCH)
55 CALL KUGETC(CHISH,NCH)
58 CALL KUGETV(VNAME,LPAR,LLL)
59 CALL GSVOLU(CHNAME,CHISH,NUMED,QQ(LPAR),NP,IVOLU)
61 ELSEIF (CHPATL.EQ.'SPOS') THEN
62 CALL KUGETC(CHNAME,NCH)
64 CALL KUGETC(CHPAR,NCH)
69 CALL KUGETC(IONLY,NCH)
70 CALL GSPOS(CHNAME,N,CHPAR,X0,Y0,Z0,IROT,IONLY)
72 ELSEIF (CHPATL.EQ.'SDVN') THEN
73 CALL KUGETC(CHNAME,NCH)
74 CALL KUGETC(CHPAR,NCH)
77 IF (CHAX.EQ.'X'.OR.CHAX.EQ.'1') THEN
79 ELSEIF (CHAX.EQ.'Y'.OR.CHAX.EQ.'2') THEN
81 ELSEIF (CHAX.EQ.'Z'.OR.CHAX.EQ.'3') THEN
84 IF(IAX.LE.3.AND.IAX.GE.1) THEN
85 CALL GSDVN(CHNAME,CHPAR,NDIV,IAX)
88 10000 FORMAT(' *** GXGEOM *** Wrong value of IAX')
92 ELSEIF (CHPATL.EQ.'PVOLU') THEN
94 IF(IWKSTY.GE.1.AND.IWKSTY.LE.10) THEN
100 ELSEIF (CHPATL.EQ.'SROTM') THEN
108 CALL GSROTM(N,THETA1,PHI1,THETA2,PHI2,THETA3,PHI3)
110 ELSEIF (CHPATL.EQ.'PROTM') THEN
112 IF(IWKSTY.GE.1.AND.IWKSTY.LE.10) THEN
118 ELSEIF (CHPATL.EQ.'STMED') THEN
130 CALL KUGETC(VNAME,NCH)
140 CALL GSTMED(NMED,VNAME,NMAT,ISVOL,IFIELD,FIELDM,TMAXFD,
141 + STEMAX,DEEMAX,EPSIL,STMIN,UBUF,0)
143 ELSEIF (CHPATL.EQ.'PTMED') THEN
145 IF(IWKSTY.GE.1.AND.IWKSTY.LE.10) THEN
151 ELSEIF (CHPATL.EQ.'EDITV') THEN
159 ELSEIF(CHPATL.EQ.'SBOX') THEN
160 CALL KUGETC(CHNAME,NCH)
165 CALL KUGETC(CYESNO,NCHAR)
169 IF(CYESNO.EQ.'YES')THEN
174 CALL GSVOLU(CHNAME,'BOX ',NUMED,ARRAY,NUMP,IVOLU)
176 ELSEIF(CHPATL.EQ.'STRD1') THEN
177 CALL KUGETC(CHNAME,NCH)
183 CALL KUGETC(CYESNO,NCHAR)
188 IF(CYESNO.EQ.'YES')THEN
193 CALL GSVOLU(CHNAME,'TRD1',NUMED,ARRAY,NUMP,IVOLU)
195 ELSEIF(CHPATL.EQ.'STRD2') THEN
196 CALL KUGETC(CHNAME,NCH)
203 CALL KUGETC(CYESNO,NCHAR)
209 IF(CYESNO.EQ.'YES')THEN
214 CALL GSVOLU(CHNAME,'TRD2',NUMED,ARRAY,NUMP,IVOLU)
216 ELSEIF(CHPATL.EQ.'STUBE') THEN
217 CALL KUGETC(CHNAME,NCH)
222 CALL KUGETC(CYESNO,NCHAR)
226 IF(CYESNO.EQ.'YES')THEN
231 CALL GSVOLU(CHNAME,'TUBE',NUMED,ARRAY,NUMP,IVOLU)
233 ELSEIF(CHPATL.EQ.'STUBS') THEN
234 CALL KUGETC(CHNAME,NCH)
241 CALL KUGETC(CYESNO,NCHAR)
247 IF(CYESNO.EQ.'YES')THEN
252 CALL GSVOLU(CHNAME,'TUBS',NUMED,ARRAY,NUMP,IVOLU)
254 ELSEIF(CHPATL.EQ.'SCONE') THEN
255 CALL KUGETC(CHNAME,NCH)
262 CALL KUGETC(CYESNO,NCHAR)
268 IF(CYESNO.EQ.'YES')THEN
273 CALL GSVOLU(CHNAME,'CONE',NUMED,ARRAY,NUMP,IVOLU)
275 ELSEIF(CHPATL.EQ.'SCONS') THEN
276 CALL KUGETC(CHNAME,NCH)
285 CALL KUGETC(CYESNO,NCHAR)
293 IF(CYESNO.EQ.'YES')THEN
298 CALL GSVOLU(CHNAME,'CONS',NUMED,ARRAY,NUMP,IVOLU)
300 ELSEIF(CHPATL.EQ.'SSPHE') THEN
301 CALL KUGETC(CHNAME,NCH)
309 CALL KUGETC(CYESNO,NCHAR)
316 IF(CYESNO.EQ.'YES')THEN
321 CALL GSVOLU(CHNAME,'SPHE',NUMED,ARRAY,NUMP,IVOLU)
323 ELSEIF(CHPATL.EQ.'SPARA') THEN
324 CALL KUGETC(CHNAME,NCH)
332 CALL KUGETC(CYESNO,NCHAR)
339 IF(CYESNO.EQ.'YES')THEN
344 CALL GSVOLU(CHNAME,'PARA',NUMED,ARRAY,NUMP,IVOLU)
346 ELSEIF (CHPATL.EQ.'CADINT') THEN
347 CALL KUGETS(FNAME,NCH)
348 CALL KUGETC(ANAME,NCH)
352 CALL KUGETS(INST,NCH)
353 CALL KUGETS(SITE,NCH)
354 CALL KUGETS(DEPT,NCH)
355 CALL KUGETS(RESP,NCH)
356 CALL GTXSET(FNAME,ANAME,NBINS,LUNIT,LUNIT2,
357 +INST,SITE,DEPT,RESP)
359 ELSEIF (CHPATL.EQ.'WEUCLID') THEN
361 CALL KUGETS(FNAME,NCH)
362 CALL KUGETC(CHNAME,NCH1)
365 CALL GWEUCL (LUN,FNAME(1:NCH),CHNAME,NUMBER,NLEVEL)
367 ELSEIF (CHPATL.EQ.'REUCLID') THEN
369 CALL KUGETS(FNAME,NCH)
370 CALL GREUCL (LUN,FNAME(1:NCH))