5 * Revision 1.1.1.1 1996/03/06 15:37:35 mclareni
6 * Add geane321 source directories
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani
13 SUBROUTINE TRSCSP(PC,RC,PS,RS,H,CH,IERR,SPX)
15 C *** TRANSFORMS ERROR MATRIX
16 C FROM SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT)
17 C TO SPLINE VARIABLES (1/P,Y',Z',Y,Z)
19 C Authors: A. Haas and W. Wittek
22 C *** PC(3) 1/P,LAMBDA,PHI INPUT
23 C PS(3) 1/P,Y',Z' OUTPUT
24 C H(3) MAGNETIC FIELD INPUT
25 C RC(15) ERROR MATRIX IN SC VARIABLES INPUT (TRIANGLE)
26 C RS(15) ERROR MATRIX IN SPLINE VARIABLES OUTPUT (TRIANGLE)
27 C CH CHARGE OF PARTICLE INPUT
28 C CHARGE AND MAGNETIC FIELD ARE NEEDED
29 C FOR CORRELATION TERMS (Y',YT),(Y',ZT),(Z',YT),(Z',ZT)
30 C THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED
31 C TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH)
34 C IERR = 1 PARTICLE MOVES PERPENDICULAR TO X-AXIS
35 C ( Y',Z' ARE NOT DEFINED )
36 C SPX SIGN OF X-COMPONENT OF PARTICLE MOMENTUM OUTPUT
38 #if !defined(CERNLIB_SINGLE)
39 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
40 REAL PC,PS,H,RC,RS,CH,SPX
42 #include "geant321/trcom3.inc"
43 DIMENSION PC(3),PS(3),H(3),RC(15),RS(15)
46 #if defined(CERNLIB_SINGLE)
47 DATA CFACT8 / 2.997925 E-4 /
49 #if !defined(CERNLIB_SINGLE)
50 DATA CFACT8 / 2.997925 D-4 /
61 IF(TN(1).LT.0.) SPX=-1.
62 IF(TN(1).EQ.0.) GO TO 901
89 HA=SQRT(H(1)**2+H(2)**2+H(3)**2)
96 SINZ=-(H(1)*UN(1)+H(2)*UN(2) )*HM
97 COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM
100 A(2,4)=-UN(1)*(VN(3)*COSZ )*T3R
101 A(2,5)=-VN(1)*(VN(3)*COSZ )*T3R
102 A(3,4)=UN(1)*(VN(2)*COSZ-UN(2)*SINZ)*T3R
103 A(3,5)=VN(1)*(VN(2)*COSZ-UN(2)*SINZ)*T3R
108 A(2,3)=VN(3)*COSL*T2R
110 A(3,3)=-VN(2)*COSL*T2R