--- DarthVader/TrackerLevel2/src/F77/mini.f 2014/01/16 15:29:56 1.26 +++ DarthVader/TrackerLevel2/src/F77/mini.f 2014/01/17 12:56:51 1.27 @@ -24,8 +24,6 @@ parameter (dinf=1.d15) !just a huge number... parameter (dinfneg=-dinf) ! just a huge negative number... - - double precision NX, NY ! EM GCC4.7 c------------------------------------------------------------------------ c variables used in the tracking procedure (mini and its subroutines) c @@ -104,15 +102,15 @@ * ---------------------------------------------------------- AVRESX = RESXAV AVRESY = RESYAV - NX = 0.0 - NY = 0.0 + NX = 0 !EM GCC4.7 + NY = 0 !EM GCC4.7 DO IP=1,6 IF( XGOOD(IP).EQ.1 )THEN - NX=NX+1.0 + NX=NX+1!EM GCC4.7 AVRESX=AVRESX+RESX(IP) ENDIF IF( YGOOD(IP).EQ.1 )THEN - NY=NY+1.0 + NY=NY+1!EM GCC4.7 AVRESY=AVRESY+RESY(IP) ENDIF ENDDO @@ -1137,12 +1135,12 @@ subroutine guess() - IMPLICIT DOUBLE PRECISION (A-H,O-Z) ! EM GCC4.7 +c IMPLICIT DOUBLE PRECISION (A-H,O-Z) include 'commontracker.f' !tracker general common include 'common_mini_2.f' !common for the tracking procedure - REAL*8 XP(NPLANES),ZP(NPLANES),AP(NPLANES),RP(NPLANES) ! EM GCC4.7 + REAL*4 XP(NPLANES),ZP(NPLANES),AP(NPLANES),RP(NPLANES) REAL*4 CHI,XC,ZC,RADIUS * ---------------------------------------- * Y view @@ -1157,21 +1155,21 @@ S1=0. DO I=1,nplanes IF(YGOOD(I).EQ.1)THEN - YY = YM(I) + YY = REAL(YM(I))!EM GCC4.7 IF(XGOOD(I).EQ.0)THEN - YY = (YM_A(I) + YM_B(I))/2 + YY = REAL((YM_A(I) + YM_B(I))/2.)!EM GCC4.7 ENDIF - SZZ=SZZ+ZM(I)*ZM(I) - SZY=SZY+ZM(I)*YY + SZZ=SZZ+REAL(ZM(I)*ZM(I))!EM GCC4.7 + SZY=SZY+REAL(ZM(I)*YY)!EM GCC4.7 SSY=SSY+YY - SZ=SZ+ZM(I) + SZ=SZ+REAL(ZM(I))!EM GCC4.7 S1=S1+1. ENDIF ENDDO DET=SZZ*S1-SZ*SZ AY=(SZY*S1-SZ*SSY)/DET BY=(SZZ*SSY-SZY*SZ)/DET - Y0 = AY*ZINI+BY + Y0 = REAL(AY*ZINI+BY)!EM GCC4.7 * ---------------------------------------- * X view * ---------------------------------------- @@ -1181,13 +1179,13 @@ NP=0 DO I=1,nplanes IF(XGOOD(I).EQ.1)THEN - XX = XM(I) + XX = REAL(XM(I))!EM GCC4.7 IF(YGOOD(I).EQ.0)THEN - XX = (XM_A(I) + XM_B(I))/2 + XX = REAL((XM_A(I) + XM_B(I))/2.)!EM GCC4.7 ENDIF NP=NP+1 XP(NP)=XX - ZP(NP)=ZM(I) + ZP(NP)=REAL(ZM(I))!EM GCC4.7 ENDIF ENDDO IFLAG=0 !no debug mode @@ -1201,12 +1199,12 @@ IF(IFLAG.NE.0)GOTO 10 !straigth fit c if(CHI.gt.100)GOTO 10 !straigth fit - ARG = RADIUS**2-(ZINI-ZC)**2 + ARG = REAL(RADIUS**2-(ZINI-ZC)**2)!EM GCC4.7 IF(ARG.LT.0)GOTO 10 !straigth fit DC = SQRT(ARG) IF(XC.GT.0)DC=-DC X0=XC+DC - AX = -(ZINI-ZC)/DC + AX = REAL(-(ZINI-ZC)/DC)!EM GCC4.7 DEF=100./(RADIUS*0.3*0.43) IF(XC.GT.0)DEF=-DEF @@ -1232,14 +1230,14 @@ S1=0. DO I=1,nplanes IF(XGOOD(I).EQ.1)THEN - XX = XM(I) + XX = REAL(XM(I))!EM GCC4.7 IF(YGOOD(I).EQ.0)THEN - XX = (XM_A(I) + XM_B(I))/2 + XX = REAL((XM_A(I) + XM_B(I))/2.)!EM GCC4.7 ENDIF - SZZ=SZZ+ZM(I)*ZM(I) - SZX=SZX+ZM(I)*XX + SZZ=SZZ+REAL(ZM(I)*ZM(I))!EM GCC4.7 + SZX=SZX+REAL(ZM(I)*XX)!EM GCC4.7 SSX=SSX+XX - SZ=SZ+ZM(I) + SZ=SZ+REAL(ZM(I))!EM GCC4.7 S1=S1+1. ENDIF ENDDO @@ -1247,7 +1245,7 @@ AX=(SZX*S1-SZ*SSX)/DET BX=(SZZ*SSX-SZX*SZ)/DET DEF = 0 - X0 = AX*ZINI+BX + X0 = REAL(AX*ZINI+BX)!EM GCC4.7 20 CONTINUE * ----------------------------------------