5 * Revision 1.1.1.1 1996/03/06 15:37:36 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 TRSDSC(PD,RD,PC,RC,H,CH,IERR,SPU,DJ,DK)
15 C *** TRANSFORMS ERROR MATRIX
16 C FROM VARIABLES (1/P,V',W',V,W)
17 C TO SC VARIABLES (1/P,LAMBDA,PHI,YT,ZT)
19 C Authors: A. Haas and W. Wittek
22 C *** PD(3) 1/P,V',W' INPUT
23 C PC(3) 1/P,LAMBDA,PHI OUTPUT
24 C H(3) MAGNETIC FIELD INPUT
25 C RD(15) ERROR MATRIX IN 1/P,V',W',V,W INPUT (TRIANGLE)
26 C RC(15) ERROR MATRIX IN SC VARIABLES OUTPUT (TRIANGLE)
27 C CH CHARGE OF PARTICLE INPUT
28 C CHARGE AND MAGNETIC FIELD ARE NEEDED
29 C FOR CORRELATION TERMS (LAMBDA,V),(LAMBDA,W),(PHI,V),(PHI,W)
30 C THESE CORRELATION TERMS APPEAR BECAUSE RC IS ASSUMED
31 C TO BE THE ERROR MATRIX FOR FIXED S (PATH LENGTH)
33 C DJ(3) UNIT VECTOR IN V-DIRECTION
34 C DK(3) UNIT VECTOR IN W-DIRECTION OF DETECTOR SYSTEM
37 C SPU SIGN OF U-COMPONENT OF PARTICLE MOMENTUM INPUT
39 #if !defined(CERNLIB_SINGLE)
40 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
41 REAL PD,PC,H,RC,RD,CH,DJ,DK,SPU
43 #include "geant321/trcom3.inc"
44 DIMENSION PD(3),PC(3),H(3),RC(15),RD(15),DJ(3),DK(3)
45 DIMENSION UN(3),VN(3),DI(3),TVW(3)
47 #if defined(CERNLIB_SINGLE)
48 DATA CFACT8 / 2.997925 E-4 /
50 #if !defined(CERNLIB_SINGLE)
51 DATA CFACT8 / 2.997925 D-4 /
56 TVW(1)=1./SQRT(1.+PD(2)**2+PD(3)**2)
57 IF(SPU.LT.0.) TVW(1)=-TVW(1)
61 DI(1)=DJ(2)*DK(3)-DJ(3)*DK(2)
62 DI(2)=DJ(3)*DK(1)-DJ(1)*DK(3)
63 DI(3)=DJ(1)*DK(2)-DJ(2)*DK(1)
66 TN(I)=TVW(1)*DI(I)+TVW(2)*DJ(I)+TVW(3)*DK(I)
71 IF (ABS (TN(1)) .LT. 1.E-30) TN(1) = 1.E-30
72 PC(3) = ATAN2 (TN(2),TN(1))
74 COSL=SQRT(ABS(1.-TN(3)**2))
75 IF (COSL .LT. 1.E-30) COSL = 1.E-30
86 UJ=UN(1)*DJ(1)+UN(2)*DJ(2)+UN(3)*DJ(3)
87 UK=UN(1)*DK(1)+UN(2)*DK(2)+UN(3)*DK(3)
88 VJ=VN(1)*DJ(1)+VN(2)*DJ(2)+VN(3)*DJ(3)
89 VK=VN(1)*DK(1)+VN(2)*DK(2)+VN(3)*DK(3)
102 HA=SQRT(H(1)**2+H(2)**2+H(3)**2)
104 IF(HAM.EQ.0.) GO TO 6
109 SINZ=-(H(1)*UN(1)+H(2)*UN(2)+H(3)*UN(3))*HM
110 COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM
111 A(2,4)=-Q*TVW(2)*SINZ
112 A(2,5)=-Q*TVW(3)*SINZ
113 A(3,4)=-Q*TVW(2)*COSZ*COSL1
114 A(3,5)=-Q*TVW(3)*COSZ*COSL1
119 A(3,2)=TVW(1)*UJ*COSL1
120 A(3,3)=TVW(1)*UK*COSL1