pcdsdevices.pseudopos.delay_instance_factory
- pcdsdevices.pseudopos.delay_instance_factory(prefix, motor_class, egu='s', n_bounces=2, invert=False, **kwargs)
Laser delay stage to rescale a physical axis to a time axis.
The optical laser travels along the motor’s axis and bounces off a number of mirrors, then continues to the destination. In this way, the path length of the laser changes, which introduces a variable delay. This delay is a simple multiplier based on the speed of light.
- pcdsdevices.pseudopos.delay
The fake axis. It has configurable units and number of bounces.
- Type:
- pcdsdevices.pseudopos.motor
The real axis. This can be a number of things based on the inheriting class, but it must have a valid
egu
so we know how to convert to the time axis.- Type:
- pcdsdevices.pseudopos.user_offset
An optional offset for the delay. This must be in the same units as
delay
.- Type:
Signal
- Parameters:
prefix (str) – The EPICS prefix of the real motor.
name (str) – A name to assign to this delay stage.
egu (str, optional) – The units to use for the delay axis. The default is seconds. Any time unit is acceptable.
n_bounces (int, optional) – The number of times the laser bounces on the delay stage, e.g. the number of mirrors that this stage moves. The default is 2, a delay branch that bounces the laser back along the axis it enters.
invert (bool, optional) – If True, increasing the real motor will decrease the delay. If False (default), increasing the real motor will increase the delay.