Skip to content

Roles

The functional binding contracts a Method references via required_roles. A Family or Assembly advertises which Roles it satisfies via presents_as. Affordance names are the closed primitive set; see Affordances.

Generated from the catalog descriptor

This page is generated from catalog/catalog.yaml. Edit the descriptor, not this page. For the naming, governance, and closed-core conventions, see the Catalog overview.

Role Required affordances Optional affordances Contract
Detector Imageable Binnable, Coolable, Triggerable, Streamable Acquires 2D image frames on exposure or trigger. Satisfying Assets or composed Assemblies emit Image / Frame signals. Direct-detection Cameras and composed scintillator-relay Assemblies both satisfy this Role; the multi-Family disjunction accepts either path.
Positioner Homeable, Limitable Rotatable, Translatable, Posable, Indexable, Capturable, Leading, Following Drives at least one degree of freedom to operator-commanded positions. Satisfying Families include LinearStage, RotaryStage, Hexapod, and indexable mechanisms. Single-axis and multi-axis Assets both satisfy; the contract is positioning capability, not axis count.
Controller Identifiable Reportable, Pulsing Generates or routes signals (motion, timing) that govern subordinate Assets. Satisfying Families are the Controller leaves (MotionController, TimingController); they carry signal-governance affordances (Identifiable, status Reportable, and Pulsing for a trigger generator), NOT the operational motion / imaging affordances of the subordinate Assets they supervise. The Controller does NOT itself perform motion / imaging; subordinate Assets do, under its supervision.
Sensor Reportable Triggerable, Streamable Reports a continuous or discrete measurement on query or trigger. Satisfying Families include ion chambers, photodiodes, thermocouples, and other point-sensor anatomies. Distinct from Detector: a Sensor produces a scalar or short-vector Reading, not a 2D frame.
Regulator Settable PIDControllable, Coolable, Reportable Drives a continuous process variable to an operator-commanded setpoint via a control loop. Satisfying Families include TemperatureController (and, once earned, flow / pressure regulators). Distinct from Controller, which supervises subordinate Assets without itself performing, and from Sensor, which only reports: a Regulator performs by acting on the process variable.
Shutter Shutterable Triggerable, Reportable Gates the beam open or closed on operator command. Satisfying Families carry the Shutterable affordance (the Shutter Family: PSS, station, and hutch shutters). Graduated when three Methods needed to command a shutter as a bound contract (dark_field, flat_field, xpcs); distinct from a Positioner (it gates rather than positions a continuous axis) and from a passive BeamStop (which absorbs the beam permanently rather than gating it under command).