5 * Revision 1.1.1.1 1995/10/24 10:20:00 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani
15 *=== hklass ===========================================================*
17 SUBROUTINE HKLASS(IT,LT,LA,LL,KFR1,KFR2,KR1R,KR2R,KR1L,KR2L,IV,
18 *IMPS,IMVE,IB08,IA08,IB10,IA10,AS,B8,KFA1,KFA2,KFA3,KFA4,IOPT)
20 #include "geant321/dblprc.inc"
21 #include "geant321/dimpar.inc"
22 #include "geant321/iounit.inc"
24 *----------------------------------------------------------------------*
25 * Hklass89: slight revision by A. Ferrari *
26 *----------------------------------------------------------------------*
28 #include "geant321/finpar2.inc"
29 #include "geant321/part.inc"
32 DIMENSION KFR1(*),KFR2(*),IV(*),IMPS(6,6),IMVE(6,6),
33 *IB08(6,21),IB10(6,21),IA08(6,21),IA10(6,21)
35 C CLASSIFICATION OF THE HADRONS ACCORDING TO THEIR FLAVOUR CONTENTS
37 *or IF (LT.EQ.1)WRITE(LUNOUT,288)IT,LT,LA,LL,KR1R,KR2R,KR1L,KR2L,
38 *or *AS,B8,KFA1,KFA2,KFA3,KFA4,IOPT
39 *or 288 FORMAT (8I5,2E12.4,5I5/
40 *or *' HKLASS IT,LT,LA,LL,KR1R,KR2R,KR1L,KR2L,AS,B8,KFA1,KFA2,KFA3,'
42 C**RESC=PROBABILITY FOR AN U,AU/D,AD/U,AD/D,AU PAIR TO BECOME E HEAVY
65 IF(B.GT.0.D0.OR.C.GT.0.D0) GO TO 91
69 IF(KR1L.EQ.0)LI=KR2L-6
72 91 IF(B.GT.0.D0) GO TO 92
77 CALL INDEX2(KA,KB,IND)
82 IF(KR1L.EQ.0)LI=KR2L-6
85 CALL INDEX2(KA,KB,IND)
98 IF(IOPT.EQ.3.AND.LL.EQ.1) K1J=KFA2
99 IF(IOPT.EQ.2) K1J=KFA1
100 IF(IOPT.EQ.2) K2J=KFA2
101 IF(IOPT.EQ.4.AND.KFA1.LE.6.AND.LL.EQ.1) K1J=KFA2
102 IF(IOPT.EQ.4.AND.KFA1.LE.6.AND.LL.EQ.1) K2J=KFA3
103 IF(IOPT.EQ.4.AND.KFA1.GT.6.AND.LL.EQ.0) K1J=KFA2
104 IF(IOPT.EQ.4.AND.KFA1.GT.6.AND.LL.EQ.0) K2J=KFA3
105 IF(IOPT.EQ.5.AND.LL.EQ.0) K1J=KFA3
106 IF(IOPT.EQ.5.AND.LL.EQ.0) K2J=KFA4
107 IF(IOPT.EQ.5.AND.LL.EQ.1) K1J=KFA1
108 IF(IOPT.EQ.5.AND.LL.EQ.1) K2J=KFA2
110 IF(I.GT.1)K1J=KFR1(J)
111 IF(I.GT.1)K2J=KFR2(J)
113 *or IF(LT.EQ.0) GO TO 606
114 *or WRITE(LUNOUT,601)K1I,K2I,K1J,K2J,IVY,I,LL,LA
115 *or 601 FORMAT(1H0,8I3,27HK1I,K2I,K1J,K2J,IVY,I,LL,LA)
117 GO TO(1,4,5,2,3,1,4,5,2,3),IVY
141 CALL INDEX2(KA,KB,IND)
151 CALL INDEX2(KA,KB,IND)
159 IF(INDEX.EQ.33.AND.Z.LE.0.5D0)INDEX=35
160 IF(.NOT.LSWTCH) GO TO 40
163 IF(X.GE.RESC) GO TO 40
164 IF(INDEX.EQ.33.OR.INDEX.EQ.35.OR.INDEX.EQ.96) INDEX=181
165 IF(INDEX.EQ.32) INDEX=182
166 IF(INDEX.EQ.34) INDEX=183
169 IF(INDEX.EQ.23) GO TO 15
170 IF(INDEX.EQ.31.AND.Z.LE.0.33D0)INDEX=95
171 IF(.NOT.LSWTCH) GO TO 40
172 IF(INDEX.EQ.31.AND.Z.LE.0.97D0)INDEX=95
175 IF(X.GE.RESC) GO TO 40
176 IF(INDEX.EQ.23.OR.INDEX.EQ.31.OR.INDEX.EQ.95) INDEX=181
177 IF(INDEX.EQ.13) INDEX=182
178 IF(INDEX.EQ.14) INDEX=183
187 IF(INDEX.EQ.22.AND.Z.LE.0.5D0)INDEX=17
188 IF(INDEX.EQ.137.AND.Z.LE.0.5D0)INDEX=141
189 IF(INDEX.EQ.138.AND.Z.LE.0.5D0)INDEX=143
190 IF(INDEX.EQ.139.AND.Z.LE.0.5D0)INDEX=144
191 IF(INDEX.EQ.0)GO TO 24
193 C ANTIBARYONMULTIPLETTS
201 IF(INDEX.EQ.100.AND.Z.LE.0.5D0)INDEX=18
202 IF(INDEX.EQ.149.AND.Z.LE.0.5D0)INDEX=153
203 IF(INDEX.EQ.150.AND.Z.LE.0.5D0)INDEX=155
204 IF(INDEX.EQ.151.AND.Z.LE.0.5D0)INDEX=156
205 IF(INDEX.EQ.0)GO TO 34
209 IF(Z.LE.0.5D0)INDEX=31
210 IF(Z.LE.0.5D0*0.03D0)INDEX=95
212 IF(Z.LE.0.5D0)INDEX=33
213 IF(Z.LE.0.5D0*0.67D0)INDEX=95
216 C UEBERLESEN DER HADRONDATEN
218 IF(LT.EQ.0) GO TO 604
219 WRITE(LUNOUT,602)INDEX
220 602 FORMAT(1H0,I3,6H=INDEX)
231 IF(LT.EQ.0) GO TO 600
235 WRITE(LUNOUT,503)ANF(I),AMF(I),ICHF(I),IBARF(I),NREF(I),LL
236 503 FORMAT((1X,A7,1X,F6.3,1X,4(I3,1X),
237 *'MAME,MASS,Q,BQ,NR,LL'))
238 IF(IX.EQ.0) GO TO 600
240 IF(IZ.EQ.2) GO TO 600