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