SUBROUTINE DEFZMS(IIZ,IAZ,ITR,IDET,IZMS) C C THIS ROUTINE IS COMPLEMENTARY TO THE DEFKMS ROUTINE. C THIS ROUTINE DEFINES THE CODED IZMS ARRAY FOR ONE OF THE FOUR C Z HEAD DETECTORS IDET, AS DEFINED BELOW. C IT REQUIRES INTERPRETING SEVERAL OF THE WORD 7 FLAGS C C BASED ON THE DEFKMS ROUTINE BY JL GREEN C V1.0 JFE JOHNSON 6 NOV 81 C INTEGER*2 IZMS(512) INTEGER*2 IIZ(8),IAZ(8),ITR(8) INTEGER*2 JTABLE(9,2,4),IZTOG(4) C ITABLE(VALUE OF (IIZ OR IAZ)+1,INITAL=1 OR ALTERNATE=2, C IDET=1 THRU 4) C VALUES OF IDET DEFINE THE Z HEAD DETECTOR AS FOLLOWS C +Z LOW IDET= 1 C +Z HIGH IDET= 2 C -Z LOW IDET= 3 C -Z HIGH IDET= 4 C VALUES IN THE TABLE RETURN IN IZMS DEFINE WHICH C CHANNEL THIS SAMPLE OF DATA IS CODED IN, TABLE VALUE=0=NOT C VALID, VALUE=1=CHAN D, VALUE=2=CHAN E. C THE ZERO ELEMENT IN THE TABLE MEANS NON-VALID WORD 7 FLAGS GIVEN DATA JTABLE /1,1,1,0,0,0,1,1,0, 1 0,1,1,0,1,0,0,0,0, 2 0,2,0,1,1,0,0,0,0, 3 1,2,0,1,0,0,1,1,0, 4 2,0,0,2,0,1,2,2,0, 5 0,0,0,2,2,1,0,0,0, 6 0,0,2,0,2,2,0,0,0, 7 2,0,2,0,0,2,2,2,0/ C IZTOG(THE NUMBER OF SAMPLES BEFORE THE NEXT TOGGLE) DATA IZTOG /32,16,8,4/ COMMON/DELUNS/JUNDAT,JUNIN,JUNOUT C C PROCESS 8 SECONDS WORTH OF DATA OR 512 SAMPLES C L=0 DO 3000 I=1,8 INZ=IIZ(I)+1 IF( (INZ.LT.1).OR.(INZ.GT.8) ) INZ=9 IALZ=IAZ(I)+1 IF( (IALZ.LT.1).OR.(IALZ.GT.8) ) IALZ=9 IT=ITR(I)+1 IF( (IT.GE.1).AND.(IT.LE.4) ) GO TO 900 WRITE(JUNOUT,800) I,ITR(I),IIZ(I),IAZ(I) 800 FORMAT(' (DEFZMS) Z HEAD TOGGLE RATE ERROR AT SECOND=', 1 I2,' ITR=',I3,' IIZ=',I3,' IAZ=',I3) INZ=9 IALZ=9 IT=1 900 CONTINUE ITOG=IZTOG(IT) C C PROCESS THE DATA IN ONE SECOND CHUNKS C DO 2000 J=1,64/ITOG C K = 2 FIRST THEN K = 1 K=MOD(J,2)+1 DO 1000 M=1,ITOG N=L+M IZMS(N)=JTABLE(INZ,1,IDET) IF(K.EQ.1) IZMS(N)=JTABLE(IALZ,2,IDET) 1000 CONTINUE L=N 2000 CONTINUE C 3000 CONTINUE RETURN END