2 C*********************************************************************
6 C...Purpose: to compress the standard KF codes for use in mass and decay
7 C...arrays; also to check whether a given code actually is defined.
8 COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4)
10 DIMENSION KFTAB(25),KCTAB(25)
11 DATA KFTAB/211,111,221,311,321,130,310,213,113,223,
12 &313,323,2112,2212,210,2110,2210,110,220,330,440,30443,30553,0,0/
13 DATA KCTAB/101,111,112,102,103,221,222,121,131,132,
14 &122,123,332,333,281,282,283,284,285,286,287,231,235,0,0/
20 C...Simple cases: direct translation or table.
21 IF(KFA.EQ.0.OR.KFA.GE.100000) THEN
23 ELSEIF(KFA.LE.100) THEN
25 IF(KF.LT.0.AND.KCHG(KFA,3).EQ.0) LUCOMP=0
29 IF(KFA.EQ.KFTAB(IKF)) THEN
31 IF(KF.LT.0.AND.KCHG(LUCOMP,3).EQ.0) LUCOMP=0
37 C...Subdivide KF code into constituent pieces.
42 KFLR=MOD(KFA/10000,10)
45 IF(KFA-10000*KFLR.LT.1000) THEN
46 IF(KFLB.EQ.0.OR.KFLB.EQ.9.OR.KFLC.EQ.0.OR.KFLC.EQ.9) THEN
47 ELSEIF(KFLB.LT.KFLC) THEN
48 ELSEIF(KF.LT.0.AND.KFLB.EQ.KFLC) THEN
49 ELSEIF(KFLB.EQ.KFLC) THEN
50 IF(KFLR.EQ.0.AND.KFLS.EQ.1) THEN
52 ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.3) THEN
54 ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.3) THEN
56 ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.1) THEN
58 ELSEIF(KFLR.EQ.2.AND.KFLS.EQ.3) THEN
60 ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.5) THEN
63 ELSEIF(KFLB.LE.5) THEN
64 IF(KFLR.EQ.0.AND.KFLS.EQ.1) THEN
65 LUCOMP=100+((KFLB-1)*(KFLB-2))/2+KFLC
66 ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.3) THEN
67 LUCOMP=120+((KFLB-1)*(KFLB-2))/2+KFLC
68 ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.3) THEN
69 LUCOMP=140+((KFLB-1)*(KFLB-2))/2+KFLC
70 ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.1) THEN
71 LUCOMP=160+((KFLB-1)*(KFLB-2))/2+KFLC
72 ELSEIF(KFLR.EQ.2.AND.KFLS.EQ.3) THEN
73 LUCOMP=180+((KFLB-1)*(KFLB-2))/2+KFLC
74 ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.5) THEN
75 LUCOMP=200+((KFLB-1)*(KFLB-2))/2+KFLC
77 ELSEIF((KFLS.EQ.1.AND.KFLR.LE.1).OR.(KFLS.EQ.3.AND.KFLR.LE.2)
78 & .OR.(KFLS.EQ.5.AND.KFLR.EQ.0)) THEN
83 ELSEIF((KFLR.EQ.0.OR.KFLR.EQ.1).AND.KFLC.EQ.0) THEN
84 IF(KFLS.NE.1.AND.KFLS.NE.3) THEN
85 ELSEIF(KFLA.EQ.9.OR.KFLB.EQ.0.OR.KFLB.EQ.9) THEN
86 ELSEIF(KFLA.LT.KFLB) THEN
87 ELSEIF(KFLS.EQ.1.AND.KFLA.EQ.KFLB) THEN
93 ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.2) THEN
94 IF(KFLA.EQ.9.OR.KFLB.EQ.0.OR.KFLB.EQ.9.OR.KFLC.EQ.9) THEN
95 ELSEIF(KFLA.LE.KFLC.OR.KFLA.LT.KFLB) THEN
96 ELSEIF(KFLA.GE.6.OR.KFLB.GE.4.OR.KFLC.GE.4) THEN
98 ELSEIF(KFLB.LT.KFLC) THEN
99 LUCOMP=300+((KFLA+1)*KFLA*(KFLA-1))/6+(KFLC*(KFLC-1))/2+KFLB
101 LUCOMP=330+((KFLA+1)*KFLA*(KFLA-1))/6+(KFLB*(KFLB-1))/2+KFLC
104 C...Spin 3/2 baryons.
105 ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.4) THEN
106 IF(KFLA.EQ.9.OR.KFLB.EQ.0.OR.KFLB.EQ.9.OR.KFLC.EQ.9) THEN
107 ELSEIF(KFLA.LT.KFLB.OR.KFLB.LT.KFLC) THEN
108 ELSEIF(KFLA.GE.6.OR.KFLB.GE.4) THEN
111 LUCOMP=360+((KFLA+1)*KFLA*(KFLA-1))/6+(KFLB*(KFLB-1))/2+KFLC