- 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
This commit is contained in:
@@ -2,14 +2,23 @@ C-----------------------------------------------------------------------
|
||||
C Routine to align one circle by accumulating a distribution
|
||||
C of intensity values against degrees & then
|
||||
C finding the median of the distribution.
|
||||
C
|
||||
C Modifications: Mark Koennecke, April 2000
|
||||
C Added code for doing PH optimizations as well.
|
||||
C Added code for monitoring the centering process as well.
|
||||
C When a peak is not found, drive back to start and give an FP error
|
||||
C code instead of an FF. Then the alignement of another circle
|
||||
C might resolve the issue.
|
||||
C-----------------------------------------------------------------------
|
||||
SUBROUTINE CENTRE (DX,ANG,ISLIT)
|
||||
INCLUDE 'COMDIF'
|
||||
DIMENSION XA(100),YA(100),AN(4),ST(4),ANG(4)
|
||||
CHARACTER ANGLE(3)*6
|
||||
DATA ANGLE/'2theta','Omega','Chi'/
|
||||
CHARACTER ANGLE(4)*6
|
||||
DATA ANGLE/'2theta','Omega','Chi','PH'/
|
||||
INTEGER IRUPT
|
||||
NATT = 0
|
||||
C------- a debug flag! Set to 0 for no debug output
|
||||
IDEBUG = 1
|
||||
C-----------------------------------------------------------------------
|
||||
C If CAD-4 call the scan fitting version of the routine
|
||||
C-----------------------------------------------------------------------
|
||||
@@ -30,6 +39,7 @@ C-----------------------------------------------------------------------
|
||||
IF (KI .EQ. 'ST') N = 1
|
||||
IF (KI .EQ. 'SO') N = 2
|
||||
IF (KI .EQ. 'SC') N = 3
|
||||
IF (KI .EQ. 'SP') N = 4
|
||||
ICHI = 0
|
||||
IF (ST(3) .GE. 350.0 .OR. ST(3) .LE. 10.0) ICHI = 1
|
||||
IPHI = 0
|
||||
@@ -67,6 +77,11 @@ C-----------------------------------------------------------------------
|
||||
RETURN
|
||||
ENDIF
|
||||
CALL CCTIME (PRESET,COUNT)
|
||||
IF(IDEBUG .EQ. 1)THEN
|
||||
WRITE(COUT,20000),AN(1),AN(2),AN(3),AN(4),COUNT
|
||||
20000 FORMAT('TH = ',F8.2,' OM = ',F8.2,' CH = ',F8.2,' PH = ' F8.2,
|
||||
& ' CTS = ', F8.2)
|
||||
ENDIF
|
||||
CALL KORQ(IRUPT)
|
||||
IF(IRUPT .NE. 1) THEN
|
||||
WRITE (COUT,10000)
|
||||
@@ -154,11 +169,18 @@ C-----------------------------------------------------------------------
|
||||
IF (IMAX .EQ. 100 .AND. AFRAC*MAX .GT. MIN) GO TO 100
|
||||
C-----------------------------------------------------------------------
|
||||
C Case 2. There is no significant peak.
|
||||
C
|
||||
C Modified: Drive back to start positions. So that other circle centering
|
||||
C will not fail.
|
||||
C Modified error code to give an FP in order to decide between
|
||||
C interrupt and bad peak.
|
||||
C Mark Koennecke, April 2000
|
||||
C-----------------------------------------------------------------------
|
||||
IF (ILOW .LT. 1 .OR. IHIGH .GT. 100) THEN
|
||||
WRITE (COUT,11000) ANGLE(N),ILOW,IHIGH
|
||||
CALL GWRITE (ITP,' ')
|
||||
KI = 'FF'
|
||||
KI = 'FP'
|
||||
CALL ANGSET(ST(1),ST(2),ST(3),ST(4),IA,IC)
|
||||
RETURN
|
||||
ENDIF
|
||||
C-----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user