Model¶
The developer's by-kind index: where each CORA aggregate's i19 content lives, why the four-circle is not the novelty and the dual-hutch access-control seam is, and the record of what is deliberately deferred. Design-phase scaffold.
For the aggregate shapes see the architecture model and the per-BC modules.
| Aggregate (BC) | Where at i19 |
|---|---|
| Asset (Equipment) | the stage pages: Source, Sample |
| Computed / virtual axes (Equipment) | Source (the incident-energy PseudoAxis) |
| Capability, Method (Recipe) | Techniques |
| Enclosure (Enclosure) | the index |
| Zone, Conduit, Policy (Trust); Actor (Access) | Governance |
| Procedure, Recipe, Caution, Supply, Subject, Run, Campaign, Dataset, Decision | deferred (design-phase; see below) |
What makes i19 new (and what does not)¶
i19 is CORA's first chemical (small-molecule) single-crystal crystallography beamline. The fleet's other diffraction-imaging crystallography is all macromolecular MX (I03, I24, FMX, MX3); i19 solves small-molecule structures on a Newport kappa four-circle goniometer with an Eiger detector, plus a serial / microfocus fixed-target arm.
The honest framing: the instrument is not the novelty. The kappa four-circle is plain catalog Goniometer reuse:
- The catalog
Goniometernote states that chi-versus-kappa and axis-count are a per-Asset setting, not a Family split. So the phi / omega / kappa sample circles bind the catalogGoniometer, exactly as the i03 Smargon and the MX3 mini-kappa do. - The larger four-circle (the goniometer plus the 2theta detector arm plus a reciprocal-space axis) composes the catalog
Assembly(Diffractometer), the 8-ID / 4-ID / i06-1 pattern, named-not-built in descriptor mode (DIFF-1,DIFF-2). - The single-crystal diffraction technique reuses the pending
diffractionMethod that 4-ID, 8-ID, and CSX already share; chemical-versus-magnetic single crystal is a Practice-level science difference, not a new Method (TECH-1).
What is genuinely new is the governance seam, below. i19 coins no new Family and changes nothing in the catalog.
The dual-hutch access-control seam¶
i19 has two experiment hutches in series (EH1 and EH2) that share one optics line, and only the active hutch may drive the shared optics. dodal expresses this through a central arbiter (the i19-blueapi optics service): a hutch reads the shared-optics state directly over EPICS, but its writes (change energy, operate the experiment shutter, move the attenuator, set a mirror piezo) are posted to the arbiter, which compares the requesting hutch against the active-hutch readback (BL19I-OP-STAT-01:EHStatus) and runs or rejects the operation.
CORA models this without a new device family:
- The shared-optics devices are single Assets in the
i19-opticsenclosure (theMonochromator,Undulator, the twoMirrors, theFilterattenuator, theShutter). A non-active hutch reading them read-only is the same Asset surfaced through a permit, not a second Asset. - The active-hutch permit is an Enclosure-permit + Trust-gate. EH1 and EH2 are two
Enclosures; which one may drive the shared optics now is a permit axis on the Enclosure, governed by Trust authorization. TheBL19I-OP-STAT-01:EHStatusreadback is the read-model of that permit (ACCESS-1). - The i19-blueapi arbiter is an actuate-floor seam partner. It is the same shape as the "EPICS is the floor" seam, here a blueapi-arbiter floor: today it performs the active-hutch arbitration; CORA's edge would conduct the run over its
ControlPort, either driving through the arbiter or replacing its plan-orchestration per routine, a seam decision not pre-empted here.
This is the design-interesting content of i19: an Enclosure-permit-gated actuate seam, the first dual-hutch shared-optics arbitration in the fleet. The concrete Enclosure-permit, Trust, and seam instances are named, not built, in this scaffold.
No new families¶
Beyond the four-circle (Goniometer) and the MAPT aperture (below), the rest reuse the catalog directly: the DCM binds Monochromator; the focusing mirrors bind Mirror (the coating stripe is a hutch-keyed setting); the attenuator binds Filter (the i03 precedent); the undulator binds InsertionDevice; the Eiger and the OAV viewing cameras bind Camera; the Zebra and PandA hardware triggers bind TimingController; the serial / microfocus arm binds a second Goniometer; the beamstops bind BeamStop; the shutter binds Shutter; the incident energy is a PseudoAxis. The machine state reuses the loose StorageRing.
-
The MAPT pinhole and collimator bind the catalog
Aperture(APERTURE-1). This follows the i03 ApertureScatterguard-at-MAPT precedent: the consumer-facing beam-defining Asset bindsAperture, composing the pinhole and collimator XY stages, with the configuration aperture sizes as a Capability settings schema. The discriminator tension (the catalogAperturedescribes a fixed code pattern, while the MAPT is a driven, size-selectable opening) is carried asAPERTURE-1; the i03 sibling, the same controls stack and the same MAPT, already bindsAperture, so i19 follows it. -
The sample backlight binds the catalog
BacklightFamily. i03, i24, and fmx already bind it; i19 is a further consumer of the illumination affordance now graduated across the MX / imaging fleet (DET-1). i19 adds a consumer, not a new Family.
Deliberately not here yet¶
- The Assembly(Diffractometer) and the reciprocal-space rule (
DIFF-1,DIFF-2). Named, not built, exactly as 4-ID, 8-ID, and i06-1 deferred theirs. The 2theta detector arm is aRotaryStageslot of the Assembly; det_z folds as a per-Asset axis on the arm (the i06-1 precedent). - The serial / microfocus raster (
SERIAL-1). The fixed-target arm binds a secondGoniometer; the raster sub-mode (which would touch a grid-scan-style Method that the catalog does not yet carry) is carried as a note, not modelled. - The Enclosure-permit + Trust-gate + actuate seam instances (
ACCESS-1). The dual-hutch access-control is described above and is the governance novelty, but the concrete Zone / Conduit / Policy and the arbiter-seam drive-through-versus-replace decision are named, not built, in this scaffold. - The diffraction Method. Whether single-crystal diffraction enters CORA's catalog as a Capability / Method is an owner decision; the Practice renders unlinked, pending, reusing the slug 4-ID / 8-ID / CSX share (
TECH-1). - The centring image-recognition behaviour and the simulated devices. The OAV pin-tip recognition is a Method behaviour on the Camera, not a device; no
test_i19_*.pyregisters the asset tree, and no vendor Models are bound. - 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.