C***********************************************************************
C     THIS SUBROUTINE IS DESIGNED TO GIVE THREE HISTOGRAMS OF SIGHTING
C     DISTANCE,SIGHTING ANGLE(COMPUTED OR MEASURED) OR THE SINE OF THE
C     SIGHTING ANGLE FOR ANY ONE CALL.
C
C     SUBROUTINES CALLED: HIST,HISTGM,HEADER
C**********************************************************************
      SUBROUTINE PHIST (X,N,KCUT,WIDTH,NAME,INDEX)
      INCLUDE 'PARMTR.INC'
C**********************************************************************
C     DECLARATIONS
C**********************************************************************
      CHARACTER*1 LABEL, HEAD, UL
      CHARACTER*1 NAME(24)
      REAL CUT(MAXCEL), X(*), FREQ(MAXCEL)
C***********************************************************************
C     COMMON STATEMENTS
C***********************************************************************
      COMMON /ALPHA/ LABEL(80), HEAD(30), UL(3,25)
      COMMON /PAGE/ IPAGE
      DO 20 K=2,4
C***********************************************************************
C     CALCULATE CUT POINTS
C***********************************************************************
      NKCUT=KCUT/3
      NKCUT=(KCUT*K)/3
      SIZE=WIDTH/FLOAT(NKCUT)
      DO 10 I=1,NKCUT
   10 CUT(I)=FLOAT(I)*SIZE
C***********************************************************************
C     CALCULATE FREQUENCIES
C***********************************************************************
      CALL HIST (X,N,CUT,NKCUT,FREQ)
C***********************************************************************
C     WRITE OUT HEADER STATEMENTS AND OUTPUT THE HISTOGRAM
C***********************************************************************
      CALL HEADER (1)
      KM1=K-1
      IF (INDEX.EQ.2) THEN
         WRITE (6,40) NAME,KM1,SIZE,(UL(1,J),J=1,25)
      ELSE IF (INDEX.EQ.3) THEN
         WRITE (6,50) NAME,KM1,SIZE
      ELSE
         WRITE (6,40) NAME,KM1,SIZE
      ENDIF
      WRITE (6,90)
      CALL HISTGM (FREQ,NKCUT,38,CUT)
      IF (INDEX.EQ.2) THEN
         WRITE (6,70) NAME,(UL(1,J),J=1,25)
      ELSE IF (INDEX.EQ.3) THEN
         WRITE (6,80) NAME
      ELSE
         WRITE (6,70) NAME
      ENDIF
   20 CONTINUE
      RETURN
C***********************************************************************
C     FORMAT STATEMENTS
C***********************************************************************
C
   40 FORMAT (//'0Histogram of ',24A1/' Cut Point Set ',I1,
     1 ', Interval Width = ',G10.4,2X,25A1)
   50 FORMAT (//'0Histogram of ',24A1/' Cut Point Set ',I1,
     1 ', Interval Width = ',G10.4,2X,'Degrees')
   60 FORMAT (1H0,13X,24A1)
   70 FORMAT (/14X,24A1,' in ',25A1)
   80 FORMAT (/14X,24A1,' in degrees')
   90 FORMAT (///)
      END
