Two routines are provided to perform Lorentz boosts to other reference frames.
SUBROUTINE boost1 (V,BR,BZ,BXZ,IDIR,IERR) DOUBLE PRECISION V(4),BR(4),BZ(4),BXZ(4) INTEGER IDIR,IERR SUBROUTINE boost (P,V,N,BR,BZ,BXZ,IDIR,IERR) DOUBLE PRECISION P(4,*),V(4,*),BR(4),BZ(4),BXZ(4) INTEGER N,IDIR,IERR
boost1 boosts one vector, given in array V into the new frame, where V will be used for input and output. boost can boost N vectors given in array P into the new frame. Here the original vectors are conserved and the new vectors are filled in array V. boost should be preferred, when more than one vector is to be boosted, since the calculation of the rotation matrices is done only once for all vectors.
The boost is specified by three 4-vectors, which will have the following characteristics in the boosted frame : BR will be the 0-vector, BZ will point in z-direction and BXZ will lie in the x-z-plane. If IDIR is zero a normal boost will be performed, if IDIR is one, the boost is reverted such that boosting the returned particles in V with the given boost vectors (and IDIR=0) would result in the original particles P.
If an error occurs during boosting IERR will contain a non-zero value.
The routines
SUBROUTINE blab2br1 (V,IERR) SUBROUTINE blab2br (P,O,N,IERR) SUBROUTINE bbr2lab1 (V,IERR) SUBROUTINE bbr2lab (P,O,N,IERR) DOUBLE PRECISION P(4,*),O(4,*),V(4) INTEGER N,IERR
perform the boosting of one or several vectors from the H1 laboratory frame to the breit frame and vise versa.