*-- Author : Stephen J. Maxfield 17/02/92
SUBROUTINE FPSOUT
**: FPSOUT 30907 RP. Farm changes.
**----------------------------------------------------------------------
**: FPSOUT 30907 SM. Fix histogram handling.
*------------------------------------------------------------------*
* OUTPUT RESULTS OF PLANAR PATTERN RECOGNITION *
* *
*------------------------------------------------------------------*
* *
* OUTPUT: FPSG,0 Planar segments *
* ===== *
*------------------------------------------------------------------*
* FORMAT OF BANKS FROM FORWARD TRACK RECONSTRUCTION *
* *
* FPSG TABLE FMT = (7F,15I) *
* ==== *
* *
* 1 X F x ) *
* 2 Y F y ) at beginning of sm *
* 3 Z F z ) *
* 4 X F x ) *
* 5 Y F y ) at end of sm *
* 6 Z F z ) *
* *
* 7 PRCHI F Chisq prob of segment *
* 8 ISM I Supermodule number *
* 9 MASKSG I MASK *
* 10 INEXT I Pointer to next segment on track *
* 11 IDIG I ) Row numbers in FPRE bank(0if none) *
* ... ) SIGNED! *
* 22 ) *
* *
********************************************************************
*KEEP,FPPRAM.
C
C--- MAXSEG is maximum number of segments per supermodule
C--- MAXCON is maximum number of amibiguous segments associatable with
C--- one segment
C--- LIMSTO is maximum number of 2 cluster planes intersections to be
C--- stored per supermodule
C--- MSEGLM is maximum number of clusters that can be found before
C--- connectivity considered
C--- MAXCLU is maximum number of clusters that can be found after
C--- forming non-connected set MUST BE 50 IF RUN WITH OLD RCW
C--- (cluster = 3/4 digits found in a straight line in one
C--- 4-wire orientation)
C
C---
*KEEP,FPLSEG.
C---
C---
*KEEP,FPSTSG.
C---
*KEEP,BCS.
*KEEP,BOSMDL.
C ------BOSMDL
C ------
*KEEP,H1EVDT.
*
* IDATA type of information (HEAD bank word 6) :
*
* 0 - real data H1
* 1 - MC data H1SIM
* 2 - real data CERN tests
* 3 - MC data ARCET
*
* MONTE = .TRUE. if IDATA=1
* KEVENT = event processed counter for H1REC
*
*KEEP,FPH1WRK.
C-- *KEEP,FPCSEG.
C---
C---
C-- *KEEP,FPDIGI.
C---
C-- *KEEP,FPDGI.
C---
C-- *KEEP,FPSTID.
C---
C-- *interface to real data
C---.
*KEEP,FRH3FT.
* Common for RETRAC results (SJM)
*KEEP,FDIFLG.
*KEND.
* Bank formatting data...
* Local arrays...
*KEEP,STFUNCT.
* index of element before row number IROW
* index of L'th element of row number IROW
* L'th integer element of the IROW'th row of bank with index IND
* L'th real element of the IROW'th row of bank with index IND
*KEND.
*------------------------BEGIN ROUTINE-------------------------------
* Format output banks...
CALL BKFMT('FPSG','2I,(7F,15I)')
* Make bank
IFPSG = NBANK('FPSG',NBNN,2+NCFPSG*NFPSG)
* Loop over supermodules...
* z at beginning and end of this segment
* extrapolate x,y to ZMM. Converting from mm to cm!
C--- NFSSEG(3) --- Number of secondary Segments formed.
C--- NFTSEG(3) --- Number of Tertiary segments formed.
* Write(6,'(5F10.3, 2I10)') (BAR(JJ), JJ=1,5), IAR(6), IAR(7)
* Get FRPE row numbers of hits in this segment...
* Write(6,'(3I10)') IOSP, ISP, IAR(10+IWIR)
CALL SHS(320, 0, FLOAT(IHITS))
CALL SHS(320+ISM, 0, FLOAT(IHITS))
CALL UCOPY(BAR,IW(INDCR(IFPSG,1,NUMSEG)),NCFPSG)
C IFPSG = IADROW('FPSG',NBNN,NCFPSG,BAR)
* Close banks...
C IF(NUMSEG.GT. 0) THEN
C IFPSG = IADFIN('FPSG',NBNN)
C ELSE
* make empty banks
C IFPSG = NBANK('FPSG',NBNN,2)
C IW(IFPSG+1) = NCFPSG
C IW(IFPSG+2) = 0
C ENDIF
CALL BLIST(IW,'R+','FPSG')
*