7 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
9 common/ludat2/kchg(500,3),pmas(500,4),parf(2000),vckm(4,4)
11 common/ludat3/mdcy(500,3),mdme(2000,2),brat(2000),kfdp(2000,5)
13 common/ludat4/chaf(500)
16 CHARACTER chinl*80,chkc*4,chvar(19)*9,chlin*72,
17 &chblk(20)*72,chold*12,chtmp*12,chnew*12,chcom*12
18 DATA chvar/
'KCHG(I,1)',
'KCHG(I,2)',
'KCHG(I,3)',
'PMAS(I,1)',
19 &
'PMAS(I,2)',
'PMAS(I,3)',
'PMAS(I,4)',
'MDCY(I,1)',
'MDCY(I,2)',
20 &
'MDCY(I,3)',
'MDME(I,1)',
'MDME(I,2)',
'BRAT(I) ',
'KFDP(I,1)',
21 &
'KFDP(I,2)',
'KFDP(I,3)',
'KFDP(I,4)',
'KFDP(I,5)',
'CHAF(I) '/
24 IF(mstu(12).GE.1) CALL
lulist(0)
27 WRITE(lfn,1000) kc,chaf(kc),(kchg(kc,j1),j1=1,3),
28 & (pmas(kc,j2),j2=1,4),mdcy(kc,1)
29 DO 100 idc=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
30 100
WRITE(lfn,1100) mdme(idc,1),mdme(idc,2),brat(idc),
35 ELSEIF(mupda.EQ.2)
THEN
45 130
READ(lfn,1200,
end=140) chinl
46 IF(chinl(2:5).NE.
' ')
THEN
50 IF(ndc.NE.0) mdcy(kc,2)=idc+1-ndc
54 IF(kc.LE.0.OR.kc.GT.mstu(6)) CALL
luerrm(27,
55 &
'(LUUPDA:) Read KC code illegal, KC ='//chkc)
56 READ(chinl,1000) kcr,chaf(kc),(kchg(kc,j1),j1=1,3),
57 & (pmas(kc,j2),j2=1,4),mdcy(kc,1)
62 IF(idc.GE.mstu(7)) CALL
luerrm(27,
63 &
'(LUUPDA:) Decay data arrays full by KC ='//chkc)
64 READ(chinl,1100) mdme(idc,1),mdme(idc,2),brat(idc),
69 IF(ndc.NE.0) mdcy(kc,2)=idc+1-ndc
77 IF(min(pmas(kc,1),pmas(kc,2),pmas(kc,3),pmas(kc,1)-pmas(kc,3),
78 & pmas(kc,4)).LT.0..OR.mdcy(kc,3).LT.0) CALL
luerrm(17,
79 &
'(LUUPDA:) Mass/width/life/(# channels) wrong for KC ='//chkc)
81 DO 160 idc=mdcy(kc,2),mdcy(kc,2)+mdcy(kc,3)-1
82 IF(mdme(idc,2).GT.80) goto 160
84 pms=pmas(kc,1)-pmas(kc,3)-parj(64)
88 IF(kp.EQ.0.OR.kp.EQ.81.OR.iabs(kp).EQ.82)
THEN
89 ELSEIF(
lucomp(kp).EQ.0)
THEN
96 IF(kq.NE.0) merr=
max(2,merr)
97 IF(kfdp(idc,2).NE.0.AND.(kc.LE.20.OR.kc.GT.40).AND.
98 & (kc.LE.80.OR.kc.GT.100).AND.mdme(idc,2).NE.34.AND.
99 & mdme(idc,2).NE.61.AND.pms.LT.0.) merr=
max(1,merr)
100 IF(merr.EQ.3) CALL
luerrm(17,
101 &
'(LUUPDA:) Unknown particle code in decay of KC ='//chkc)
102 IF(merr.EQ.2) CALL
luerrm(17,
103 &
'(LUUPDA:) Charge not conserved in decay of KC ='//chkc)
104 IF(merr.EQ.1) CALL
luerrm(7,
105 &
'(LUUPDA:) Kinematically unallowed decay of KC ='//chkc)
106 brsum=brsum+brat(idc)
108 WRITE(chtmp,1500) brsum
109 IF(abs(brsum).GT.0.0005.AND.abs(brsum-1.).GT.0.0005) CALL
110 &
luerrm(7,
'(LUUPDA:) Sum of branching ratios is '//chtmp(5:12)//
116 ELSEIF(mupda.EQ.3)
THEN
119 IF(ivar.GE.11.AND.ivar.LE.18) ndim=mstu(7)
122 chlin(7:35)=
'DATA ('//chvar(ivar)//
',I= 1, )/'
128 IF(ivar.EQ.1)
WRITE(chtmp,1400) kchg(idim,1)
129 IF(ivar.EQ.2)
WRITE(chtmp,1400) kchg(idim,2)
130 IF(ivar.EQ.3)
WRITE(chtmp,1400) kchg(idim,3)
131 IF(ivar.EQ.4)
WRITE(chtmp,1500) pmas(idim,1)
132 IF(ivar.EQ.5)
WRITE(chtmp,1500) pmas(idim,2)
133 IF(ivar.EQ.6)
WRITE(chtmp,1500) pmas(idim,3)
134 IF(ivar.EQ.7)
WRITE(chtmp,1500) pmas(idim,4)
135 IF(ivar.EQ.8)
WRITE(chtmp,1400) mdcy(idim,1)
136 IF(ivar.EQ.9)
WRITE(chtmp,1400) mdcy(idim,2)
137 IF(ivar.EQ.10)
WRITE(chtmp,1400) mdcy(idim,3)
138 IF(ivar.EQ.11)
WRITE(chtmp,1400) mdme(idim,1)
139 IF(ivar.EQ.12)
WRITE(chtmp,1400) mdme(idim,2)
140 IF(ivar.EQ.13)
WRITE(chtmp,1500) brat(idim)
141 IF(ivar.EQ.14)
WRITE(chtmp,1400) kfdp(idim,1)
142 IF(ivar.EQ.15)
WRITE(chtmp,1400) kfdp(idim,2)
143 IF(ivar.EQ.16)
WRITE(chtmp,1400) kfdp(idim,3)
144 IF(ivar.EQ.17)
WRITE(chtmp,1400) kfdp(idim,4)
145 IF(ivar.EQ.18)
WRITE(chtmp,1400) kfdp(idim,5)
146 IF(ivar.EQ.19) chtmp=chaf(idim)
152 IF(chtmp(13-ll:13-ll).NE.
' ') llow=13-ll
153 180
IF(chtmp(ll:ll).NE.
' ') lhig=ll
154 chnew=chtmp(llow:lhig)//
' '
156 IF((ivar.GE.4.AND.ivar.LE.7).OR.ivar.EQ.13)
THEN
159 IF(chnew(lnew:lnew).EQ.
'0') goto 190
160 IF(lnew.EQ.1) chnew(1:2)=
'0.'
162 ELSEIF(ivar.EQ.19)
THEN
164 IF(chnew(ll:ll).EQ.
'''')
THEN
166 chnew=chtmp(1:ll)//
''''//chtmp(ll+1:11)
171 chnew(1:lnew+2)=
''''//chtmp(1:lnew)//
''''
176 IF(chnew.NE.chold)
THEN
183 IF(nrpt.GE.2) lrpt=lnew+3
184 IF(nrpt.GE.10) lrpt=lnew+4
185 IF(nrpt.GE.100) lrpt=lnew+5
186 IF(nrpt.GE.1000) lrpt=lnew+6
189 WRITE(chtmp,1400) nrpt
191 IF(nrpt.GE.10) lrpt=2
192 IF(nrpt.GE.100) lrpt=3
193 IF(nrpt.GE.1000) lrpt=4
194 chcom(1:lrpt+1+lnew)=chtmp(13-lrpt:12)//
'*'//chnew(1:lnew)
200 IF(llin+lcom.LE.70)
THEN
201 chlin(llin+1:llin+lcom+1)=chcom(1:lcom)//
','
203 ELSEIF(nlin.LE.19)
THEN
207 chlin(6:6+lcom+1)=
'&'//chcom(1:lcom)//
','
210 chlin(llin:72)=
'/'//
' '
212 WRITE(chtmp,1400) idim-nrpt
213 chblk(1)(30:33)=chtmp(9:12)
215 210
WRITE(lfn,1600) chblk(ilin)
218 chlin(7:35+lcom+1)=
'DATA ('//chvar(ivar)//
',I= , )/'//
220 WRITE(chtmp,1400) idim-nrpt+1
221 chlin(25:28)=chtmp(9:12)
227 chlin(llin:72)=
'/'//
' '
229 WRITE(chtmp,1400) ndim
230 chblk(1)(30:33)=chtmp(9:12)
232 230
WRITE(lfn,1600) chblk(ilin)
237 1000
FORMAT(1
x,
i4,2
x,a8,3
i3,3f12.5,2
x,f12.5,
i3)
238 1100
FORMAT(5
x,2
i5,f12.5,5i8)