*-- Author : R. Henderson SUBROUTINE FPCPLN C------------------------------------------------------------- C C--- routine calculates plane normal and constant C--- for each cluster found by FPDIG4 C C------------------------------------------------------------- C--- *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 PARAMETER (MAXSEG = 200) PARAMETER (MAXCON = 100) PARAMETER (LIMSTO = 5000) PARAMETER (MSEGLM = 150) PARAMETER (MAXCLU = 50) C--- *KEND. C--- *KEEP,FPH1WRK. PARAMETER (MAXHTS=200) PARAMETER (NUMWPL=36) PARAMETER (MAXTRK=200) PARAMETER (MXTTRK=900) PARAMETER (MAXTR3=200) PARAMETER (MAXHPW=2) PARAMETER (MAXDIG=2000) PARAMETER (NUMRWR=1727) PARAMETER (NUMPWR=1151) LOGICAL DRMASK COMMON /H1WORK/ C-- *KEEP,FPCSEG. C--- 3 TPNORM(3,9,MAXCLU), PCONST(9,MAXCLU) , 4 SMLS(4,2,LIMSTO,3) , C--- C-- *KEEP,FPDIGI. 5 DRSTO(MSEGLM,4),NDRSTO(4), 6 IDIGST(4,MSEGLM), 7 SEGTAB(MSEGLM,MSEGLM),DRMASK(MSEGLM,4), 8 IDCELL(MSEGLM,4), 9 NSGTAB(MSEGLM),ASGTAB(MSEGLM), A RESSTO(MSEGLM,4) , C--- C-- *KEEP,FPDGI. B IDGIST(MSEGLM,4),IDGISM(4,9,MAXCLU) C ,RCHI(MAXSEG,3) , C--- C-- *KEEP,FPSTID. D IDRSTO(MSEGLM,4),IDYUV(4,9,MSEGLM), E IDYUVS(12,MAXSEG,3),FREQ(MSEGLM+1) , C--- C-- *interface to real data F NDPW(NUMWPL),DW(MAXHTS,NUMWPL),DWG(MAXHTS,NUMWPL), G DRIWP(MAXHTS,NUMWPL),DRIWM(MAXHTS,NUMWPL), G DRIW(MAXHTS,NUMWPL),IPHOLE(MAXHTS,NUMWPL), H IPFRPE(MAXHTS,36), IPPIOS(MAXDIG,2) C---. *KEND. C--- *KEEP,FPCLUS. COMMON /FPCLUS/ TC(3,9,MAXCLU) , NTC(9) , TOC(3,9,MAXCLU) , 2 TCYUV(4,9,MAXCLU), TCYUVW(4,9,MAXCLU) C--- *KEND. C--- *KEEP,FPLGEO. C--- COMMON /FPLGEO/ ZPLAN(36) , TP(9) , YP(26) , PLANE(3,9), 1 RMAX , RMIN , YSTART , YSPACE , 2 X0 , Y0 , PZSTRU (8), STAGER , 3 RESOL , ACUT , CTP(9) , STP(9) C--- *KEND. C--- C C--- Calculate the normals to the planes formed by the tracks C--- and four wires in the same orientation for each cluster in each C--- plane C DO 10 IPLANE = 1,9 DO 20 ITC = 1,NTC(IPLANE) C C--- calculate normals C TPNORM(1,IPLANE,ITC) = 1 ( PLANE(3,IPLANE) * TC(2,IPLANE,ITC) 2 - PLANE(2,IPLANE) * TC(3,IPLANE,ITC) ) TPNORM(2,IPLANE,ITC) = 1 - ( PLANE(3,IPLANE) * TC(1,IPLANE,ITC) 2 - PLANE(1,IPLANE) * TC(3,IPLANE,ITC) ) TPNORM(3,IPLANE,ITC) = 1 ( PLANE(2,IPLANE) * TC(1,IPLANE,ITC) 2 - PLANE(1,IPLANE) * TC(2,IPLANE,ITC) ) C C--- Normalize TPNORM C ALEN = SQRT ( TPNORM(1,IPLANE,ITC)**2 + 1 TPNORM(2,IPLANE,ITC)**2 + 2 TPNORM(3,IPLANE,ITC)**2 ) DO 60 I=1,3 TPNORM(I,IPLANE,ITC) = TPNORM (I,IPLANE,ITC) / ALEN 60 CONTINUE C C--- Calculate the characteristic constant for this plane C PCONST(IPLANE,ITC) = 1 TOC(1,IPLANE,ITC) * TPNORM(1,IPLANE,ITC) 2 + TOC(2,IPLANE,ITC) * TPNORM(2,IPLANE,ITC) 3 + TOC(3,IPLANE,ITC) * TPNORM(3,IPLANE,ITC) 20 CONTINUE 10 CONTINUE END *