5 * Revision 1.2 1998/09/25 09:23:48 mclareni
6 * Modifications for the Mklinux port flagged by CERNLIB_PPC
8 * Revision 1.1.1.1 1995/10/24 10:20:23 cernlib
12 #include "geant321/pilot.h"
13 *CMZ : 3.21/02 29/03/94 15.41.26 by S.Giani
15 SUBROUTINE GDFSPC(NAME,ISORT,INTER)
17 C. ******************************************************************
19 C. * Draw a set of full specification of KNAME *
20 C. * and all its sons (not duplicated); *
21 C. * if ISORT=1 plots will be alfabetically sorted; *
22 C. * if INTER=1 it will prompt the user at each plot *
24 C. * ==>Called by : <USER>, <GXINT> *
25 C. * Author : P.Zanarini ********* *
27 C. ******************************************************************
29 #include "geant321/gcunit.inc"
30 #include "geant321/gcdraw.inc"
31 #include "geant321/gcbank.inc"
32 #include "geant321/gcnum.inc"
34 CHARACTER*4 CHKEY,NAME,NAME1,NAMOLD
36 C. ------------------------------------------------------------------
38 C Is NAME an existing volume ?
40 CALL GLOOK(NAME,IQ(JVOLUM+1),NVOLUM,IVO)
41 IF (IVO.LE.0) GO TO 999
43 C Build tree structure using view bank 11
46 CALL UCTOH (NAME, IROOT, 4, 4)
47 CALL GDTR0 (IVTREE, IROOT, 0, IER)
48 IF (IER.NE.0) GO TO 999
60 JX=IQ(JXON1+IQ(JSCA1+J))
61 30 IF (JX.EQ.0) GO TO 40
67 IF (J.LE.JMAX) GO TO 20
70 IQ(JSCA1+I)=IQ(JNAM1+IQ(JSCA1+I))
73 IF (ISORT.NE.1) GO TO 110
74 #if defined(CERNLIB_VAX)||defined(CERNLIB_MSDOS)||defined(CERNLIB_WINNT)||(defined(CERNLIB_LINUX) && !defined(CERNLIB_PPC))
76 C Reverse bytes of word to be sorted
78 CALL VXINVB(IQ(JSCA1+1),JMAX)
81 C Perform bubble sort on names in ISCA1 (ascending order)
87 IF (.NOT.MORE) GO TO 90
90 IF (IQ(JSCA1+I).LE.IQ(JSCA1+I+1)) GO TO 80
92 IQ(JSCA1+I)=IQ(JSCA1+I+1)
99 #if defined(CERNLIB_VAX)||defined(CERNLIB_MSDOS)||defined(CERNLIB_WINNT)||(defined(CERNLIB_LINUX) && !defined(CERNLIB_PPC))
101 C Reverse bytes of words that have been sorted
103 CALL VXINVB(IQ(JSCA1+1),JMAX)
106 C Draw specs stored in ISCA1
112 CALL UHTOC(KNAME,4,NAME1,4)
113 IF (NAME1.EQ.NAMOLD) GO TO 120
115 WRITE (CHMAIL,1000) NAME1
122 CALL KUPROC('<CR>, NO, STOP',CHKEY,NCH)
123 IF (CHKEY.EQ.'STOP') GO TO 999
126 IF (NCH.GT.0) GO TO 120
130 C Delete tree structure on view bank 11
134 1000 FORMAT (' DRAWING SPEC OF ',A4)