Original Fortran Code 04010 CONTINUE DO I=P1,P2 IF (ED_3AB1) THEN IF (ZLOYPNOIS) THEN NICSUNOIS(I)=NICSUNOIS(I)+P1 IF (NICSUNOIS(I).GT.P4) THEN NICSUNOIS(I)=P0 NILNOISSU(I)=YSRANDS(KF2) ELSE NILNOISSU(I)=KF0 END IF ELSE NILNOISSU(I)=KF0 END IF TEMPA1(I)=YSLOGTEN(NIQFLUX(I)+NILNOISSU(I))/KF5 IF (YPMALFNI06(I)) TEMPA1(I)=TEMPA1(I)*KF9/KF10 NIFLUXSU(I)=NIQFLUX(I)+NILNOISSU(I) IF (.NOT.NI_HV(I)) NIFLUXSU(I)=KF0 IF (NIFLUXSU(I).LT.KF0) NIFLUXSU(I)=KF0 TEMPA3(I)=NIQFLUX(I+P2)/NIK1P25 NICNTLFLUX(I)=NIQFLUX(I+P2)*KF100 IF (NICNTLFLUX(I).LE.KF0) NICNTLFLUX(I)=KF0 IF (NICNTLFLUX(I).GT.KF125) NICNTLFLUX(I)=KF125 IF (ZDINISCCCONTHV(I)) THEN TEMPA5(I)=NIKCONTHV ELSE IF (NI_K1(I)) THEN TEMPA5(I)=NIKSUHV ELSE TEMPA5(I)=KF0 END IF ELSE TEMPA1(I) = KF0 TEMPA3(I) = KF0 TEMPA5(I) = KF0 END IF C !2A **IF (.NOT.NI:HV(I)) TEMPA1(I)=KF0 C DRIVE METER IN TEST MODE (INTERNAL PULSE GENERATOR) EVEN IF NO !2A C HI VOLTAGE IS PRESENT ON DETECTOR. IF NOT OPER MODE MUST BE TEST. !2A IF (.NOT.NI_HV(I) .AND. ZDINISCCOPER(I)) TEMPA1(I)=KF0 !2A IF (TEMPA1(I).GE.KF1) TEMPA1(I)=KF1 IF (TEMPA3(I).GE.KF1) TEMPA3(I)=KF1 IF (TEMPA5(I).GE.KF1) TEMPA5(I)=KF1 IF (TEMPA1(I).LE.KF0) TEMPA1(I)=KF0 IF (TEMPA3(I).LE.KF0) TEMPA3(I)=KF0 IF (TEMPA5(I).LE.KF0) TEMPA5(I)=KF0 ZAONISCCCOUNTS(I)=AMAX1(AMIN1(TEMPA1(I),KFP94),KF0) ZAONISCCPERPWR(I)=TEMPA3(I) ZAONILINPWRCT(I)=TEMPA3(I) ZAONISCCHIVOLT(I)=TEMPA5(I) ZAONILOGPWRSU(I)=AMAX1(AMIN1(TEMPA1(I),KFP94),KF0) END DO Converted C Code for(I = (P1); I <= (P2); I += 1) { if(ED_3AB1) { if(ZLOYPNOIS) { NICSUNOIS[(int)(I - 1)] = NICSUNOIS[(int)(I - 1)] + P1; if(NICSUNOIS[(int)(I - 1)] > P4) { NICSUNOIS[(int)(I - 1)] = P0; NILNOISSU[(int)(I - 1)] = YSRANDS(KF2); } else { NILNOISSU[(int)(I - 1)] = KF0; } } else { NILNOISSU[(int)(I - 1)] = KF0; } TEMPA1[(int)(I - 1)] = YSLOGTEN(NIQFLUX[(int)(I - 1)] + NILNOISSU[(int)(I - 1)]) / KF5; if(YPMALFNI06[(int)(I - 1)]) TEMPA1[(int)(I - 1)] = TEMPA1[(int)(I - 1)] * KF9 / KF10; NIFLUXSU[(int)(I - 1)] = NIQFLUX[(int)(I - 1)] + NILNOISSU[(int)(I - 1)]; if(!NI_HV[(int)(I - 1)]) NIFLUXSU[(int)(I - 1)] = KF0; if(NIFLUXSU[(int)(I - 1)] < KF0) NIFLUXSU[(int)(I - 1)] = KF0; TEMPA3[(int)(I - 1)] = NIQFLUX[(int)(I + P2 - 1)] / NIK1P25; NICNTLFLUX[(int)(I - 1)] = NIQFLUX[(int)(I + P2 - 1)] * KF100; if(NICNTLFLUX[(int)(I - 1)] <= KF0) NICNTLFLUX[(int)(I - 1)] = KF0; if(NICNTLFLUX[(int)(I - 1)] > KF125) NICNTLFLUX[(int)(I - 1)] = KF125; if(ZDINISCCCONTHV[(int)(I - 1)]) { TEMPA5[(int)(I - 1)] = NIKCONTHV; } else if(NI_K1[(int)(I - 1)]) { TEMPA5[(int)(I - 1)] = NIKSUHV; } else { TEMPA5[(int)(I - 1)] = KF0; } } else { TEMPA1[(int)(I - 1)] = KF0; TEMPA3[(int)(I - 1)] = KF0; TEMPA5[(int)(I - 1)] = KF0; } //C !2A **IF (.NOT.NI:HV(I)) TEMPA1(I)=KF0 //C DRIVE METER IN TEST MODE (INTERNAL PULSE GENERATOR) EVEN IF NO !2A //C HI VOLTAGE IS PRESENT ON DETECTOR. IF NOT OPER MODE MUST BE TEST. !2A if(!NI_HV[(int)(I - 1)] && ZDINISCCOPER[(int)(I - 1)]) TEMPA1[(int)(I - 1)] = KF0; //!2A if(TEMPA1[(int)(I - 1)] >= KF1) TEMPA1[(int)(I - 1)] = KF1; if(TEMPA3[(int)(I - 1)] >= KF1) TEMPA3[(int)(I - 1)] = KF1; if(TEMPA5[(int)(I - 1)] >= KF1) TEMPA5[(int)(I - 1)] = KF1; if(TEMPA1[(int)(I - 1)] <= KF0) TEMPA1[(int)(I - 1)] = KF0; if(TEMPA3[(int)(I - 1)] <= KF0) TEMPA3[(int)(I - 1)] = KF0; if(TEMPA5[(int)(I - 1)] <= KF0) TEMPA5[(int)(I - 1)] = KF0; ZAONISCCCOUNTS[(int)(I - 1)] = AMAX1(2, AMIN1(2, TEMPA1[(int)(I - 1)],KFP94),KF0); ZAONISCCPERPWR[(int)(I - 1)] = TEMPA3[(int)(I - 1)]; ZAONILINPWRCT[(int)(I - 1)] = TEMPA3[(int)(I - 1)]; ZAONISCCHIVOLT[(int)(I - 1)] = TEMPA5[(int)(I - 1)]; ZAONILOGPWRSU[(int)(I - 1)] = AMAX1(2, AMIN1(2, TEMPA1[(int)(I - 1)],KFP94),KF0); }