1 *CMZ : 05/02/96 17.20.51 by S.Ravndal
2 *CMZ : 3.21/02 07/07/94 19.47.38 by S.Giani
6 C. ******************************************************************
8 C. * General control commands *
10 C. * Authors: R.Brun ********** *
11 C. * P.Zanarini ********** *
12 C. * S.Giani ********** *
14 C. ******************************************************************
16 #include "geant321/gcbank.inc"
17 #include "geant321/pawc.inc"
18 #include "geant321/gctmed.inc"
19 #include "geant321/gcunit.inc"
20 #include "geant321/gcflag.inc"
21 #include "geant321/gckine.inc"
22 #include "geant321/gcphys.inc"
23 #include "geant321/gcmulo.inc"
24 #include "geant321/gclist.inc"
25 #include "geant321/gcstak.inc"
26 #include "geant321/gcdraw.inc"
28 CHARACTER*4 CHMECA,CHDEB,CHSET,CHDET,CHMECS(20)
30 CHARACTER*32 CHPAR,NAMATE,NAPAR
31 CHARACTER*32 UBUF,WMAT,AA,ZZ
32 CHARACTER*32 BRATIO,MODE
34 C. ------------------------------------------------------------------
37 CALL KUPATL(CHPATL,NPAR)
39 IF (CHPATL.EQ.'KINE') THEN
46 ELSEIF (CHPATL.EQ.'SORD') THEN
49 * ELSEIF (CHPATL.EQ.'PATR') THEN
52 * WRITE(CHMAIL,'('' *** GXCONT: Parallel tracking disabled, '',
53 * + ''see documentation'')')
56 ELSEIF (CHPATL.EQ.'RUNG') THEN
60 ELSEIF (CHPATL.EQ.'GTIME') THEN
65 ELSEIF (CHPATL.EQ.'TRACK') THEN
66 IF(JXYZ.NE.0)CALL MZDROP(IXDIV,JXYZ,' ')
67 IF(JHITS.NE.0)CALL MZDROP(IXDIV,JHITS,' ')
71 ELSEIF (CHPATL.EQ.'TRIGGER') THEN
74 IF( NEVENT .EQ. 10000000 .OR. NEVENT .NE. IEVENT) THEN
82 IF( IEVENT .LT. NEVENT ) THEN
88 CALL GRNDMQ(IQ(JRUNG+19),IQ(JRUNG+20),0,'G')
100 * CALL GRNDMQ(IQ(JRUNG+19),IQ(JRUNG+20),0,'G')
101 * IQ(JRUNG+29)=IEVENT
104 ELSEIF (CHPATL.EQ.'SWITCH') THEN
106 IF(I.GE.1.AND.I.LE.10) THEN
108 WRITE(CHMAIL,'('' ISWIT('',I2,'')= '',I3)')I,ISWIT(I)
111 CALL KUGETI(ISWIT(I))
114 ELSEIF (CHPATL.EQ.'PRINT') THEN
115 CALL KUGETC(CHNAME,NCH)
118 CALL GPRINT(CHNAME,N)
120 ELSEIF (CHPATL.EQ.'DEBUG') THEN
121 CALL KUGETC(CHDEB,NCH)
122 IF(CHDEB.EQ.'ON')THEN
133 ELSEIF (CHPATL.EQ.'OUTPUT_LP') THEN
136 ELSEIF (CHPATL.EQ.'PHITS') THEN
137 CALL KUGETC(CHSET,NCH)
138 CALL KUGETC(CHDET,NCH)
141 CALL GPHITS(CHSET,CHDET)
144 ELSEIF (CHPATL.EQ.'PDIGI') THEN
145 CALL KUGETC(CHSET,NCH)
146 CALL KUGETC(CHDET,NCH)
147 CALL GPDIGI(CHSET,CHDET)
149 ELSEIF (CHPATL.EQ.'MZLOGL') THEN
153 CALL MZLOGL(IXSTOR,LEVEL)
155 ELSEIF (CHPATL.EQ.'PMATE') THEN
157 IF(IWKSTY.GE.1.AND.IWKSTY.LE.10) THEN
163 ELSEIF (CHPATL.EQ.'SMATE') THEN
165 CALL KUGETC(NAMATE,NCH)
171 CALL KUGETV(UBUF,LLOW,LHIGH)
173 CALL GSMATE(IMAT,NAMATE,A,Z,DENS,RADL,ABSL,QQ(LLOW),NWBUF)
175 ELSEIF (CHPATL.EQ.'SMIXT') THEN
177 CALL KUGETC(NAMATE,NCH)
178 CALL KUGETV(AA,LLOW,LHIGH)
179 CALL KUGETV(ZZ,LLO1,LHIG1)
182 CALL KUGETV(WMAT,LLO2,LHIG2)
183 CALL GSMIXT(IMAT,NAMATE,QQ(LLOW),QQ(LLO1),DENS,NLMAT,QQ(LLO2))
185 ELSEIF (CHPATL.EQ.'PRMAT') THEN
188 CALL KUGETC(CHMECA,NCH)
189 CALL GPRMAT(IMATE,IPART,CHMECA,NEKBIN,ELOW)
191 ELSEIF (CHPATL.EQ.'DRMAT') THEN
197 CALL KUGETC(CHMECS(KMEC),NCH)
203 CALL GDRMAT(IMATE,IPART,CHMECS,NMEC)
205 ELSEIF (CHPATL.EQ.'PLMAT') THEN
208 CALL KUGETC(CHMECA,NCH)
211 CALL GPLMAT(IMATE,IPART,CHMECA,NEKBIN,ELOW,IDM)
213 ELSEIF (CHPATL.EQ.'SPART') THEN
215 CALL KUGETC(NAPAR,NCH)
220 CALL KUGETV(UBUF,LLOW,LHIGH)
222 CALL KUGETV(BRATIO,LLO1,LHI1)
223 CALL KUGETV(MODE,LLO2,LHI2)
224 CALL GSPART(IPART,NAPAR,ITRTYP,AMASS,CHARGE,TLIFE,
226 CALL GSDK(IPART,QQ(LLO1),IQQ(LLO2))
228 ELSEIF (CHPATL.EQ.'PPART') THEN
230 IF(IWKSTY.GE.1.AND.IWKSTY.LE.10) THEN
236 ELSEIF (CHPATL.EQ.'PRKINE') THEN
238 IF(IWKSTY.GE.1.AND.IWKSTY.LE.10) THEN
244 ELSEIF (CHPATL.EQ.'STPAR') THEN
246 CALL KUGETC(CHPAR,NCH)
248 CALL GSTPAR(ITMED,CHPAR,PARVAL)
250 ELSEIF (CHPATL.EQ.'RNDM') THEN
252 CALL GRNDMQ(IS1,IS2,0,'G')
253 WRITE(6, 10000) IS1, IS2
254 ELSEIF (NPAR.EQ.2) THEN
255 CALL KUGETI(NRNDM(1))
256 CALL KUGETI(NRNDM(2))
257 IF ( NRNDM(2) .NE. 0 ) THEN
258 CALL GRNDMQ(NRNDM(1),NRNDM(2),1,'S')
261 CALL GRNDMQ(NRNDM(1),NRNDM(2),ISEQ,'Q')
262 CALL GRNDMQ(NRNDM(1),NRNDM(2),ISEQ,'S')
267 10100 FORMAT(' Please give 2 seeds to initialize the random ',
268 + 'number generator')
270 10000 FORMAT(' (E154) RANDOM NUMBER = ',2I12)