]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/zebra/mqs/mzsdiv.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / mqs / mzsdiv.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.2 1996/04/18 16:13:09 mclareni
6* Incorporate changes from J.Zoll for version 3.77
7*
8* Revision 1.1.1.1 1996/03/06 10:47:22 mclareni
9* Zebra
10*
11*
12#include "zebra/pilot.h"
13 SUBROUTINE MZSDIV (IXDIVP,IFLAGP)
14
15C- Set current store JQSTOR and maybe division JQDIVI from IXDIVP
16C- IFLAG = -ve : store only
17C- else : set also JQDIVI:
18C- to the division if a specific single division,
19C- or JQDIVI = 0 if no such given,
20C- with these restrictions:
21C- > 0 : IXDIVP may not be a compound or generic index
22C- = 4 : specific single division required, =0 not allowed
23C- system called, could be user called
24
25#include "zebra/zstate.inc"
26#include "zebra/mqsys.inc"
27C-------------- END CDE --------------
28 DIMENSION IXDIVP(9), IFLAGP(9)
29#if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
30 DIMENSION NAMESR(2)
31 DATA NAMESR / 4HMZSD, 4HIV /
32#endif
33#if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
34 DATA NAMESR / 6HMZSDIV /
35#endif
36#if !defined(CERNLIB_QTRHOLL)
37 CHARACTER NAMESR*8
38 PARAMETER (NAMESR = 'MZSDIV ')
39#endif
40
41#include "zebra/q_jbyt.inc"
42
43
44 IXIN = IXDIVP(1)
45 IFLAG = IFLAGP(1)
46 JSTO = JBYT (IXIN,27,4)
47 IF (JSTO.NE.JQSTOR) GO TO 41
48 IF (IFLAG.LT.0) GO TO 48
49
50 21 JDIV = JBYT (IXIN,1,26)
51#if defined(CERNLIB_B32)
52 JCOM = JBYT (IXIN,31,2)
53#endif
54#if defined(CERNLIB_B36)
55 JCOM = JBYT (IXIN,31,6)
56#endif
57#if defined(CERNLIB_B48)
58 JCOM = JBYT (IXIN,31,18)
59#endif
60#if defined(CERNLIB_B60)
61 JCOM = JBYT (IXIN,31,30)
62#endif
63#if defined(CERNLIB_B64)
64 JCOM = JBYT (IXIN,31,34)
65#endif
66 IF (JCOM-1) 22, 31, 91
67
68C-- SINGLE DIVISION INDEX
69
70 22 IF (JDIV.GE.25) GO TO 92
71 IF (JDIV.GE.21) GO TO 24
72 IF (JDIV.GT.JQDVLL) THEN
73 IF (JDIV.LT.JQDVSY) GO TO 92
74 ENDIF
75 IF (JDIV.EQ.0) THEN
76 IF (IFLAG.EQ.4) GO TO 94
77 ENDIF
78 JQDIVI = JDIV
79 RETURN
80
81 24 IF (JDIV.EQ.24) GO TO 26
82 IF (IFLAG.GT.0) GO TO 93
83 JQDIVI = 0
84 RETURN
85
86 26 JQDIVI = JQDVSY
87 RETURN
88
89C-- COMPOUND INDEX
90
91 31 IF (IFLAG.GT.0) GO TO 93
92 IF (JDIV.GE.16777216) GO TO 92
93 JQDIVI = 0
94 RETURN
95
96C---- SWITCH ZEBRA STORE
97
98 41 IF (JSTO.GT.NQSTOR) GO TO 91
99 JQSTOR = JSTO
100 JQDIVR = 0
101 KQT = NQOFFT(JQSTOR+1)
102 KQS = NQOFFS(JQSTOR+1)
103
104 DO 44 J=1,12
105 44 IQCUR(J) = IQTABV(KQT+J)
106 NQLOGM = NQLOGL
107 IF (IFLAG.GE.0) GO TO 21
108 48 JQDIVI = 0
109 RETURN
110
111C------ ERROR CONDITIONS
112
113 94 NQCASE = 1
114 93 NQCASE = NQCASE + 1
115 92 NQCASE = NQCASE + 1
116 NQFATA = 1
117 IQUEST(14) = JDIV
118 91 NQCASE = NQCASE + 1
119 NQFATA = NQFATA + 3
120 IQUEST(11) = IXIN
121 IQUEST(12) = IFLAG
122 IQUEST(13) = JSTO
123#include "zebra/qtrace.inc"
124#include "zebra/qtofatal.inc"
125 END
126* ==================================================
127#include "zebra/qcardl.inc"