- Fixed a bug in UserWait - Improved scan message in scancom - Added zero point correction in lin2ang - fixed an issue with uuencoded messages
86 lines
3.2 KiB
Fortran
86 lines
3.2 KiB
Fortran
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
|