]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hipyset1_35/luname_hijing.F
Additional protection (Alpha)
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / luname_hijing.F
CommitLineData
e74335a4 1* $Id$
2
3C*********************************************************************
4
5 SUBROUTINE LUNAME_HIJING(KF,CHAU)
6
7C...Purpose: to give the particle/parton name as a character string.
8#include "ludat1_hijing.inc"
9#include "ludat2_hijing.inc"
10#include "ludat4_hijing.inc"
11 CHARACTER CHAU*16
12
13C...Initial values. Charge. Subdivide code.
14 CHAU=' '
15 KFA=IABS(KF)
16 KC=LUCOMP_HIJING(KF)
17 IF(KC.EQ.0) RETURN
18 KQ=LUCHGE_HIJING(KF)
19 KFLA=MOD(KFA/1000,10)
20 KFLB=MOD(KFA/100,10)
21 KFLC=MOD(KFA/10,10)
22 KFLS=MOD(KFA,10)
23 KFLR=MOD(KFA/10000,10)
24
25C...Read out root name and spin for simple particle.
26 IF(KFA.LE.100.OR.(KFA.GT.100.AND.KC.GT.100)) THEN
27 CHAU=CHAF(KC)
28 LEN=0
29 DO 100 LEM=1,8
30 100 IF(CHAU(LEM:LEM).NE.' ') LEN=LEM
31
32C...Construct root name for diquark. Add on spin.
33 ELSEIF(KFLC.EQ.0) THEN
34 CHAU(1:2)=CHAF(KFLA)(1:1)//CHAF(KFLB)(1:1)
35 IF(KFLS.EQ.1) CHAU(3:4)='_0'
36 IF(KFLS.EQ.3) CHAU(3:4)='_1'
37 LEN=4
38
39C...Construct root name for heavy meson. Add on spin and heavy flavour.
40 ELSEIF(KFLA.EQ.0) THEN
41 IF(KFLB.EQ.5) CHAU(1:1)='B'
42 IF(KFLB.EQ.6) CHAU(1:1)='T'
43 IF(KFLB.EQ.7) CHAU(1:1)='L'
44 IF(KFLB.EQ.8) CHAU(1:1)='H'
45 LEN=1
46 IF(KFLR.EQ.0.AND.KFLS.EQ.1) THEN
47 ELSEIF(KFLR.EQ.0.AND.KFLS.EQ.3) THEN
48 CHAU(2:2)='*'
49 LEN=2
50 ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.3) THEN
51 CHAU(2:3)='_1'
52 LEN=3
53 ELSEIF(KFLR.EQ.1.AND.KFLS.EQ.1) THEN
54 CHAU(2:4)='*_0'
55 LEN=4
56 ELSEIF(KFLR.EQ.2) THEN
57 CHAU(2:4)='*_1'
58 LEN=4
59 ELSEIF(KFLS.EQ.5) THEN
60 CHAU(2:4)='*_2'
61 LEN=4
62 ENDIF
63 IF(KFLC.GE.3.AND.KFLR.EQ.0.AND.KFLS.LE.3) THEN
64 CHAU(LEN+1:LEN+2)='_'//CHAF(KFLC)(1:1)
65 LEN=LEN+2
66 ELSEIF(KFLC.GE.3) THEN
67 CHAU(LEN+1:LEN+1)=CHAF(KFLC)(1:1)
68 LEN=LEN+1
69 ENDIF
70
71C...Construct root name and spin for heavy baryon.
72 ELSE
73 IF(KFLB.LE.2.AND.KFLC.LE.2) THEN
74 CHAU='Sigma '
75 IF(KFLC.GT.KFLB) CHAU='Lambda'
76 IF(KFLS.EQ.4) CHAU='Sigma*'
77 LEN=5
78 IF(CHAU(6:6).NE.' ') LEN=6
79 ELSEIF(KFLB.LE.2.OR.KFLC.LE.2) THEN
80 CHAU='Xi '
81 IF(KFLA.GT.KFLB.AND.KFLB.GT.KFLC) CHAU='Xi'''
82 IF(KFLS.EQ.4) CHAU='Xi*'
83 LEN=2
84 IF(CHAU(3:3).NE.' ') LEN=3
85 ELSE
86 CHAU='Omega '
87 IF(KFLA.GT.KFLB.AND.KFLB.GT.KFLC) CHAU='Omega'''
88 IF(KFLS.EQ.4) CHAU='Omega*'
89 LEN=5
90 IF(CHAU(6:6).NE.' ') LEN=6
91 ENDIF
92
93C...Add on heavy flavour content for heavy baryon.
94 CHAU(LEN+1:LEN+2)='_'//CHAF(KFLA)(1:1)
95 LEN=LEN+2
96 IF(KFLB.GE.KFLC.AND.KFLC.GE.4) THEN
97 CHAU(LEN+1:LEN+2)=CHAF(KFLB)(1:1)//CHAF(KFLC)(1:1)
98 LEN=LEN+2
99 ELSEIF(KFLB.GE.KFLC.AND.KFLB.GE.4) THEN
100 CHAU(LEN+1:LEN+1)=CHAF(KFLB)(1:1)
101 LEN=LEN+1
102 ELSEIF(KFLC.GT.KFLB.AND.KFLB.GE.4) THEN
103 CHAU(LEN+1:LEN+2)=CHAF(KFLC)(1:1)//CHAF(KFLB)(1:1)
104 LEN=LEN+2
105 ELSEIF(KFLC.GT.KFLB.AND.KFLC.GE.4) THEN
106 CHAU(LEN+1:LEN+1)=CHAF(KFLC)(1:1)
107 LEN=LEN+1
108 ENDIF
109 ENDIF
110
111C...Add on bar sign for antiparticle (where necessary).
112 IF(KF.GT.0.OR.LEN.EQ.0) THEN
113 ELSEIF(KFA.GT.10.AND.KFA.LE.40.AND.KQ.NE.0) THEN
114 ELSEIF(KFA.EQ.89.OR.(KFA.GE.91.AND.KFA.LE.99)) THEN
115 ELSEIF(KFA.GT.100.AND.KFLA.EQ.0.AND.KQ.NE.0) THEN
116 ELSEIF(MSTU(15).LE.1) THEN
117 CHAU(LEN+1:LEN+1)='~'
118 LEN=LEN+1
119 ELSE
120 CHAU(LEN+1:LEN+3)='bar'
121 LEN=LEN+3
122 ENDIF
123
124C...Add on charge where applicable (conventional cases skipped).
125 IF(KQ.EQ.6) CHAU(LEN+1:LEN+2)='++'
126 IF(KQ.EQ.-6) CHAU(LEN+1:LEN+2)='--'
127 IF(KQ.EQ.3) CHAU(LEN+1:LEN+1)='+'
128 IF(KQ.EQ.-3) CHAU(LEN+1:LEN+1)='-'
129 IF(KQ.EQ.0.AND.(KFA.LE.22.OR.LEN.EQ.0)) THEN
130 ELSEIF(KQ.EQ.0.AND.(KFA.GE.81.AND.KFA.LE.100)) THEN
131 ELSEIF(KFA.GT.100.AND.KFLA.EQ.0.AND.KFLB.EQ.KFLC.AND.
132 &KFLB.NE.1) THEN
133 ELSEIF(KQ.EQ.0) THEN
134 CHAU(LEN+1:LEN+1)='0'
135 ENDIF
136
137 RETURN
138 END