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