SUBROUTINE FPFPHC
*-- Author :    Girish D. Patel   25/04/91
      SUBROUTINE FPFPHC
*-----------------------------------------------------------*                                                 
*     Print output banks from Forward Pattern recognition   *                                                 
*     in readable form.  FPHC hit multiplicity/pointer bank *                                                 
*-----------------------------------------------------------*                                                 
*KEEP,BCS.                                                                                                    
      INTEGER      NHROW,NHCOL,NHLEN                                    
      PARAMETER   (NHROW = 2, NHCOL = 1, NHLEN=2)                       
      INTEGER      NBOSIW                                               
      PARAMETER   (NBOSIW=1000000)                                      
      INTEGER      IW(NBOSIW)                                           
      REAL         RW(NBOSIW)                                           
      COMMON /BCS/ IW                                                   
      EQUIVALENCE (RW(1),IW(1))                                         
      SAVE   /BCS/                                                      
*KEEP,BOSMDL.                                                                                                 
C     ------BOSMDL                                                                                            
      LOGICAL       BEGJOB,ENDRUN,BEGRUN,REVENT,ENDJOB,OTHDAT           
      COMMON/BOSMDL/BEGJOB,ENDRUN,BEGRUN,REVENT,ENDJOB,OTHDAT,          
     +              LCCRUN,NCCRUN,NEVENT,                               
     +              IHA,IBS,IDB,IDATEL,LUP,ISN,JSN                      
      SAVE  /BOSMDL/                                                    
C     ------                                                                                                  
*KEEP,STFUNCT.                                                                                                
*     index of element before row number IROW                                                                 
      INDR(IND,IROW)=IND+2+IW(IND+1)*(IROW-1)                           
*     index of L'th element  of row number IROW                                                               
      INDCR(IND,L,IROW)=INDR(IND,IROW) + L                              
*     L'th integer element of the IROW'th row of bank with index IND                                          
      IBTAB(IND,L,IROW)=IW(INDCR(IND,L,IROW))                           
*     L'th real element of the IROW'th row of bank with index IND                                             
      RBTAB(IND,L,IROW)=RW(INDCR(IND,L,IROW))                           
*KEND.                                                                                                        
                                                                        
      NBN = 0                                                           
      IND = NLINK('FPHC',NBN)
      IF(IND.EQ.0) THEN                                                 
        WRITE(6,*) ' FPFPHC>> FPHC Bank not found in event ',NEVENT     
        RETURN                                                          
      ENDIF                                                             
      NROW = IW(IND+2)                                                  
      WRITE(6,'(''  '')')                                               
      WRITE(6,'(/,8X,'' -------  FPHC BANK:  Event'',I10,               
     +          2X,I4,'' Hits ---------'')')                            
     +      NEVENT,NROW                                                 
                                                                        
      WRITE(6, '(1x,''No '',32I3)') (K,K=0,31)                          
                                                                        
      IPLANE = 0                                                        
      DO 3 IJK=0,3*3*4-1                                                
        I=IJK/12                                                        
        IREST=IJK-I*12                                                  
        IF(IREST.EQ.0)WRITE(6,*) ' '                                    
        J=IREST/4                                                       
        K=IREST-J*4+1                                                   
        IF(K.EQ.1)WRITE(6,*) ' '                                        
*      DO 3 I = 0, 2                                                                                          
*        WRITE(6,*) ' '                                                                                       
*      DO 2 J = 0, 2                                                                                          
*        WRITE(6,*) ' '                                                                                       
*      DO 1 K = 1, 4                                                                                          
        IPLANE = IPLANE + 1                                             
        WRITE(6,'(1X,33I3)') IPLANE,                                    
     &  (IBTAB(IND,1,I*4*3*32 + J*4*32 + K + L*4),L=0,31)               
                                                                        
* 1    CONTINUE                                                                                               
* 2    CONTINUE                                                                                               
 3    CONTINUE                                                          
      RETURN                                                            
      END                                                               
*