Model¶
The developer's index into where 8-ID content lives, the catalog graduation this deployment earns, and the record of what is deliberately deferred. First cut.
8-ID is a descriptor-and-docs scaffold today, reverse-engineered from the beamline's instrument repo: it exists as the descriptor and docs below, not yet as registered events or integration scenarios. This page points to where each piece lives, and records the scope decisions that are CORA's to make (kept off the staff Open questions, which carry only world-facts).
| Kind | Where | Notes |
|---|---|---|
| Beamline descriptor | deployments/8-id/beamline.yaml |
the device walk with bound PVs; source of the generated Source page |
| Site descriptor | deployments/aps/site.yaml |
the APS facility surface; 8-ID added to its beamline list, with XPCS Practices |
| Extraction provenance | research/aps-reverse-engineering/extracted/8id-bits/ |
the facts report and candidate the descriptor was curated from |
| Catalog Family | catalog/catalog.yaml |
of the families 8-ID shares with 4-ID, Transfocator and TemperatureController have graduated to catalog Families while BeamPositionMonitor is held loose for gate-review (below); 8-ID's other new classes stay loose too |
| Catalog Method | catalog/catalog.yaml |
xpcs added (capability cora.capability.xpcs), the second beamline after LCLS-MFX to need the event-stream acquisition axis; small-angle-scattering and diffraction Methods stay deferred (TECH-1) |
| Equipment Assets | not yet registered | the Inventory is the planned shape; no scenario registers 8-ID Assets yet |
| Trust / governance | not yet instantiated | see Governance |
Loose families held for gate-review¶
8-ID adds a second independent APS beamline (after 4-ID POLAR) to three device classes that recur widely: TemperatureController, Transfocator, and BeamPositionMonitor. Two of the three have since graduated to catalog Families. TemperatureController graduated when the parallel Diamond i22/i03/i11 rule-of-three settled the settable-actuator abstraction (ENV-1), and it presents the new Regulator Role. Transfocator graduated as a CRL focusing optic Family, distinct from Mirror / ZonePlate / Condenser: it is bound across several beamlines (APS 4-ID/8-ID/9-id, Diamond i22, NSLS-II chx/smi/ixs, SLAC lcls-mfx), and the cross-facility review settled it as the CRL-specific home rather than a general focusing optic. BeamPositionMonitor stays loose, held pending its cross-facility abstraction review: the beam-position sensor's fold-vs-promote question against the held Diagnostic family, with the now-graduated FluxMonitor as the precedent for a Sensor family earned by what it measures (DIAG-1). It stays loose here too, allowlisted and recorded in the promotion-review register; its naming-r3 review (during the catalog-graduation pass) is done, but the abstraction decision is gate-review's, not the 8-ID scaffold's.
| Loose family | Presents (when graduated) | At 4-ID | At 8-ID |
|---|---|---|---|
BeamPositionMonitor |
Sensor | XBPM / Sydor / TetrAMM | Sydor (8-ID-E) + TetrAMM (8-ID-I) |
Transfocator and TemperatureController were tracked here too and have since graduated to catalog Families. Transfocator is the CRL focusing optic Family the two 8-ID-D lens stacks bind (the lens material and lenslet count stay open, OPT-3). TemperatureController (#350) presents the Regulator Role (the LakeShore 336 at 8-ID-E and the Quantum Northwest holders at 8-ID-I bind it). Neither is held for gate-review any longer.
Magnet and Preamplifier are also loose on a single physical beamline (4-ID; 6idb-bits is a 4-ID fork, see the 4-ID model page).
The Diffractometer Assembly (landed)¶
The Assembly(Diffractometer) designed during the catalog-graduation pass is now real, and it composes the Goniometer Family that landed for I03 MX (#340) rather than re-modelling the sample circles. It is in catalog/catalog.yaml as a flat assembly presenting the Positioner Role, with slots goniometer (Goniometer, Exactly1, the sample-orientation circles plus centring), detector_arm (RotaryStage, ZeroOrMore, spanning 8-ID's nu / delta and 4-ID's detector-arm-less geometries), and reciprocal_space (PseudoAxis, whose partition rule resolves the hklpy2 inverse kinematics). The distinction from the Goniometer Family is deliberate: the Goniometer is the integrated single-device sample orienter (the I03 Smargon); the Diffractometer is the larger composed scattering instrument that USES one. The integration scenario test_8id_diffractometer_setup.py materializes it end-to-end against Postgres: it installs the four 8-ID-E constituent Assets (a Goniometer for mu / eta / chi / phi, the nu / delta detector-arm circles, and the reciprocal-space axis), defines the Assembly, and registers a Fixture binding the two detector circles to the detector_arm slot. The circle-role confirmation remains DIFF-1 and the reciprocal-space solver rule is DIFF-2; the 4-ID Fixture is the follow-on (the Assembly is shared, the Fixture is per-beamline).
Deliberately not here yet¶
-
The UR5 robotic sample changer.
RobocartUR5is a user-brought robotic arm; CORA has no sample-changer shape (the same gap the 32-ID projection-microscope changer raised). It is not modelled (SAMPLE-2). -
The softGlue timing graph. The XPCS exposure timing runs on a softGlueZynq FPGA fabric (
8idMZ1:); it is modelled coarsely as oneTimingController, not as its full signal graph (XPCS-3). -
The event-stream acquisition axis (the XPCS execution). The
xpcsMethod is now in the catalog, but the acquisition primitive that runs it is not: an XPCS Run is a DAQ-owned high-rate frame stream (begin/end a per-frame burst correlated downstream into g2), which CORA's poll-to-Done acquisition bodies (collect/discrete/continuous) cannot execute. 8-ID is the second beamline after LCLS-MFX to hit this, which promoted the event-stream axis to Stage 1 (design-locked, gate-review next; recorded in CORA's design memory). No spine code lands in this pass. -
The remaining scattering Methods. Whether small-angle scattering and six-circle diffraction enter CORA's catalog is an owner decision; their Practices render unlinked, pending (
TECH-1). -
Full asset-tree scenarios and vendor Models. Beyond the diffractometer Assembly / Fixture scenario above, no
test_8id_*.pyregisters the full 8-ID asset tree (the optics spine, the XPCS endstation), and no vendor Models are bound. Those land when the design firms and the team approves. -
Operations and experiment views. A runbook and live experiment view for a beamline CORA does not yet drive would be invention; see the note on the index.
The 2-BM Model page shows the by-kind index a fully-modelled deployment carries.