jj_transfocators#
Import: apstools.devices.jj_transfocators
JJ-Xray Transfocators
Device uses PyDevice for focal size calculation and lens configuration control
- prefix:
EPICS prefix required to communicate with transfocator IOC, ex: “100idPyCRL:CRL:”
- pitch1_motor:
The motor record PV controlling the real pitch motor on CRL1, ex “100id:m4”
- yaw1_motor:
The motor record PV controlling the real yaw motor on CRL1, ex “100id:m5”
- x1_motor:
The motor record PV controlling the real lateral motor on CRL1, ex: “100id:m1”
- y1_motor:
The motor record PV controlling the real vertical motor on CRL1, ex: “100id:m2”
For CRL with translation (JJtransfocator1xZ) there’s one more motor:
z1_motor:
The motor record PV controlling the real translation motor on CRL1, ex: “100id:m3”
For two CRL system (JJtransfocator2x) there’s 4 more motors:
- pitch2_motor:
The motor record PV controlling the real pitch motor on CRL1, ex “100id:m29”
- yaw2_motor:
The motor record PV controlling the real yaw motor on CRL1, ex “100id:m30”
- x2_motor:
The motor record PV controlling the real lateral motor on CRL1, ex: “100id:m26”
- y2_motor:
The motor record PV controlling the real vertical motor on CRL1, ex: “100id:m27”
For two CRL system with Translation (JJtransfocator2xZ), there’s yet another motor:
z2_motor:
The motor record PV controlling the real translation motor on CRL2, ex: “100id:m28”
Module Contents#
- class apstools.devices.jj_transfocators.JJtransfocator(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=DEFAULT_CONNECTION_TIMEOUT, **kwargs)[source]#
Import:
apstools.devices.jj_transfocators.JJtransfocatorBases:
ophyd.DeviceBase class for device objects
This class provides attribute access to one or more Signals, which can be a mixture of read-only and writable. All must share the same base_name.
Parameters#
- prefixstr, optional
The PV prefix for all components of the device
- namestr, keyword only
The name of the device (as will be reported via read()`
- kinda member of the
KindIntEnum (or equivalent integer), optional Default is
Kind.normal. SeeKindfor options.- read_attrssequence of attribute names
DEPRECATED: the components to include in a normal reading (i.e., in
read())- configuration_attrssequence of attribute names
DEPRECATED: the components to be read less often (i.e., in
read_configuration()) and to adjust viaconfigure()- parentinstance or None, optional
The instance of the parent device, if applicable
- connection_timeoutfloat or None, optional
Timeout for connection of all underlying signals.
The default value DEFAULT_CONNECTION_TIMEOUT means, “Fall back to class-wide default.” See Device.set_defaults to configure class defaults.
Explicitly passing None means, “Wait forever.”
Attributes#
- lazy_wait_for_connectionbool
When instantiating a lazy signal upon first access, wait for it to connect before returning control to the user. See also the context manager helpers:
wait_for_lazy_connectionanddo_not_wait_for_lazy_connection.
Subscriptions#
- SUB_ACQ_DONE
A one-time subscription indicating the requested trigger-based acquisition has completed.
- beamMode#
- dq#
- energyMode#
- energy_keV_local#
- energy_keV_lookup#
- energy_keV_mono#
- focalPower#
- focalSize#
- q#
- sam_position_offset_readback#
- sam_position_readback#
- class apstools.devices.jj_transfocators.JJtransfocator1x(prefix: str, pitch1_motor: str, yaw1_motor: str, x1_motor: str, y1_motor: str, *args, **kwargs)[source]#
Import:
apstools.devices.jj_transfocators.JJtransfocator1xBases:
JJtransfocatorHandles single transfocator system
- binary_crl1_config#
- bw_crl1_config#
- crl1_z_pos#
- interLensDelay1#
- pitch1#
- rbv_crl1_config#
- x1#
- y1#
- yaw1#
- class apstools.devices.jj_transfocators.JJtransfocator1xZ(prefix: str, z1_motor: str, *args, **kwargs)[source]#
Import:
apstools.devices.jj_transfocators.JJtransfocator1xZBases:
JJtransfocator1xHandles single transfocator system
- z1#
- class apstools.devices.jj_transfocators.JJtransfocator2x(prefix: str, pitch2_motor: str, yaw2_motor: str, x2_motor: str, y2_motor: str, *args, **kwargs)[source]#
Import:
apstools.devices.jj_transfocators.JJtransfocator2xBases:
JJtransfocator1xAdds a second transfocator to beamline
- binary_crl2_config#
- bw_crl2_config#
- crl2_z_pos#
- interLensDelay2#
- pitch2#
- rbv_crl2_config#
- x2#
- y2#
- yaw2#
- class apstools.devices.jj_transfocators.JJtransfocator2xZ(prefix: str, z2_motor: str, *args, **kwargs)[source]#
Import:
apstools.devices.jj_transfocators.JJtransfocator2xZBases:
JJtransfocator2xAdds a second transfocator to beamline
- z2#
- class apstools.devices.jj_transfocators.focal_size(prefix='', *, limits=None, name=None, read_attrs=None, configuration_attrs=None, parent=None, egu='', **kwargs)[source]#
Import:
apstools.devices.jj_transfocators.focal_sizeBases:
ophyd.PVPositionerfocal size positioner
- done#
- readback#
- setpoint#
- class apstools.devices.jj_transfocators.fpower_index(prefix='', *, limits=None, name=None, read_attrs=None, configuration_attrs=None, parent=None, egu='', **kwargs)[source]#
Import:
apstools.devices.jj_transfocators.fpower_indexBases:
ophyd.PVPositionerfocal power index “positioner”; increasing index, increasing focal power
- done#
- readback#
- setpoint#