*-- Author : I.O.Skillicorn SUBROUTINE FTMERG **: FTMERG 30907 RP. Farm changes. **---------------------------------------------------------------------- * * Merge lists of Radial-based and Planar-based tracks * resolving conflicts. * - Planar-based tracks win disputed segments * *** - Radial-based tracks only accepted if verified by at * at least one planar. * *** - Keep radial only tracks if 1 or 2 module. * *KEEP,FRDIMS. *KEEP,FH1WORK. * Planar geometry * * Radial geometry * * Radial data... * * Planar Data * * Pointers into DIGI bank for IOS labelled hits * * Track segment data * * Fit data * * *KEEP,FPTVTX. **the common/VERTEX/ becomes /VERTVV/ (in analogy to /VERTFF/) on the ** 17/6/91, since it is in conflict with the VERTEX module (g.bernardi) ** (note that all these common names should start by F in this deck...) *KEEP,FRH3FT. * Common for RETRAC results (SJM) *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,FPTFLG. *KEEP,FPTPAR. *KEEP,FDIFLG. *KEND. * POINTERS TO RADIAL SEGMENTS FORMING TRACKS * COMMON FOR IOS PLANAR LINK * COMMON FOR PLANAR FOUND TRACKS C COMMON FOR RADIALS ASSOCIATED WITH PLANAR TRACKS C PLANAR SEGMENTS ASSOCIATED WITH RADIALS C ISGG POINTS TO ROB'S SEGMENT BANKS C RADIAL REJECT , UNUSED , RADIAL VERIFIED BY PLANAR CALL VZERO(IUZP,3*MAXSEG) CALL VZERO(IUZR,3*MAXTRK) CALL VZERO(IBRR,IG) CALL VZERO(IVRR,IG) CALL VZERO(IBPP,NPP) C CHECK COMMON RADIAL SEGMENT CALL SHS(713,0,2.01) C CHECK COMMON PLANAR SEGMENT CALL SHS(713,0,3.01) C HERE WE HAVE EITHER RADIAL OR PLANAR SEGMENT IN COMMON C BETWEEN RADIAL AND PLANAR FOUND TRACKS C MARK RADIAL LINKED TRACK AS BAD C NEXT LINE COUNTS RADIALS FOUND MORE THAN ONCE BY PLANARS CALL SHS(713,0,4.01) *-----Debug--------------------------------------------------- * WRITE(*,*)' ***FTMERG***' * WRITE(*,*)IG,' RADIAL TRACKS FTADD' * * Mark planar and radial segments on verified radial tracks * used. Label the verified radial tracks in the IG list * Kill off bad links... CALL SHS(711,0,5.01) C RADIAL TRACK VERIFIED BY PLANAR SEGMENT - GOOD TRACK *-----Debug--------------------------------------------------- * Write(6,*) ' Verified Radial-based track:-' * PRINT 1001,I,(IRN(K,I),K=1,36),LNK3(I,1),LNK3(I,2),LNK3(I,3) * PRINT 1001,I,(IRP(K,I),K=1,36),ISGG(1,I),ISGG(2,I),ISGG(3,I) CALL SHS(711,0,2.01) C UNVERIFIED - SEEN RADIALS ONLY- ? *-----Debug--------------------------------------------------- * Write(6,*) ' Unverified Radial-based track:-' * PRINT 1001,I,(IRN(K,I),K=1,36),LNK3(I,1),LNK3(I,2),LNK3(I,3) * PRINT 1001,I,(IRP(K,I),K=1,36),ISGG(1,I),ISGG(2,I),ISGG(3,I) *1001 FORMAT(' RR',I2,3X,12I2,3X,12I2,3X,12I2,2X,3I2) *1002 FORMAT(' RP',I2,3X,12I2,3X,12I2,3X,12I2,2X,3I2) CALL SHS(711,0,3.01) * 'Verify' this track also. * This assumes Radial tracks are at least two module... * LNK3(I,1) = 0 * LNK3(I,2) = 0 * LNK3(I,3) = 0 C RADIAL BASED TRACK HAS SEGMENT IN COMMON WITH PLANAR BASED TRACK C SHARE PLANAR SEGMENT WITH PLANAR TRACK - REJECT - IBRR=1 C SHARE RADIAL SEGMENT WITH PLANAR TRACK - REJECT- IBRR=1 * PRINT 1005,I,(IRN(K,I),K=1,36),LNK3(I,1),LNK3(I,2),LNK3(I,3) * PRINT 1006,I,(IRP(K,I),K=1,36),ISGG(1,I),ISGG(2,I),ISGG(3,I) CALL SHS(711,0,4.01) CC WRITE(*,*)NPP,' PLANAR TRACKS ' C TRACKS BASED ON LINKED PLANAR SEGMENTS - ACCEPT AS GOOD * PRINT 1004,I,(IRR(K,I),K=1,36),LRR(1,I),LRR(2,I),LRR(3,I) * PRINT 1003,I,(IPP(K,I),K=1,36),LPP(1,I),LPP(2,I),LPP(3,I) CALL SHS(711,0,1.01) C PLANAR VERIFIED BY RADIAL CALL SHS(713,0,1.01) C FOR COMPLETENESS ADD DRIFT SIGNS FOR PLANAR AND RADIALS C *