7 SUBROUTINE hirobo(THE,PHI,BEX,BEY,BEZ)
10 IMPLICIT DOUBLE PRECISION(
d)
13 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
15 dimension rot(3,3),pr(3),vr(3),dp(4),dv(4)
19 IF(mstu(1).GT.0) imin=mstu(1)
21 IF(mstu(2).GT.0)
imax=mstu(2)
27 IF(imin.GT.mstu(4).OR.
imax.GT.mstu(4))
THEN
28 CALL
luerrm(11,
'(LUROBO:) range outside LUJETS memory')
33 IF(the**2+
phi**2.GT.1
e-20)
THEN
44 IF(
k(i,1).LE.0) goto 130
48 120
p(i,j)=rot(j,1)*pr(1)+rot(j,2)*pr(2)+rot(j,3)*pr(3)
53 IF(dbx**2+dby**2+dbz**2.GT.1
e-20)
THEN
54 db=
sqrt(dbx**2+dby**2+dbz**2)
55 IF(db.GT.0.99999999d0)
THEN
57 CALL
luerrm(3,
'(LUROBO:) boost vector too large')
58 dbx=dbx*(0.99999999d0/db)
59 dby=dby*(0.99999999d0/db)
60 dbz=dbz*(0.99999999d0/db)
63 dga=1d0/
sqrt(1d0-db**2)
65 IF(
k(i,1).LE.0) goto 150
68 dbp=dbx*dp(1)+dby*dp(2)+dbz*dp(3)
69 dgabp=dga*(dga*dbp/(1d0+dga)+dp(4))
70 p(i,1)=dp(1)+dgabp*dbx
71 p(i,2)=dp(2)+dgabp*dby
72 p(i,3)=dp(3)+dgabp*dbz
73 p(i,4)=dga*(dp(4)+dbp)