12 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
18 INTEGER nup,idprup,idup,istup,mothup,icolup
19 DOUBLE PRECISION xwgtup,scalup,aqedup,aqcdup,pup,vtimup,spinup
20 common/hepeup/nup,idprup,xwgtup,scalup,aqedup,aqcdup,idup(maxnup),
21 &istup(maxnup),mothup(2,maxnup),icolup(2,maxnup),pup(5,maxnup),
22 &vtimup(maxnup),spinup(maxnup)
26 dimension newpos(0:maxnup),idupt(maxnup),istupt(maxnup),
27 &motupt(2,maxnup),icoupt(2,maxnup),pupt(5,maxnup),
28 &vtiupt(maxnup),spiupt(maxnup)
33 IF(mothup(1,iup).GT.iup) need=need+1
36 IF(mothup(1,iup).LT.mothup(1,iup-1)) need=need+1
46 IF(mothup(1,iup).EQ.newpos(inew))
THEN
51 IF(inew.LT.nnew.AND.inew.LT.nup) goto 120
54 &
'(PYUPRE:) failed to make sense of mother pointers in HEPEUP')
62 motupt(1,
i)=mothup(1,
i)
63 motupt(2,
i)=mothup(2,
i)
64 icoupt(1,
i)=icolup(1,
i)
65 icoupt(2,
i)=icolup(2,
i)
81 IF(motupt(1,iold).EQ.newpos(imot)) mothup(1,
i)=imot
82 IF(motupt(2,iold).EQ.newpos(imot)) mothup(2,
i)=imot
84 IF(mothup(2,
i).GT.0.AND.mothup(2,
i).LT.mothup(1,
i))
THEN
86 mothup(1,
i)=mothup(2,
i)
89 icolup(1,
i)=icoupt(1,iold)
90 icolup(2,
i)=icoupt(2,iold)
94 vtimup(
i)=vtiupt(iold)
95 spinup(
i)=spiupt(iold)
100 IF(pup(5,1).NE.0d0.OR.pup(5,2).NE.0d0)
THEN
101 pplus=(pup(4,1)+pup(3,1))+(pup(4,2)+pup(3,2))
102 pminus=(pup(4,1)-pup(3,1))+(pup(4,2)-pup(3,2))
106 pup(4,2)=0.5d0*pminus