4
C This routine reads a line from the new, complete,
5
C mass and width table supplied by PDG.
6
C This routine works with the 2006 table:
7
C FORMAT (BN, E14.0, 1X, 2(E7.0, 1X), E12.0, 1X, 2(E7.0, 1X), A3, 1X, A1, 1X, A4, 1X, 3(A1, 1X), A7, 1X, A4, 1X, 2(A1, 1X), A17, 1X, A)
17
c set everything to zero, just in case
28
c make sure this is not an old style file or a comment
29
if (cline(1:1).eq.'M' .or. cline(1:1).eq.'W'
30
& .or. cline(1:1).eq.'*') then
34
c write(lnhout,202) cline
35
read(cline(1:14), fmt = '( BN,E14.0)') mval
36
read(cline(16:22), fmt = '( BN,E7.0)') mpos
37
read(cline(24:30), fmt = '( BN,E7.0)') mneg
38
c write(lnhout,101) mval, mpos, mneg
39
read(cline(32:43), fmt = '( BN,E12.0)') wval
40
read(cline(45:51), fmt = '( BN,E7.0)') wpos
41
read(cline(53:59), fmt = '( BN,E7.0)') wneg
42
c write(lnhout,102) wval, wpos, wneg
49
c write(lnhout,103) ispin, gpar, jspin, ppar, antip
50
read(cline(78:84), fmt = '( BN,I7)') pdgid
51
c write(lnhout,104) pdgid
56
quarklist = cline(113:128)
57
c write(lnhout,105) cchg, rank, status, name, quarklist
62
if(cchg(i:i).eq.'/') frac=i
67
elseif(cchg.eq.' --')then
69
elseif(cchg.eq.' +')then
71
elseif(cchg.eq.' -')then
73
elseif(cchg.eq.' 0')then
76
write(lnhout,502) cchg
79
read(cchg(1:frac-1),fmt='(BN,E4.0)') top
80
read(cchg(frac+1:4),fmt='(BN,E4.0)') bottom
82
write(lnhout,501) cchg, top, bottom
90
c 101 format(' mass: ',F15.8,1X,G11.5,1X,G11.5)
91
c 102 format('width: ',F15.8,1X,G11.5,1X,G11.5)
92
c 103 format('spin/parity: ',5A5)
93
c 104 format('PDG ID: ',I10)
94
c 105 format('name, etc: ',3A5,A20,A30)
95
202 format('reading : ',A130)
96
501 format('PARSECSV ERROR: failed to properly parse ',A4,
97
& ' got ',F5.1,' over ',F5.1)
98
502 format('PARSECSV ERROR: failed to properly parse ',A4)