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(*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:

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 PVPositionerSoftDone

size#

alias of PVPositionerSoftDone

xn#

alias of PVPositionerSoftDone

xp#

alias of 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 Optics2Slit1D

v#

alias of 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 PVPositionerSoftDone

property geometry#

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

hcenter#

alias of PVPositionerSoftDone

hsize#

alias of PVPositionerSoftDone

inb#

alias of PVPositionerSoftDone

out#

alias of PVPositionerSoftDone

top#

alias of PVPositionerSoftDone

vcenter#

alias of PVPositionerSoftDone

vsize#

alias of PVPositionerSoftDone