]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/zebra/mqs/lzhead.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / mqs / lzhead.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.2 1996/04/18 16:12:57 mclareni
6* Incorporate changes from J.Zoll for version 3.77
7*
8* Revision 1.1.1.1 1996/03/06 10:47:12 mclareni
9* Zebra
10*
11*
12#include "zebra/pilot.h"
13 FUNCTION LZHEAD (IXSTOR, LGO)
14
15C- Find start of the linear structure containing bank at LGO
16C- Returns : LZHEAD L of the first bank,
17C- = zero if trouble
18C- IQUEST(1) JBIAS : -ve for normal dependent
19C- 1 for top structure
20C- 2 for stand-alone
21C- IQUEST(2) adr of the supporting link if JBIAS=1
22C- IQUEST(3) error indication if trouble
23
24#include "zebra/mqsys.inc"
25C-------------- End CDE --------------
26
27#include "zebra/q_jbyt.inc"
28
29#include "zebra/qstore.inc"
30
31 LH = LGO
32 IQUEST(1) = 0
33 IQUEST(2) = 0
34 IQUEST(3) = 0
35 IF (LH.EQ.0) GO TO 91
36 LIML = LQSTA(KQT+1)
37 LIMU = LQSTA(KQT+21)
38 LUP = LQ(KQS+LH+1)
39 IF (LUP.EQ.0) GO TO 41
40
41C---- L/s normal dependent : LUP .NE. 0
42
43 NS = IQ(KQS+LUP-2)
44 LOW = LUP - NS
45 22 LNX = LQ(KQS+LH+2)
46 IF (LNX.LT.LIML) GO TO 92
47 IF (LNX.GE.LIMU) GO TO 92
48 IF (LNX.LT.LOW.OR.LNX.GE.LUP) THEN
49 LH = LNX
50 GO TO 22
51 ENDIF
52
53 JBIAS = LNX - LUP
54 IF (LQ(KQS+LUP+JBIAS).NE.LH) GO TO 93
55
56 IQUEST(1) = JBIAS
57 LZHEAD = LH
58 GO TO 999
59
60C---- L/s is a top structure : LUP = 0
61
62 41 LNX = LQ(KQS+LH+2)
63 IF (LNX.EQ.0) GO TO 43
64 IF (LNX.GE.LIML .AND. LNX.LT.LIMU) THEN
65 LH = LNX
66 GO TO 41
67 ENDIF
68
69 IQUEST(1) = 1
70 IF (LQ(KQS+LNX).NE.LH) GO TO 94
71 GO TO 44
72
73 43 IQUEST(1) = 2
74 44 IQUEST(2) = LNX
75 LZHEAD = LH
76 GO TO 999
77
78C---- Errors
79
80 94 IQUEST(3) = 1
81 93 IQUEST(3) = IQUEST(3) + 1
82 92 IQUEST(3) = IQUEST(3) + 1
83 91 IQUEST(3) = IQUEST(3) + 1
84 LZHEAD = 0
85 999 RETURN
86 END