EPICS synApps optics 2slit.db#

db_2slit: synApps optics 2slit.db

There are two implementations, corresponding to differing and competing opinions of how the support should be implemented.

Coordinates of Optics2Slit2D_InbOutBotTop (viewing from detector towards source):

   top
inb   out
   bot

Coordinates of Optics2Slit2D_HV (viewing from detector towards source):

    v.xp
h.xn    h.xp
    v.xn

Each blade [1] (in the XIA slit controller) travels in a _cartesian_ coordinate system. Positive motion moves a blade outwards (towards the p suffix). Negative motion moves towards the n suffix. Size and center are computed by the underlying EPICS support.

hsize = out - inb vsize = top - bot

USAGE:

slit1 = Optics2Slit2D_HV("gp:Slit1", name="slit1")
slit1.geometry = 0.1, 0.1, 0, 0  # moves the slits
print(slit1.geometry)

slit2 = Optics2Slit_InbOutBotTop("gp:Slit2", name="slit2")
slit2.geometry = 0.1, 0.1, 0, 0  # moves the slits
print(slit2.geometry)

Public Structures

Optics2Slit1D([prefix, kind, read_attrs, ...])

EPICS synApps optics 2slit.db 1D support: xn, xp, size, center, sync

Optics2Slit2D_HV([prefix, kind, read_attrs, ...])

EPICS synApps optics 2slit.db 2D support: h.xn, h.xp, v.xn, v.xp

Optics2Slit2D_InbOutBotTop([prefix, kind, ...])

EPICS synApps optics 2slit.db 2D support: inb, out, bot, top

see:

epics-modules/optics

class apstools.synApps.db_2slit.Optics2Slit1D(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **kwargs)[source]#

EPICS synApps optics 2slit.db 1D support: xn, xp, size, center, sync

“sync” is used to tell the EPICS 2slit database to synchronize the virtual slit values with the actual motor positions.

Added in version 1.6.0.

class apstools.synApps.db_2slit.Optics2Slit2D_HV(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **kwargs)[source]#

EPICS synApps optics 2slit.db 2D support: h.xn, h.xp, v.xn, v.xp

Added in version 1.6.0.

property geometry#

Return the slit 2D size and center as a namedtuple.

class apstools.synApps.db_2slit.Optics2Slit2D_InbOutBotTop(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **kwargs)[source]#

EPICS synApps optics 2slit.db 2D support: inb, out, bot, top

Added in version 1.6.0.

property geometry#

Return the slit 2D size and center as a namedtuple.