#%NAME%
# SLID10.MAC - gap and offset for two cylinder slits on ID10
#%DESCRIPTION%
#%PRE%
# GAP -
# <-->| * | Cylinder GAP = RADIUS*COS(OFFSET-hs) - CYLRAD
# /_ with radius
# / CYLRAD
# /
# /
# / Angle: OFFSET - hs
# *-----------
# <--RADIUS-->
#%PRE%
#
#%EXAMPLE%
# slid10setup 25 10 66.422 gaph hs gapv vs
#
def slid10_getgap '
global OLD_SSLIT
A[$1]=SSLIT_R*cos((-A[$2]+SSLIT_OFFSET)*PI/180 )-SSLIT_D
OLD_SSLIT[$3]=A[$1]
'
def slid10_movegap '
if (OLD_SSLIT[$3] != A[$2]) {
A[$1]=SSLIT_OFFSET-180/PI*acos((A[$2]+SSLIT_D)/SSLIT_R)
}
'
# very primitive setup radius diameter offset gaph hs gapv vs
#%UU% radius diameter offset gaph hs gapv vs
#%MDESC%
# radius diameter offset are the parameters for the slits
# the other for parameters are the mnemonics for the pseudomotors
def slid10setup '
global SSLIT_R SSLIT_D SSLIT_OFFSET
SSLIT_R=$1
SSLIT_D=$2
SSLIT_OFFSET=$3
cdef("user_getpangles","slid10_getgap $4 $5 0 ;",$4,1)
cdef("user_getpangles","slid10_getgap $6 $7 1 ;",$6,1)
cdef("user_checkall","slid10_movegap $5 $4 0 ;",$5,1)
cdef("user_checkall","slid10_movegap $7 $6 1 ;",$7,1)
'
#%MACROS%
#%IMACROS%
#%DEPENDENCIES%
# The file slid10.mac has to be read in !done by: startup script
# (this file needs: stchanges.mac)
#%AUTHOR%
# SLID10.MAC JK 8.93
#%TOC%
|