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
14 C. ******************************************************************
16 C. * Store error matrix informations *
18 C. * ==>Called by : ERTRGO , ERTRCH , ERTRNT *
19 C. * Author M.Maire, E.Nagy ********* *
21 C. ******************************************************************
23 #include "geant321/gckine.inc"
24 #include "geant321/gctrak.inc"
25 #include "geant321/erwork.inc"
26 #include "geant321/ertrio.inc"
27 #include "geant321/trcom3.inc"
29 DOUBLE PRECISION C(5,5), DUM(5,5)
31 * *** Write out results at intermediate points
34 IF (ILPRED.GE.NEPRED) ISTOP = 1
35 IEPRED(ILPRED) = INLIST
37 * *** Leave B-matrix intact for eventual further tracking
39 IF (.NOT. LEONLY) THEN
46 * *** Error matrix into single precision
49 ERROUT(I,ILPRED) = EF(I)
52 * *** If backtracking - vector, charge, error- and transport-matrix
53 * in original direction
55 IF (BACKTR.LT.0.) THEN
56 CALL ERBCER (ERROUT(1,ILPRED))
61 * *** Back into SC variables
63 IF (VECT(7) .LT. 1.E-30) VECT(7) = 1.E-30
65 PF(2) = BACKTR*ASIN (VECT(6))
66 IF (ABS (VECT(4)) .LT. 1.E-30) VECT(4) = 1.E-30
67 PF(3) = ATAN2 (BACKTR*VECT(5), BACKTR*VECT(4))
69 * *** Transform error matrix in the variables of the plane where
73 CALL TRSCSD (PF, ERROUT(1,ILPRED), PF ,ERROUT(1,ILPRED), HF,
74 + CHARGE, IER ,SPU, ERPLO(1,1,INLIST),
77 CALL DMM55 (A, C, DUM)
78 CALL DMM55 (DUM, ASDSC, C)
81 * *** Transport matrix in single precision
85 ERDTRP(I,J,ILPRED) = C(I,J)
86 ERTRSP(I,J,ILPRED) = C(I,J)
92 ERXOUT(I,ILPRED) = VECT(I)
93 ERPOUT(I,ILPRED) = PF(I)