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
12 SUBROUTINE TRPTSD(PD,RD,PC,RC,H,CH,IERR,SPU,DJ,DK)
14 ***************************************************************************
16 C *** TRANSFORMS ERROR MATRIX
17 C FROM VARIABLES (1/Pt,V',W',V,W)
18 C FROM VARIABLES (1/P, V',W',V,W)
21 #if !defined(CERNLIB_SINGLE)
22 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
23 REAL PD,PC,H,RC,RD,CH,DJ,DK,SPU
25 #include "geant321/trcom3.inc"
26 DIMENSION PD(3),PC(3),H(3),RC(15),RD(15),DJ(3),DK(3)
27 DIMENSION UN(3),VN(3),DI(3),TVW(3)
29 #if defined(CERNLIB_SINGLE)
30 DATA CFACT8 / 2.997925 E-4 /
32 #if !defined(CERNLIB_SINGLE)
33 DATA CFACT8 / 2.997925 D-4 /
36 **_____________________________________________________________________
39 TVW(1)=1./SQRT(1.+PD(2)**2+PD(3)**2)
40 IF(SPU.LT.0.) TVW(1)=-TVW(1)
44 DI(1)=DJ(2)*DK(3)-DJ(3)*DK(2)
45 DI(2)=DJ(3)*DK(1)-DJ(1)*DK(3)
46 DI(3)=DJ(1)*DK(2)-DJ(2)*DK(1)
49 TN(I)=TVW(1)*DI(I)+TVW(2)*DJ(I)+TVW(3)*DK(I)
52 COSL=SQRT(ABS(1.-TN(3)**2))
53 IF (COSL .LT. 1.E-30) COSL = 1.E-30
62 IF (ABS (TN(1)) .LT. 1.E-30) TN(1) = 1.E-30
73 UJ=UN(1)*DJ(1)+UN(2)*DJ(2)+UN(3)*DJ(3)
74 UK=UN(1)*DK(1)+UN(2)*DK(2)+UN(3)*DK(3)
75 VJ=VN(1)*DJ(1)+VN(2)*DJ(2)+VN(3)*DJ(3)
76 VK=VN(1)*DK(1)+VN(2)*DK(2)+VN(3)*DK(3)
89 HA=SQRT(H(1)**2+H(2)**2+H(3)**2)
96 SINZ=-(H(1)*UN(1)+H(2)*UN(2)+H(3)*UN(3))*HM
97 COSZ= (H(1)*VN(1)+H(2)*VN(2)+H(3)*VN(3))*HM
98 A(1,4)=Q*TVW(2)*SINZ*(SINL*PD(1))
99 A(1,5)=Q*TVW(3)*SINZ*(SINL*PD(1))
108 A(1,2)=-TVW(1)*VJ*(SINL*PD(1))
109 A(1,3)=-TVW(1)*VK*(SINL*PD(1))