5 * Revision 1.1.1.1 1995/10/24 10:20:04 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani
14 * FLUPDATE FORTRAN file
15 * These are corrected versions of TRANS and TTRANS which make the
16 * correct transformation even in the small-angle, backwards direction
17 * Correction installed 11.03.88
18 SUBROUTINE TRANS (XO,YO,ZO,DE,SFE,CFE,X,Y,Z)
20 #include "geant321/dblprc.inc"
21 #include "geant321/dimpar.inc"
22 #include "geant321/iounit.inc"
23 C********************************************************************
26 C LAST CHANGE 12. APRIL 83 BY PERTTI AARNIO
27 C HELSINKI UNIVERSITY OF
31 C THIS IS A SUBROUTINE OF FLUKA TO GIVE NEW DIRECTION COSINES
34 C XO,YO,ZO = ORIGINAL DIRECTION COSINES
35 C DE = POLAR (THETA) ANGLE OF "SCATTERING"
36 C SFE,CFE = SINE AND COSINE OF THE AZIMUTHAL (PHI) ANGLE
40 C X,Y,Z = NEW DIRECTION COSINES
42 C ROTATION OF COORDINATE SYSTEM (SEE CERN 64-47)
44 C DUE TO THE IMPLEMENTATION OF THE MULTIPLE COULOMB SCATTERING
45 C ALSO VERY SMALL ANGLES HAVE TO BE TREATED CORRECTLY.
46 C NOW SMALL ANGLE APPROXIMATION IS USED PRACTICALLY ONLY
47 C WHEN XO AND YO ARE EXACTLY 0.
49 C********************************************************************
55 IF ( A .LT. ANGLSQ ) THEN
58 C Z=CDE CORRECTED AUGUST 88 PA
65 X=-YO*XI/A-ZO*XO*YI/A+XO*ZI
66 Y=XO*XI/A-ZO*YO*YI/A+YO*ZI