dodal.devices.beamlines.i21.I21SampleManipulatorStage#

class dodal.devices.beamlines.i21.I21SampleManipulatorStage[source]#

Seven-axis stage with a standard xyz stage and four axis of rotation: azimuth, tilt, polar, and difftth (diffraction diode rotation). It also exposes two virtual translational axes that are defined in frames of reference attached to the sample.

  • para and perp:

    Parallel and perpendicular translation axes in the sample frame. These axes are derived from the lab-frame x and y motors and rotate with the polar angle, so that motion along para and perp remains aligned with the sample regardless of its polar rotation.

Both virtual axes behave as ordinary orthogonal Cartesian translations from the user’s point of view, while internally coordinating motion of the underlying motors to account for the current rotation angles.

This allows users to position the sample in physically meaningful, sample-aligned coordinates without needing to manually compensate for polar rotations.

Note: I21 currently uses the following PV to variable - PV AZIMUTH but calls the variable phi. - PV TILT but calls variable chi. - PV RZ but calls it th (theta).

Inheriting from standard motor class until decided if i21 uses standard name convention or need to update variables for this class.

Parameters:
  • prefix (str)

  • name (str, default: '')

  • x_infix (str, default: 'X')

  • y_infix (str, default: 'Y')

  • z_infix (str, default: 'Z')

  • azimuth_infix (str, default: 'AZIMUTH')

  • tilt_infix (str, default: 'TILT')

  • polar_infix (str, default: 'RZ')

  • difftth_infix (str, default: 'DRING')

Methods

Attributes