]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/erdecks/erprop.F
Fix needed on Sun and Alpha
[u/mrichter/AliRoot.git] / GEANT321 / erdecks / erprop.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/03/06 15:37:35 mclareni
6* Add geane321 source directories
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.49 by S.Giani
11*-- Author :
12 SUBROUTINE ERPROP
13C.
14C. ******************************************************************
15C. * *
16C. * Performs the error propagation in a step *
17C. * *
18C. * ==>Called by : ERTRCH / ERTRNT *
19C. * Author E.Nagy ********* *
20C. * *
21C. ******************************************************************
22C.
23#include "geant321/gctmed.inc"
24#include "geant321/gckine.inc"
25#include "geant321/gctrak.inc"
26#include "geant321/gcunit.inc"
27#include "geant321/erwork.inc"
28#include "geant321/ertrio.inc"
29#include "geant321/trcom3.inc"
30*
31 DIMENSION DUM(15)
32*
33* *** Prepares the end-point
34*
35 DO 11 I = 1,3
36 XF(I) = VECT(I)
37 PF(I) = VECT(7)*VECT(3+I)
38 HF(I) = 0.
39 11 CONTINUE
40*
41 IF (IFIELD.EQ.3) THEN
42 HF(3) = FIELDM
43 ELSEIF (IFIELD.NE.0) THEN
44 CALL GUFLD (VECT, HF)
45 ENDIF
46*
47* *** Propagates the error (in SC-variables)
48*
49 MVAR = 0
50 IFLAG = 0
51 ITRAN = 0
52 IF (.NOT.LEEXAC) THEN
53 CALL TRPROP (XI ,PPI, HI, XF, PF, HF, CHTR, STEP, DUM,
54 & MVAR, IFLAG, ITRAN, IERR)
55 ELSE
56 CALL TRPRFN (XI ,PPI, HI, XF, PF, HF, CHTR, STEP, DUM,
57 & MVAR, IFLAG, ITRAN, IERR)
58 ENDIF
59*
60 IF(IERR.NE.0) THEN
61 WRITE (LOUT, 778) IERR
62 RETURN
63 ENDIF
64*
65* *** Transport the matrix
66*
67 CALL SSMT5T (A, EF, EF)
68*
69 IF (CHARGE.NE.0.) THEN
70*
71* *** Add multiple scattering
72*
73 CALL ERMCSC (EF)
74*
75* *** Add fluctuation due to ionization to the error matrix
76* (and (later) due to bremsstrahlung and pair-production)
77*
78 EF(1) = EF(1) + (GETOT*GETOT*DEDX2)/(VECT(7)**6)
79*
80 ENDIF
81*
82* *** Copy variables for the next step
83*
84 CALL UCOPY (XF, XI, 3)
85 CALL UCOPY (PF, PPI, 3)
86 CALL UCOPY (HF, HI, 9)
87*
88*
89 778 FORMAT(//4X,' *** Error in subr. TRPROP',I4,' called by',
90 & 'subr. ERPROP'//)
91*
92 END