Skip to content

Model

The developer's by-kind index: where each CORA aggregate's XFP content lives, how it models a beamline with no detector and an offline readout, 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 XFP
Asset (Equipment) the stage pages: Source, Sample, Detector
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 XFP new

XFP is the most structurally distinct deployment in the fleet. Every other beamline CORA models is a measurement beamline: condition a beam, place a sample, record a detector signal. XFP is a dose-delivery beamline with no detector. Its contributions:

  • Dose as the experiment variable. The controlled quantity is the delivered radiolytic dose (exposure time times incident flux times attenuation), not a detector setting. The whole apparatus, the timed shutters, the delay-generator-fired millisecond fast shutter, the Al filter wheel, and the flux monitors, exists to set and measure that dose.
  • A sample-and-record output, not frames. A footprinting run produces a footprinted sample (an irradiated aliquot) plus a dose record (exposure time, filter thickness, flux time-series, well / tube identity). There are no measurement frames.
  • The offline-readout seam. The structural readout (which residues were modified) is offline mass spectrometry, downstream and off the beamline. CORA is the system of record for the dose and the sample provenance; the MS analysis is a separate, later step.
  • A solution Subject. Like LIX, the specimen is a biological macromolecule in a buffer, delivered fluidically.

No new families

XFP coins no new Family and changes nothing in the catalog. The whole device tree reuses existing vocabulary; the novelty is in the Method, the Subject, and the seam, not in device classes.

  • 17-BM is a bending-magnet, white / pink beam source (no insertion device, no monochromator in the footprinting path); machine state is observed through the loose StorageRing, and the white-versus-mono scope is SRC-1 / WHITE-1.
  • The dose chain reuses the catalog: the bendable mirror binds Mirror; the slits bind Slit; the Al filter wheel binds Filter (it sets the dose rate); the timed shutters bind Shutter; the delay generator that fires the millisecond Uniblitz fast shutter binds TimingController (its opening-time setpoint is the dose time); the QuadEM electrometers bind FluxMonitor; the Sydor beam-position monitor binds the graduated catalog PositionMonitor (presenting Sensor, distinct from FluxMonitor by measuring beam position rather than flux; per-Asset channel map open, DIAG-1); the sample stages bind LinearStage.

How a beamline with no detector is modelled

XFP has no Detector-role imaging device, and CORA models that honestly rather than inventing one:

  • the detection side holds flux / dose monitors (FluxMonitor, the graduated catalog PositionMonitor), which measure the delivered dose, not a sample signal;
  • the dose-delivery role is expressed by the Source gating (Shutter + TimingController + Filter) plus those flux monitors, not by a detector;
  • the structural readout is the offline-readout seam: the run's product is a footprinted sample plus a dose record, and the mass-spec analysis happens downstream, off the beamline (READOUT-1).

This is the deliberate inversion: where a measurement beamline's run is anchored on a Dataset of detector frames, an XFP run is anchored on a dose record and a Subject (the footprinted aliquot), with the structural Dataset produced elsewhere and linked back later.

The FlowController rule-of-three

The one device reuse worth naming is the sample-delivery pump. Its anatomy is a settable flow / pump actuator (rate / volume setpoints, a run command), exactly the catalog FlowController Family that i22, 7-BM, and LIX already use. So the pump reuses FlowController; it coins nothing. XFP is its fourth consumer (i22, 7-BM, LIX, XFP), and FlowController has now graduated into the catalog on this rule-of-three: it presents the existing Regulator Role (the settable-actuator sibling of TemperatureController), earned across i22 / 7-BM / LIX / XFP, like EmissionSpectrometer and TemperatureController before it. The wider fluidic chain beyond the pump (selector valves, SEC columns, flow cells, fraction collectors) stays in the ControlPort seam pending its own rule-of-three (FLUID-1).

Deliberately not here yet

  • The fraction collector Family (FC-1). The fraction collector is a PV-bound aliquot-routing actuator with no clean existing Family. At n=1 CORA does not coin a FractionCollector Family; it is carried in the sample-custody seam (the footprinted-sample hand-off to offline MS).
  • The 96-well plate handler (HT-1). The plate is addressed in pure Python (8 columns x 12 rows, a coordinate table, no robot and no PV); it is a Procedure over the spine plus a Subject custody thread, the i03 / MX3 / LIX custody-as-Procedure precedent (XFP at the no-robot end of that spectrum), not a device Family.
  • The offline mass-spec readout (READOUT-1). The structural analysis is downstream, off the beamline, and absent from the profile collection. A future integration could link the offline MS result back to the dose record; it is not modelled here.
  • The Method. Whether x_ray_footprinting (or a broader controlled-dose / irradiation Capability) enters CORA's catalog is an owner decision; the Practices render unlinked, pending (TECH-1).
  • The intermittently-connected and out-of-scope hardware. The 0-9 mm Al z-attenuator, the beam-defining pinhole stages, the greenfield Galil stages, and the temperature / bias diagnostics are intermittently connected or read-only and not modelled as core devices (ATTN-1, TEMP-1); the monochromatic XAS endstation (ES:3) is a separate endstation, out of scope for footprinting (WHITE-1).
  • The time-resolved mixing mode. The stopped-flow time-resolved footprinting mode is flagged unfinished in the source; no Practice is recorded for it (TECH-1).
  • The simulated devices and full asset-tree scenarios. No test_xfp_*.py registers 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.