LODCM

class pcdsdevices.epics.LODCM(prefix, *, name, main_line=None, mono_line='MONO', **kwargs)

Large Offset Dual Crystal Monochromator

This is the device that allows XPP and XCS to multiplex with downstream hutches. It contains two crystals that steer/split the beam and a number of diagnostic devices between them. Beam can continue onto the main line, onto the mono line, onto both, or onto neither.

dectris

Component attribute

Component(DectrisStates, ':DH')
diag_clear

returns: diag_clear – False if the diagnostics will prevent beam. :rtype: bool

diode

Component attribute

Component(InOutStates, ':DIODE')
foil

Component attribute

Component(FoilStates, ':FOIL')
h1n

Component attribute

Component(LodcmStates, ':H1N')
lodcm_move(h1n=None, yag=None, dectris=None, diode=None, foil=None, timeout=None)

Move each component of the LODCM to the given state.

Parameters:
  • h1n (string, optional) – OUT, C, or Si
  • yag (string, optional) – OUT, YAG, SLIT1, SLIT2, or SLIT3
  • dectris (string, optional) – OUT, DECTRIS, SLIT1, SLIT2, SLIT3, OUTLOW
  • diode (string, optional) – OUT or IN
  • foil (string, optional) – OUT, Mo, Zr, Zn, Cu, Ni, Fe, or Ti
  • timeout (float, optional) – Mark status as failed after this many seconds.
Returns:

status – Status object that will be marked as finished once all components are done moving.

Return type:

DeviceStatus

remove(wait=False, timeout=None, finished_cb=None, **kwargs)

Moves the diagnostics out of the beam.

Parameters:
  • wait (bool, optional) – If True, wait for motion to complete.
  • timeout (float, optional) – If provided, mark the status as failed if the movement does not complete within this many seconds.
  • finished_cb (func, optional) – Callback function to be run once the motion has completed.
Returns:

status – Status object that will be marked finished when all diagnostics are done moving and will time out after the given timeout.

Return type:

ophyd.status.DeviceStatus

subscribe(cb, event_type=None, run=True)

Subscribe to changes in the LODCM destination

Parameters:
  • cb (callable) – Callback to be run
  • event_type (str, optional) – Type of event to run callback on
  • run (bool, optional) – Run the callback immediatelly
yag

Component attribute

Component(YagLomStates, ':DV')