]>
Commit | Line | Data |
---|---|---|
e74335a4 | 1 | * $Id$ |
2 | ||
3 | C********************************************************************* | |
4 | ||
5 | FUNCTION LUCOMP_HIJING(KF) | |
6 | ||
7 | C...Purpose: to compress the standard KF codes for use in mass and decay | |
8 | C...arrays; also to check whether a given code actually is defined. | |
9 | #include "ludat2_hijing.inc" | |
10 | ||
11 | C...Subdivide KF code into constituent pieces. | |
12 | LUCOMP_HIJING=0 | |
13 | KFA=IABS(KF) | |
14 | KFLA=MOD(KFA/1000,10) | |
15 | KFLB=MOD(KFA/100,10) | |
16 | KFLC=MOD(KFA/10,10) | |
17 | KFLS=MOD(KFA,10) | |
18 | KFLR=MOD(KFA/10000,10) | |
19 | ||
20 | C...Simple cases: direct translation or special codes. | |
21 | IF(KFA.EQ.0.OR.KFA.GE.100000) THEN | |
22 | ELSEIF(KFA.LE.100) THEN | |
23 | LUCOMP_HIJING=KFA | |
24 | IF(KF.LT.0.AND.KCHG(KFA,3).EQ.0) LUCOMP_HIJING=0 | |
25 | ELSEIF(KFLS.EQ.0) THEN | |
26 | IF(KF.EQ.130) LUCOMP_HIJING=221 | |
27 | IF(KF.EQ.310) LUCOMP_HIJING=222 | |
28 | IF(KFA.EQ.210) LUCOMP_HIJING=281 | |
29 | IF(KFA.EQ.2110) LUCOMP_HIJING=282 | |
30 | IF(KFA.EQ.2210) LUCOMP_HIJING=283 | |
31 | ||
32 | C...Mesons. | |
33 | ELSEIF(KFA-10000*KFLR.LT.1000) THEN | |
34 | IF(KFLB.EQ.0.OR.KFLB.EQ.9.OR.KFLC.EQ.0.OR.KFLC.EQ.9) THEN | |
35 | ELSEIF(KFLB.LT.KFLC) THEN | |
36 | ELSEIF(KF.LT.0.AND.KFLB.EQ.KFLC) THEN | |
37 | ELSEIF(KFLB.EQ.KFLC) THEN | |
38 | IF(KFLR.EQ.0.AND.KFLS.EQ.1) THEN | |
39 | LUCOMP_HIJING=110+KFLB | |
40 | ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.3) THEN | |
41 | LUCOMP_HIJING=130+KFLB | |
42 | ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.3) THEN | |
43 | LUCOMP_HIJING=150+KFLB | |
44 | ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.1) THEN | |
45 | LUCOMP_HIJING=170+KFLB | |
46 | ELSEIF(KFLR.EQ.2.AND.KFLS.EQ.3) THEN | |
47 | LUCOMP_HIJING=190+KFLB | |
48 | ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.5) THEN | |
49 | LUCOMP_HIJING=210+KFLB | |
50 | ENDIF | |
51 | ELSEIF(KFLB.LE.5.AND.KFLC.LE.3) THEN | |
52 | IF(KFLR.EQ.0.AND.KFLS.EQ.1) THEN | |
53 | LUCOMP_HIJING=100+((KFLB-1)*(KFLB-2))/2+KFLC | |
54 | ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.3) THEN | |
55 | LUCOMP_HIJING=120+((KFLB-1)*(KFLB-2))/2+KFLC | |
56 | ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.3) THEN | |
57 | LUCOMP_HIJING=140+((KFLB-1)*(KFLB-2))/2+KFLC | |
58 | ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.1) THEN | |
59 | LUCOMP_HIJING=160+((KFLB-1)*(KFLB-2))/2+KFLC | |
60 | ELSEIF(KFLR.EQ.2.AND.KFLS.EQ.3) THEN | |
61 | LUCOMP_HIJING=180+((KFLB-1)*(KFLB-2))/2+KFLC | |
62 | ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.5) THEN | |
63 | LUCOMP_HIJING=200+((KFLB-1)*(KFLB-2))/2+KFLC | |
64 | ENDIF | |
65 | ELSEIF((KFLS.EQ.1.AND.KFLR.LE.1).OR.(KFLS.EQ.3.AND.KFLR.LE.2). | |
66 | & OR.(KFLS.EQ.5.AND.KFLR.EQ.0)) THEN | |
67 | LUCOMP_HIJING=80+KFLB | |
68 | ENDIF | |
69 | ||
70 | C...Diquarks. | |
71 | ELSEIF((KFLR.EQ.0.OR.KFLR.EQ.1).AND.KFLC.EQ.0) THEN | |
72 | IF(KFLS.NE.1.AND.KFLS.NE.3) THEN | |
73 | ELSEIF(KFLA.EQ.9.OR.KFLB.EQ.0.OR.KFLB.EQ.9) THEN | |
74 | ELSEIF(KFLA.LT.KFLB) THEN | |
75 | ELSEIF(KFLS.EQ.1.AND.KFLA.EQ.KFLB) THEN | |
76 | ELSE | |
77 | LUCOMP_HIJING=90 | |
78 | ENDIF | |
79 | ||
80 | C...Spin 1/2 baryons. | |
81 | ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.2) THEN | |
82 | IF(KFLA.EQ.9.OR.KFLB.EQ.0.OR.KFLB.EQ.9.OR.KFLC.EQ.9) THEN | |
83 | ELSEIF(KFLA.LE.KFLC.OR.KFLA.LT.KFLB) THEN | |
84 | ELSEIF(KFLA.GE.6.OR.KFLB.GE.4.OR.KFLC.GE.4) THEN | |
85 | LUCOMP_HIJING=80+KFLA | |
86 | ELSEIF(KFLB.LT.KFLC) THEN | |
87 | LUCOMP_HIJING=300+((KFLA+1)*KFLA*(KFLA-1))/6+(KFLC*(KFLC-1)) | |
88 | $ /2+KFLB | |
89 | ELSE | |
90 | LUCOMP_HIJING=330+((KFLA+1)*KFLA*(KFLA-1))/6+(KFLB*(KFLB-1)) | |
91 | $ /2+KFLC | |
92 | ENDIF | |
93 | ||
94 | C...Spin 3/2 baryons. | |
95 | ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.4) THEN | |
96 | IF(KFLA.EQ.9.OR.KFLB.EQ.0.OR.KFLB.EQ.9.OR.KFLC.EQ.9) THEN | |
97 | ELSEIF(KFLA.LT.KFLB.OR.KFLB.LT.KFLC) THEN | |
cc197d27 | 98 | IF (KFA .EQ. 3124) THEN |
99 | lucomp_hijing = 387 | |
100 | endif | |
e74335a4 | 101 | ELSEIF(KFLA.GE.6.OR.KFLB.GE.4) THEN |
102 | LUCOMP_HIJING=80+KFLA | |
103 | ELSE | |
104 | LUCOMP_HIJING=360+((KFLA+1)*KFLA*(KFLA-1))/6+(KFLB*(KFLB-1)) | |
105 | $ /2+KFLC | |
106 | ENDIF | |
107 | ENDIF | |
108 | ||
109 | RETURN | |
110 | END |