CALL GLOREN (BETA,PA,PB*) GLOREN transforms the momentum and the energy from one Lorentz frame (A) to another (B). It uses the following input and output:
GLOREN is called from the routine GDECAY. The momentum and energy in reference frame A are transformed into the momentum and energy in reference frame B which translates with velocity with respect to A:
| ||
|
CALL GDROT (P*,COSTH,SINTH,COSPH,SINPH) GDROT rotates a vector from one reference system to another.
GDROT is called from several routines to rotate a particle from in the center-of-mass system to the GEANT (laboratory) system. The following rotation matrix is used:
| ||
| ||
|
| ||
| ||
|
| ||
| ||
|
is a counterclockwise rotation around axis y by an angle , and is a counterclockwise rotation around axis (rotated by an angle from the initial position) by an angle .
CALL GFANG (P,COSTH*,SINTH*,COSPH*,SINPH*,ROTATE*)
Find the sine and cosine of the polar and azimuthal angle of the direction defined by the vector P. If P is along the z axis, ROTATE=.FALSE..
Given the direction PART in a system of reference O, it returns the same direction in the system of reference where the z axis of O is along DCOSIN. This routine is very useful when the
angle of a secondary particle is sampled in a reference frame where the parent particle moves along the z axis. Then the direction of the secondary product in the MRS is returned by GVROT if DCOSIN is the direction of the parent particle.
A call to GVROT is equivalent to the following code:
DIMENSION PART(3), DCOSIN(3) LOGICAL ROTATE . . . CALL GFANG(DCOSIN,COSTH,SINTH,COSPH,SINPH,ROTATE) IF(ROTATE) CALL GDROT(PART,COSTH,SINTH,COSPH,SINPH)
with the advantage that inside GVROT all calculations are performed in double precision.