--- DarthVader/TrackerLevel2/src/F77/grkuta.f 2007/02/16 14:56:02 1.4 +++ DarthVader/TrackerLevel2/src/F77/grkuta.f 2008/01/15 14:23:55 1.7 @@ -28,6 +28,7 @@ C. ****************************************************************** C. IMPLICIT DOUBLE PRECISION(A-H,O-Z) + COMMON/DELTAB/DELTA0,DELTA1,DLT * REAL VVV(3),FFF(3) REAL*8 CHARGE, STEP, VECT(*), VOUT(*), F(4) @@ -37,17 +38,24 @@ + (XT,XYZT(1)),(YT,XYZT(2)),(ZT,XYZT(3)) * PARAMETER (MAXIT = 1992, MAXCUT = 11) - PARAMETER (EC=2.9979251D-4,DLT=1D-4,DLT32=DLT/32) - PARAMETER (ZERO=0, ONE=1, TWO=2, THREE=3) +cPP PARAMETER (EC=2.9979251D-4,DLT=1D-4,DLT32=DLT/32) + PARAMETER (EC=2.99792458D-4) +cPP PARAMETER (ZERO=0, ONE=1, TWO=2, THREE=3) + PARAMETER (ZERO=0.D0, ONE=1.D0, TWO=2.D0, THREE=3.D0) PARAMETER (THIRD=ONE/THREE, HALF=ONE/TWO) PARAMETER (PISQUA=.986960440109D+01) PARAMETER (IX=1,IY=2,IZ=3,IPX=4,IPY=5,IPZ=6) + REAL*8 DELTAB(3) + REAL*8 DLT32 + DLT32=DLT/32. + *. *. ------------------------------------------------------------------ *. * This constant is for units CM,GEV/C and KGAUSS * + ITER = 0 NCUT = 0 DO 10 J=1,7 @@ -69,6 +77,9 @@ DO I=1,3 F(I)=DBLE(FFF(I)) ENDDO + DELTAB(2) = -F(2)*VECT(7)*CHARGE*(DELTA0+DELTA1*VVV(2)) + F(2) = F(2)+DELTAB(2) +cPP ----------------- * * Start of integration * @@ -106,7 +117,10 @@ CALL GUFLD(VVV,FFF) DO I=1,3 F(I)=DBLE(FFF(I)) - ENDDO + ENDDO + DELTAB(2) = -F(2)*VECT(7)*CHARGE*(DELTA0+DELTA1*VVV(2)) + F(2) = F(2)+DELTAB(2) +cPP ----------------- C CALL GUFLD(XYZT,F) AT = A + SECXS(1) BT = B + SECYS(1) @@ -141,6 +155,9 @@ DO I=1,3 F(I)=DBLE(FFF(I)) ENDDO + DELTAB(2) = -F(2)*VECT(7)*CHARGE*(DELTA0+DELTA1*VVV(2)) + F(2) = F(2)+DELTAB(2) +cPP ----------------- C CALL GUFLD(XYZT,F) * Z = Z + (C + (SECZS(1) + SECZS(2) + SECZS(3)) * THIRD) * H @@ -500,8 +517,8 @@ $ +(VOUT(IY)-VECT(IY))**2 $ +(VOUT(IZ)-VECT(IZ))**2 $ ) - print*,'WARNING: GRKUTA2 --> ' - $ ,'helix :-( ... length evaluated with straight line' +c print*,'WARNING: GRKUTA2 --> ' +c $ ,'helix :-( ... length evaluated with straight line' * 999 END