]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/zebra/dzebra/dzdata.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / dzebra / dzdata.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/03/06 10:47:06 mclareni
6* Zebra
7*
8*
9*-----------------------------------------------------------
10#include "zebra/pilot.h"
11#if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
12#include "zebra/debugvf1.inc"
13#endif
14 SUBROUTINE DZDATA (CHTEXT)
15 SAVE IHOLE
16#include "zebra/mqsys.inc"
17#include "zebra/qequ.inc"
18#include "zebra/mzcn.inc"
19#include "zebra/zmach.inc"
20#include "zebra/zunit.inc"
21#include "zebra/dzc1.inc"
22
23
24 PARAMETER ( MLITXQ = 6 )
25 PARAMETER ( NLINEQ = 24 )
26 PARAMETER ( MLLKBQ = 17 , MLLKEQ = 24 )
27 PARAMETER ( MLDRQ = 10 )
28 PARAMETER ( MLIDBQ = 11 , MLIDEQ = 14 )
29
30 PARAMETER ( NENLNQ = 5 )
31 PARAMETER ( NLNGRQ = 10 )
32
33 CHARACTER*(*) CHTEXT
34
35 CHARACTER CHROUT*(*),CHSTAK*6 ,CTEXT1*1,CSTART*3
36 PARAMETER (CHROUT = 'DZDATA')
37 DATA IHOLE /4H*HO*/
38
39#if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
40#include "zebra/debugvf2.inc"
41#endif
42
43
44 CHSTAK = CQSTAK(MCQSIQ:)
45 CQSTAK(MCQSIQ:) = CHROUT
46
47 IF (NDW.LE.0) GO TO 999
48
49 CTEXT1 = CHTEXT(1:1)
50 CSTART = ' '
51 IF (LEN(CHTEXT).GT.1) THEN
52 IF (CTEXT1.EQ.'+') CSTART = CHTEXT(2:)
53 ENDIF
54
55 9 IF (CHTEXT.NE.CDUMMQ.AND.CTEXT1.NE.'+') THEN
56 CQLINE = ' '//CHTEXT
57 CQLINE(60:) = '--------------------'
58 CALL DZTEXT(0,CDUMMQ,1)
59 ENDIF
60 JDST = 1
61
62
63 10 JDL = JDST
64
65 12 NSAME= IUSAME (LQ(LBASE+KQS+1),JDL,NDW,30,JSAME)
66
67 JDL = JSAME + NSAME - 1
68 IF (JDL.NE.NDW) JDL=10*(JDL/10)
69 IF (JSAME.NE.JDST) GO TO 20
70 16 J = LBASE + JSAME
71 N = JDL+1 - JSAME
72 WRITE(CQLINE,'(T30,''====='',I9,'' WORDS from'',I9,
73 X '' to'',I9,'' all contain'',Z18)') N,JSAME,JDL,LQ(J+KQS)
74 CALL DZTEXT(0,CDUMMQ,1)
75 IF (JDL.GE.NDW) GO TO 999
76 JDST= JDL + 1
77 GO TO 10
78
79 20 JDE = JSAME - 1
80 N = JDE - JDST
81 NPG = N/NENLNQ + 1
82 IF (NPG.GT.NLNGRQ) NPG = NLNGRQ
83 NPG1= NPG + 1
84 NGRV= N/(NPG*NENLNQ) + 1
85
86 CALL ZPAGE (IQPRNT,NPG1)
87 NGRP = (NQLNOR-NQUSED)/NPG1
88 NGRV = MIN(NGRV,NGRP)
89
90 NSTEP= NPG*NGRV
91 JDE = MIN(NDW,JDST-1+NENLNQ*NSTEP)
92 IF (JDE.NE.NDW.AND.JDE.GE.JDL) GO TO 12
93 JSAME= MAX(JDE+1,JSAME)
94 NPG = MIN(NPG,JDE+1-JDST)
95 DO 300 JGROUP=1,NGRV
96 IF (JGROUP.GT.1) CALL ZPAGE(IQPRNT,1)
97 CQLINE = ' '//CSTART
98 ILINE = MLITXQ
99
100 DO 200 JLINE=1,NPG
101 JD = JDST
102
103 DO 100 JWORD=1,NENLNQ
104 IF (JD.GT.JDE) GO TO 100
105 CALL DZTYP
106 IPBEG = ILINE + 1
107 IPEND = ILINE + NLINEQ
108 IF (JTYP.LT.0) THEN
109 WRITE(CQLINE(ILINE+1:ILINE+6),'(I6)') JD+IBASE
110 IF (IQFOUL.EQ.0) THEN
111 IF (JBIT(IQ(KQS+IQLS),IQDROP).EQ.1)
112 I CQLINE(ILINE+MLDRQ:ILINE+MLDRQ) = '('
113 IF (IQND.LT.0) IQID = IHOLE
114 WRITE
115 W (CQLINE(ILINE+MLIDBQ:ILINE+MLIDEQ),'(A4)')IQID
116 ELSEIF (IQFOUL.GT.0) THEN
117 CQLINE(ILINE+MLDRQ:ILINE+MLDRQ) = '?'
118 CQLINE(ILINE+MLIDBQ:ILINE+MLIDEQ) = '****'
119 ELSE
120 CQLINE(ILINE+MLDRQ:ILINE+MLDRQ) = '?'
121 CQLINE(ILINE+MLIDBQ:ILINE+MLIDEQ) = '-'
122 ENDIF
123 WRITE
124 W (CQLINE(ILINE+MLLKBQ:ILINE+MLLKEQ),'(I8)')
125 W LQ(KQS+LBASE+JD)
126 ILINE = ILINE + NLINEQ
127 ELSEIF (JTYP.EQ.1) THEN
128#if defined(CERNLIB_QMIBM)||defined(CERNLIB_QMIBX)||defined(CERNLIB_QMND3)||defined(CERNLIB_QMCRY)||defined(CERNLIB_QMDOS)
129 WRITE(CQLINE(IPBEG:IPEND),'(I6,1X,''Z'',Z16)')
130#endif
131#if (!defined(CERNLIB_QMIBM))&&(!defined(CERNLIB_QMIBX))&&(!defined(CERNLIB_QMND3))&&(!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMDOS))
132 WRITE(CQLINE(IPBEG:IPEND),'(I6,1X,''Z'',Z16.16)')
133#endif
134 W JD+IBASE,LQ(KQS+LBASE+JD)
135 ELSEIF (JTYP.EQ.2) THEN
136 WRITE(CQLINE(IPBEG:IPEND),'(I6,I18)')
137 W JD+IBASE,LQ(KQS+LBASE+JD)
138 ELSEIF (JTYP.EQ.3) THEN
139 WRITE(CQLINE(IPBEG:IPEND),'(I6,8X,F10.1)')
140 W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ)
141 ELSEIF (JTYP.EQ.4) THEN
142 WRITE(CQLINE(IPBEG:IPEND),'(I6,6X,F12.3)')
143 W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ)
144 ELSEIF (JTYP.EQ.5) THEN
145 WRITE(CQLINE(IPBEG:IPEND),'(I6,2X,F16.7)')
146 W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ)
147 ELSEIF (JTYP.EQ.6) THEN
148 WRITE(CQLINE(IPBEG:IPEND),'(I6,2X,E16.7)')
149 W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ)
150 ELSEIF (JTYP.EQ.7) THEN
151 WRITE(CQLINE(IPBEG:IPEND),'(I6,13X,''"'',A4)')
152 W JD+IBASE,LQ(KQS+LBASE+JD)
153 ENDIF
154 ILINE = IPEND
155 JD = JD + NSTEP
156 100 CONTINUE
157 CALL DZTEXT(0,CDUMMQ,1)
158 CQLINE = ' '//CSTART
159 ILINE = MLITXQ
160 200 JDST= JDST + 1
161
162 300 CONTINUE
163
164 JDST= JDE + 1
165 IF (JDST.LT.JSAME) GO TO 20
166 IF (JDST.LT.NDW) GO TO 16
167
168 999 CQSTAK(MCQSIQ:) = CHSTAK
169 END