*-- Author : I.O. Skillicorn SUBROUTINE FTLINK C ORGANISE LINKING OF RADIAL MODULES C AUTHOR I.O.SKILLICORN C 21/5/91 REDUCE SIZE * SUNDRY ARRAY DIMENSIONS... *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 * * *KEND. * VERTEX INFO... *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...) *KEND. * * * LOCAL ARRAYS... ************************************************************* C COMMON/FTWSEG/NIG,NNPTS(MAXTRK),NIRADG(36,MAXTRK), C 1SDRADN(36,MAXTRK) ************************************************************* C DIMENSION IP12(36,MAXTRK),SD12(36,MAXTRK) C DIMENSION IP13(36,MAXTRK),SD13(36,MAXTRK) C DIMENSION IP23(36,MAXTRK),SD23(36,MAXTRK) C =1 FOR UNUSED SEGMENTS C NNPTS(J)=0 C NIRADG(I,J)=0 C JOIN TRACK SEGMENTS CALL FTJN3(CF,IUSED,N123,LL123,RPC123,RPS123,PH123, CALL FTJN23(CF,IUSED,N23,LL23,RPC23,RPS23,PH23, CALL FTJN12(CF,IUSED,N12,LL12,RPC12,RPS12,PH12, CALL FTJN13(CF,IUSED,N13,LL13,RPC13,RPS13,PH13, C FILL BANK WITH TRACKS C STORE LINK POINTERS C WRITE(*,*)' 123 ',IG,RPCOSG(IG),RPSING(IG) C DO105 N=1,36 C IF(IP123(N,I).GT.0)NPTS(IG)=NPTS(IG)+1 C IRADG(N,IG)=IP123(N,I) C SDRADG(N,IG)=SD123(N,I) C105 CONTINUE C STORE LINK POINTERS C WRITE(*,*)' 23 ',IG,RPCOSG(IG),RPSING(IG) C DO115 N=1,36 C IRADG(N,IG)=IP23(N,I) C IF(IP23(N,I).GT.0)NPTS(IG)=NPTS(IG)+1 C SDRADG(N,IG)=SD23(N,I) C115 CONTINUE C STORE LINK POINTERS C WRITE(*,*)' 12 ',IG,RPCOSG(IG),RPSING(IG) C DO125 N=1,36 C IRADG(N,IG)=IP12(N,I) C IF(IP12(N,I).GT.0)NPTS(IG)=NPTS(IG)+1 C SDRADG(N,IG)=SD12(N,I) C125 CONTINUE C STORE LINK POINTERS C WRITE(*,*)' 1 3 ',IG,RPCOSG(IG),RPSING(IG) C DO135 N=1,36 C IRADG(N,IG)=IP13(N,I) C IF(IP13(N,I).GT.0)NPTS(IG)=NPTS(IG)+1 C SDRADG(N,IG)=SD13(N,I) C135 CONTINUE C PICK UP UNUSED TRACK SEGMENTS C DO 210 I=1,NT C IF(IUSED(I,II).EQ.1)GOTO210 C NIG=NIG+1 C IG=IG+1 C********************************************************************** C IF(NIG.GT.MAXTRK)THEN C NIG=MAXTRK C NNPTS(NIG)=0 C ENDIF C IF(IG.GT.MAXTRK)THEN C IG=MAXTRK C NNPTS(IG)=0 C ENDIF C**************************************************12/10/87************ C RPCOSG(IG)=PCOSL(I,II) C RPSING(IG)=PSINL(I,II) C PHZG(IG)=PHZL(I,II) C ZIG(IG)=RZI(I,II) C DO 215 N=1,12 C NN=NS+N C NIRADG(NN,NIG)=IRPT(N,I,II) C IF(IRPT(N,I,II).GT.0)NNPTS(NIG)=NNPTS(NIG)+1 C SDRADN(NN,NIG)=SDRFT(N,I,II) C215 CONTINUE C 210 CONTINUE *-----Debug-------------------------------------- * WRITE(6,'('' ***FTLINK>> '',I5, '' tracks found'')')IG * DO 170 I=1,IG * PRINT 2330,I,(IRADG(J,I),J=1,36) *2330 FORMAT (' LINK ',1X,I3,1X,12I2,1X,12I2,1X,12I2,F6.2) *170 CONTINUE *GB DO 175 I=1,NIG * PRINT 2330,I,(NIRADG(J,I),J=1,36) *175 CONTINUE *------------------------------------------------ *