]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HIJING/hipyset1_35/luname_hijing.F
Modified file access mode
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / luname_hijing.F
1 * $Id$
2     
3 C*********************************************************************  
4     
5       SUBROUTINE LUNAME_HIJING(KF,CHAU)    
6     
7 C...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     
13 C...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     
25 C...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     
32 C...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     
39 C...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     
71 C...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     
93 C...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     
111 C...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     
124 C...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