*-- Author : S.J. Maxfield SUBROUTINE FTDGEO *#********************************************************************** *# * *# VERSION: 12/04/90 Steve Maxfield * *# * *# * *# PURPOSE: Get certain geometrical data for IOS arrays * *# * *# * *#********************************************************************** *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,FGMIOS. COMMON/FGMIOS/ * Planar geometry + ZPP(140),C(140),S(140),ITYPE(140),WZERO(140),WSPACE, * * Radial geometry + ZP(36),PHW(36),WS(36) * *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. * * * PARAMETER(TWOPI=6.283185) LOGICAL FIRST DATA FIRST/.TRUE./ *---------------------------------------------------------------------- * Set up some nominal Geometry a la IOS. IF(FIRST) THEN * -------------- FIRST = .FALSE. CALL UGTBNK('FGAR',INFGAR) IF( INFGAR .EQ. 0) THEN WRITE(6,*)' ***FTDGEO >> FGAR BANK NOT FOUND' CALL H1STOP ENDIF CALL UGTBNK('FGAP',INDP) IF( INDP .EQ. 0) THEN WRITE(6,*)' ***FTDGEO >> FGAP BANK NOT FOUND' CALL H1STOP ENDIF * Get basic radial parameters... * Everything is labelled by wire-plane number (1-36) NMOD = IW(INFGAR+3) NPLANE= IW(INFGAR+5) * DPHI = TWOPI / FLOAT(IW(INFGAR+4)) STAG = RW(INFGAR+6) ZSEP = RW(INFGAR+7) KIND = INFGAR + 5 * DO 1 KMOD = 0, NMOD-1 KIND = KIND + 4 PHIWIR = RW(KIND+4) + DPHI/2. DO 4 KK= 1, NPLANE K = KMOD*12 + KK ZP(K) = RW(KIND+3) - ZSEP/2.0 + KK*ZSEP PHW(K) = PHIWIR WS(K) = -STAG * ( (-1)**KK) 4 CONTINUE 1 CONTINUE * * Get basic planar parameters... NMODP = IW(INDP+3) NPLANP= IW(INDP+5) * ZSEPP = RW(INDP+6) KIND = INDP + IW(INDP+1) + 1 DO 2 KMOD = 0, NMODP-1 DO 202 KK= 1, NPLANP K = KMOD*4 + KK ZPP(K) = RW(KIND+3) - ZSEPP/2.0 + KK*ZSEPP * Cosine and Sine of WIRES:- C(K) = COS( RW(KIND+4) - TWOPI/4.) S(K) = SIN( RW(KIND+4) - TWOPI/4.) * For RWCH Planar code TP(KMOD+1) = RW(KIND+4) - TWOPI/4. CTP(KMOD+1) = C(K) STP(KMOD+1) = S(K) ZPLAN(K) = ZPP(K)*10.0 202 CONTINUE KIND = KIND + IW(KIND+1) + 1 2 CONTINUE ENDIF * ----- RETURN END *