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

1

Note that the blade names here may be different than the EPICS support. The difference is to make the names of the blades consistent with other slits with the Bluesky framework.

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(*args, **kwargs)

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

Optics2Slit2D_HV(*args, **kwargs)

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

Optics2Slit2D_InbOutBotTop(*args, **kwargs)

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

see

https://github.com/epics-modules/optics

new in release 1.6.0

class apstools.synApps.db_2slit.Optics2Slit1D(*args: Any, **kwargs: Any)[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.

center

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

size

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

xn

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

xp

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

class apstools.synApps.db_2slit.Optics2Slit2D_HV(*args: Any, **kwargs: Any)[source]

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

property geometry

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

h

alias of apstools.synApps.db_2slit.Optics2Slit1D

v

alias of apstools.synApps.db_2slit.Optics2Slit1D

class apstools.synApps.db_2slit.Optics2Slit2D_InbOutBotTop(*args: Any, **kwargs: Any)[source]

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

bot

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

property geometry

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

hcenter

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

hsize

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

inb

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

out

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

top

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

vcenter

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone

vsize

alias of apstools.devices.positioner_soft_done.PVPositionerSoftDone