Files
sics/difrac/wxw2t.f
cvs ff5e8cf0b2 - Improved centering in DIFRAC
- Fixed a bug in UserWait
- Improved scan message in scancom
- Added zero point correction in lin2ang
- fixed an issue with uuencoded messages
2000-04-06 12:18:53 +00:00

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