]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hipyset1_35/lucomp_hijing.F
This commit was generated by cvs2svn to compensate for changes in r1073,
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / lucomp_hijing.F
CommitLineData
e74335a4 1* $Id$
2
3C*********************************************************************
4
5 FUNCTION LUCOMP_HIJING(KF)
6
7C...Purpose: to compress the standard KF codes for use in mass and decay
8C...arrays; also to check whether a given code actually is defined.
9#include "ludat2_hijing.inc"
10
11C...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
20C...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
32C...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
70C...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
80C...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
94C...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
98 ELSEIF(KFLA.GE.6.OR.KFLB.GE.4) THEN
99 LUCOMP_HIJING=80+KFLA
100 ELSE
101 LUCOMP_HIJING=360+((KFLA+1)*KFLA*(KFLA-1))/6+(KFLB*(KFLB-1))
102 $ /2+KFLC
103 ENDIF
104 ENDIF
105
106 RETURN
107 END