C----------------------------------------------------------------------- C Routine to align a reflection as follows :-- C 1. For Euler 4-circle machines. C Centre omega, omega/2theta, chi, omega, 2omega/-theta. C 2. For Kappa machines. C Centre omega/2theta, theta(-45slit), theta(+45slit) C----------------------------------------------------------------------- SUBROUTINE WXW2T (DT,DO,DC,ISLIT) INCLUDE 'COMDIF' DIMENSION ANG(4) CALL SHUTTR (99) C----- a fixed value for PHI alignement, MK DP = .1 C----- debug message: MK WRITE(COUT,22)DT, DO, DC 22 FORMAT('STEP OM: ',F8.2,' Step TH: ',F8.2,' Step CH: ',F8.2) CALL GWRITE(ITP,' ') C----------------------------------------------------------------------- C For the CAD-4 centering is as follows :-- C 1. an omega/2theta scan with the 4mm variable slit, C 2. a) a 2theta scan with the negative 45deg slit, C b) a 2theta scan with the positive 45deg slit. C c) the best 2theta and chi values are then calculated. C----------------------------------------------------------------------- IF (DFMODL .EQ. 'CAD4') THEN KI = 'WT' CALL CENTRE (DT,ANG,ISLIT) IF (KI .EQ. 'FF') GO TO 100 KI = 'ST' CALL CENTRE (DT,ANG,0) IF (KI .EQ. 'FF') GO TO 100 ELSE C----------------------------------------------------------------------- C Align Omega C----------------------------------------------------------------------- KI = 'SO' CALL CENTRE (DO,ANG,0) IF (KI .EQ. 'FF') GO TO 100 C----------------------------------------------------------------------- C Align 2Theta the first time (Insert 7-May-81) C----------------------------------------------------------------------- KI = 'ST' CALL CENTRE (DT,ANG,0) IF (KI .EQ. 'FF') GO TO 100 C----------------------------------------------------------------------- C Align Chi C----------------------------------------------------------------------- KI = 'SC' CALL CENTRE (DC,ANG,0) IF (KI .EQ. 'FF') GO TO 100 C----------------------------------------------------------------------- C Align Phi C---------------------------------------------------------------------- KI = 'SP' CALL CENTRE(DP,ANG,0) IF (KI .EQ. 'FF') GO TO 100 C----------------------------------------------------------------------- C Omega again C----------------------------------------------------------------------- KI = 'SO' CALL CENTRE (DO,ANG,0) IF (KI .EQ. 'FF') GO TO 100 IF (KI .EQ. 'FP') GO TO 100 C----------------------------------------------------------------------- C Align 2Theta C---------------------------------------------------------------------- KI = 'ST' CALL CENTRE (DT,ANG,0) IF (KI .EQ. 'FF') GO TO 100 IF (KI .EQ. 'FP') GO TO 100 ENDIF C----------------------------------------------------------------------- C The answers are passed in BPSI in COMMON C----------------------------------------------------------------------- RTHETA = ANG(1) ROMEGA = ANG(2) RCHI = ANG(3) RPHI = ANG(4) THETA = RTHETA OMEGA = ROMEGA CHI = RCHI PHI = RPHI 100 CALL SHUTTR (-99) RETURN END