5 * Revision 1.1.1.1 1995/10/24 10:21:51 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.33 by S.Giani
14 C. ******************************************************************
16 C. * Scan Geometry control commands *
18 C. * Author: R.Brun ********** *
20 C. ******************************************************************
22 #include "geant321/gcbank.inc"
23 #include "geant321/gcscal.inc"
24 #include "geant321/gcscan.inc"
25 #include "geant321/gcunit.inc"
26 #include "geant321/gcparm.inc"
27 COMMON/QUEST/IQUEST(100)
32 C. ------------------------------------------------------------------
34 CALL KUPATL(CHPATL,NPAR)
36 IF(CHPATL.EQ.'STURN')THEN
44 WRITE(CHMAIL,10000) CHOPT
45 10000 FORMAT(' SCAN Parameters: SCAN mode is: ',A3)
48 CALL KUGETC(CHOPT,NCH)
49 IF(CHOPT.EQ.'ON') THEN
51 ELSE IF (CHOPT.EQ.'OFF') THEN
53 ELSE IF (CHOPT.EQ.'INIT') THEN
58 ELSEIF(CHPATL.EQ.'TETA')THEN
61 WRITE(CHMAIL, 10100) NTETA, TETMIN, TETMAX, MODTET
62 10100 FORMAT(' SCAN Parameters: NTETA = ',I5,' MIN = ',G10.3,
63 + ' MAX = ',G10.3, ' MODE = ',I2)
69 IF(NSLMAX.EQ.0)NSLMAX=5
72 ELSEIF(CHPATL.EQ.'PHI')THEN
75 WRITE(CHMAIL, 10200) NPHI, PHIMIN, PHIMAX
76 10200 FORMAT(' SCAN Parameters: NPHI = ',I5,' MIN = ',G10.3,
85 IF(NSLMAX.EQ.0)NSLMAX=5
87 ELSEIF(CHPATL.EQ.'SLIST')THEN
92 WRITE(CHMAIL,10300) NSLIST, (ISLIST(J), J=1, NPAWRI)
93 10300 FORMAT(' SCAN Parameters: ',I3,' Scan volumes :',8(1X,A4))
95 10 IF(NSLIST.GT.NPADON) THEN
96 NPAWRI=MIN(NSLIST-NPADON,15)
97 WRITE(CHMAIL,10400)(ISLIST(J),J=NPADON+1,NPADON+NPAWRI)
98 10400 FORMAT((1X,15(1X,A4)))
104 CALL VBLANK(ISLIST, MSLIST)
105 IF(NPAR.GT.MSLIST) THEN
106 WRITE(CHMAIL,10500) MSLIST
107 10500 FORMAT(' Warning! Only first ',I3,' scan volumes ',
113 DO 20 I=1,MIN(NPAR,MSLIST)
114 CALL KUGETC(CHOPT,NCH)
116 IF(NPAR.EQ.1.AND.CHOPT.EQ.'.') THEN
117 CALL MZDROP(IXCONS,LSCAN,' ')
123 CALL UCTOH(CHOPT,ISLIST(NSLIST),4,NCH)
124 JVOL=IUCOMP(ISLIST(NSLIST),IQ(JVOLUM+1),NVOL)
126 WRITE(CHMAIL,10600) ISLIST(NSLIST)
127 10600 FORMAT(' Warning: volume ',A4,' does not exist;',
135 10700 FORMAT(' Warning! No valid volume defined')
139 ELSEIF(CHPATL.EQ.'VERTEX')THEN
141 IF(NSLMAX.EQ.0)NSLMAX=5
142 CALL KUGETR(VSCAN(1))
143 CALL KUGETR(VSCAN(2))
144 CALL KUGETR(VSCAN(3))
145 ELSEIF(CHPATL.EQ.'PCUTS')THEN
148 WRITE(CHMAIL,10800) IPARAM
149 10800 FORMAT(' Parametrization flag = ',I2,
150 + ' Parametrization cuts:')
153 10900 FORMAT(' Gamma Electrons Ch. Hadrons',
154 + ' Neu. Hadrons Muons')
156 WRITE(CHMAIL,11000) PACUTS
157 11000 FORMAT(5(1X,G13.4))
162 CALL KUGETR(PACUTS(JPACUT))
165 ELSEIF(CHPATL.EQ.'SFACTORS')THEN
170 ELSEIF(CHPATL.EQ.'LSCAN')THEN
173 CALL KUGETC(NAME,NCH)
174 CALL KUGETC(CHOPT,NCH)
175 CALL GXSCAL(IDPHI,NAME,CHOPT)
176 IF(INDEX(CHOPT,'P').NE.0)THEN
177 IF(IDPHI.NE.0)CALL HPLEGO(IDPHI,30.,30.)
179 ELSEIF(CHPATL.EQ.'HSCAN')THEN
182 CALL KUGETC(NAME,NCH)
183 CALL KUGETC(CHOPT,NCH)
184 CALL GXSCAH(IDPHI,NAME,CHOPT)
185 IF(INDEX(CHOPT,'P').NE.0)THEN
186 IF(IDPHI.NE.0)CALL HPLOT(IDPHI,' ',' ',0)