]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/packlib/zebra/mqg/mztabm.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / mqg / mztabm.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.2  1996/04/18 16:12:47  mclareni
6 * Incorporate changes from J.Zoll for version 3.77
7 *
8 * Revision 1.1.1.1  1996/03/06 10:47:20  mclareni
9 * Zebra
10 *
11 *
12 #include "zebra/pilot.h"
13       SUBROUTINE MZTABM
14
15 C-    Construct Memory Occupation table with one entry for
16 C-    each division, setting actions according to :
17 C-       MQDVGA    division bits for garbage collection
18 C-       MQDVWI                  for wipe
19 C-
20 C-    Return division bits for all active divisions in MQDVAC
21
22 #include "zebra/zstate.inc"
23 #include "zebra/zunit.inc"
24 #include "zebra/mqsys.inc"
25 #include "zebra/mzct.inc"
26 C--------------    End CDE                             --------------
27 #if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
28       DIMENSION    NAMESR(2)
29       DATA  NAMESR / 4HMZTA, 4HBM   /
30 #endif
31 #if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
32       DATA  NAMESR / 6HMZTABM /
33 #endif
34 #if !defined(CERNLIB_QTRHOLL)
35       CHARACTER    NAMESR*8
36       PARAMETER   (NAMESR = 'MZTABM  ')
37 #endif
38
39 #include "zebra/q_jbit.inc"
40 #include "zebra/q_sbit1.inc"
41
42
43 #include "zebra/qtrace.inc"
44
45       LQMTBR = 0
46       IQTBIT = IQDROP
47       IQTVAL = 0
48       NQFREE = 0
49       IQPART = 0
50       MQDVAC = 0
51       IQFLIO = 0
52
53       IF (JQSTMV.LT.0)  THEN
54           IQTNMV = 0
55           JQDVM1 = 0
56           JQDVM2 = 0
57           NQDVMV = 0
58         ENDIF
59
60       JQGAPM = 0
61       JQGAPR = 0
62       LQMTE  = LQWKTB + NQWKTB - 1
63       LQMTA  = LQMTE - 160
64       LQMTB  = LQMTA
65       LQRTE  = LQMTA - 10
66       LQTC2  = LQRTE
67       LQRTA  = LQWKTB
68       LQTA   = LQRTA + 1
69       LQTE   = LQTA
70       LQTC1  = LQTA
71
72 #if defined(CERNLIB_QDEVZE)
73       IF (NQDEVZ.GE.11)  WRITE (IQLOG,9828) LQRTA,LQRTE,LQMTA,LQMTE
74  9828 FORMAT (1X/' DEVZE MZTABM,  LQRTA,LQRTE,LQMTA,LQMTE=',4I9)
75 #endif
76
77 C----              Loop all divisions
78
79       LMT  = LQMTA
80       JDIV = 1
81
82    32 LQ(LMT)   = JDIV
83       LQ(LMT+1) = 0
84       LQ(LMT+2) = 0
85       LQ(LMT+3) = LQSTA(KQT+JDIV)
86       LQ(LMT+4) = LQEND(KQT+JDIV)
87       LQ(LMT+5) = 0
88       LQ(LMT+6) = 0
89       LQ(LMT+7) = 0
90       NW = LQ(LMT+4) - LQ(LMT+3)
91       IF (NW.EQ.0)                  GO TO 37
92       NQDSIZ(KQT+JDIV) = MAX (NQDSIZ(KQT+JDIV),NW)
93       IF (JBIT(MQDVWI,JDIV).NE.0)   GO TO 41
94       IF (JBIT(MQDVGA,JDIV).NE.0)   GO TO 44
95       GO TO 48
96
97 C--                Division is empty
98
99    37 LQ(LMT+1) = -1
100       GO TO 48
101
102 C--                Division for wipe
103
104    41 IF (JDIV.EQ.JQDVSY)          GO TO 48
105       LQ(LMT+1) = 4
106       GO TO 45
107
108 C--                Division with garbage collection
109
110    44 LQ(LMT+1) = 3
111    45 MQDVAC = MSBIT1 (MQDVAC,JDIV)
112
113    48 LMT  = LMT  + 8
114       JDIV = JDIV + 1
115       IF (JDIV.EQ.JQDVLL+1)  JDIV=JQDVSY
116       IF (JDIV.LT.21)              GO TO 32
117       LQMTE  = LMT
118       LQMTLU = LMT
119       LQ(LQMTE) = 21
120 #if defined(CERNLIB_QDEVZE)
121       IF (NQDEVZ.LT.11)            GO TO 999
122       WRITE (IQLOG,9849) LQMTE,MQDVGA,MQDVWI,MQDVAC
123       WRITE (IQLOG,9850)
124       WRITE (IQLOG,9851) (LQ(J),J=LQMTA,LQMTE-1)
125  9850 FORMAT (16X,' DIV ACT NWS      LF    LE+1')
126  9851 FORMAT (16X,3I4,2I8,3I4)
127 #endif
128 #if (defined(CERNLIB_QDEVZE))&&(defined(CERNLIB_HEX))
129  9849 FORMAT (1X/' DEVZE MZTABM,  LQMTE,MQDVGA,MQDVWI,MQDVAC='
130      F,5X,I8,3(2X,Z8))
131 #endif
132 #if (defined(CERNLIB_QDEVZE))&&(!defined(CERNLIB_HEX))
133  9849 FORMAT (1X/' DEVZE MZTABM,  LQMTE,MQDVGA,MQDVWI,MQDVAC='
134      F,5X,I8,3(2X,O11))
135 #endif
136 #include "zebra/qtrace99.inc"
137       RETURN
138       END
139 *      ==================================================
140 #include "zebra/qcardl.inc"