Skip to content

Commit

Permalink
Merge pull request #327 from European-XFEL/motor-docs-more
Browse files Browse the repository at this point in the history
Detector-specific details for motor trackers docs
  • Loading branch information
egorsobolev authored Jan 27, 2025
2 parents 9967ce6 + 5714e7d commit f2f246d
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 2 deletions.
4 changes: 2 additions & 2 deletions docs/geometry.rst
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ Motor-based geometry
The geometry of some motorized multimodule detectors may be updated according to motor positions by corresponding `MotorTracker`.

.. autoclass:: extra_geom.motors::AGIPD_1MMotors
:class-doc-from: init
:class-doc-from: class

.. automethod:: with_motor_axes

Expand All @@ -434,7 +434,7 @@ The geometry of some motorized multimodule detectors may be updated according to
.. automethod:: move_geom_by

.. autoclass:: extra_geom.motors::JF4MMotors
:class-doc-from: init
:class-doc-from: class

.. automethod:: with_motor_axes

Expand Down
39 changes: 39 additions & 0 deletions extra_geom/motors.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,26 @@ def _move_by(self, motor_diff):


class AGIPD_1MMotors(BaseMotorTracker):
"""
Motor tracker for AGIPD1M.
The motor tracker updates reference geometry according to the motor
positions.
AGIPD1M has four quadrant moving by two motors each. Methods expect
motor positions or their changes as an array with the shape `(4, 2)`
or as a nested sequence: `[[Q1M1, Q2M2], [Q2M1, Q2M2], [Q3M1, Q3M2],
[Q4M1, Q4M2]]`.
Parameters
----------
ref_geom: extra_geom.AGIPD_1MGeometry
ref_motor_positions: array[4, 2] or nested sequence
Reference motor positions (in mm), four groups by two values.
If `None`, it be taken from reference geometry. If reference
geometry has no motor positions as well, the tracker instance is
created without reference motor positions.
"""
# groups of modules driven by motors together
# Q1, Q2, Q3, Q4
groups = [
Expand All @@ -213,6 +233,25 @@ class AGIPD_1MMotors(BaseMotorTracker):


class JF4MMotors(BaseMotorTracker):
"""
Motor tracker for Jungfrau4M.
The motor tracker updates reference geometry according to the motor
positions.
Jungfrau4M has two halves moving by one motors each. Methods expect
motor positions or their changes as an array with the shape `(2, 1)`
or as a nested sequence: `[[H1M1], [H2M1]]`.
Parameters
----------
ref_geom: extra_geom.AGIPD_1MGeometry
ref_motor_positions: array[2, 1] or nested sequence
Reference motor positions (in mm), four groups by two values.
If `None`, it be taken from reference geometry. If reference
geometry has no motor positions as well, the tracker instance is
created without reference motor positions.
"""
# groups of modules driven by motors together
# H1, H2
groups = [
Expand Down

0 comments on commit f2f246d

Please sign in to comment.