Model¶
The developer's by-kind index: where each CORA aggregate's i10 content lives, why this second APPLE-II deployment coins no new family and decides two loose families' second sighting, 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 i10 |
|---|---|
| Asset (Equipment) | the stage pages: Source, Sample |
| Computed / virtual axes (Equipment) | Source (the polarization 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 i10 new¶
i10 is the fleet's second APPLE-II (variable-polarization) source, after i06, and it is i06's soft X-ray twin: the same shared spine of twin APPLE-II undulators feeding a plane-grating monochromator and two branch endstations. What i10 adds is the science those endstations do with the polarization: resonant soft X-ray scattering and reflectivity on the RASOR diffractometer (with a polarization-analysis arm that resolves the polarization of the scattered beam), and X-ray magnetic dichroism with the sample in an applied magnetic field at the i10-1 endstation.
For the modelling, i10's significance is that it brings two device families that were loose at a single beamline (4-ID) to a second sighting: the polarization analyzer and the sample-environment magnet. That second independent deployment was a step toward the rule-of-three; both families have since completed it and graduated into the catalog (PolarizationAnalyzer across 4-ID / i10 / ID32 / P09, Magnet across 4-ID / i10-1 / ID32), so i10's analyzer arm and magnets bind their catalog Families. i10 coins no new family.
No new families¶
i10 coins no new Family and changes nothing in the catalog.
- The polarization decisions follow the merged i06 precedent. The two APPLE-II undulators bind the catalog
InsertionDevice(the phase rows, the energy-to-gap polynomial, and the controller are per-Asset settings and the bound Model). The polarization is aPseudoAxisAsset, a sibling of the incident-energy axis over the same source; the Pol value domain (LH / LV / PC / NC / LA plus third-harmonic variants) is the axis's value set, and the controller's polarization-to-phase conversion is its partition rule, carried rule-less (POL-1). i10's one addition over i06 is the continuous linear-arbitrary-angle: it is the continuous realization of the LA value within the same polarization axis, not a second axis, since the angle is meaningful only as a refinement of LA. - The RASOR sample circles bind
Goniometer, with a reciprocal-spacePseudoAxis(the 4-ID / 8-ID / i06-1 diffractometer pattern; the Assembly is named, not built,DIFF-1). - The rest reuse existing families: the PGM binds
GratingMonochromator; the collimating, switching, and focusing mirrors bindMirror; the slits bindSlit; the pinhole bindsAperture; the sample and magnet stages bindLinearStage; the Lakeshore controllers bindTemperatureController; and the counting chains bindFluxMonitor. The machine state reuses the looseStorageRing.
Loose families at a second sighting¶
Two families that were used only at 4-ID reach a further sighting at i10, and both have since graduated. The promotion guard (PROMOTION_THRESHOLD = 2) makes a loose family used by two or more deployments require a recorded hold-or-graduate decision: the signal is mechanical, the decision stays human. Magnet has graduated: i10-1 was one of the three consumers (with 4-ID and ESRF ID32) whose rule-of-three earned it into the catalog, so i10's magnets now bind the graduated catalog Magnet Family (it presents the Regulator Role, the field a settable process variable). PolarizationAnalyzer has also graduated to a catalog Family (earned across 4-ID / i10 / ID32 / P09, presenting Positioner), so i10's RASOR arm now binds the catalog Family.
| Loose family | Sightings | i10 binding | Decision |
|---|---|---|---|
PolarizationAnalyzer |
4-ID, i10, ID32, P09 | the RASOR polarization-analysis arm (the POLAN stage) | graduated (POL-2): catalog Family across 4-ID / i10 / ID32 / P09, presents Positioner; dodal exposes the analyzer arm's motors only (the analyzer crystal is implicit hardware), so CORA models the role on the real motorized arm and binds the catalog Family |
Magnet |
4-ID, i10 (i10-1), ID32 | the i10-1 electromagnet and the superconducting field-sweep magnet | graduated (MAG-1): i10-1 was one of the three consumers (4-ID + i10-1 + ID32) whose rule-of-three earned it; both magnet devices are one Family, the field-sweep capability is a per-Asset bound-Model affordance, not a split (the InsertionDevice / TemperatureController precedent); presents the Regulator Role (MAG-1 now covers only the per-Asset field detail) |
The decision to bind the RASOR PaStage to the catalog PolarizationAnalyzer Family (rather than to a plain detector-arm RotaryStage with the analyzer as a setting) is a deliberate one: RASOR's defining role is polarization analysis (the PV root is POLAN), and CORA models that role on the real arm rather than hiding it in a note. The absence of an analyzer-crystal signal in dodal is an absence in the data, not proof the role is absent; the analyzer-crystal spec stays a per-Asset detail to confirm (POL-2).
Deliberately not here yet¶
- No area detector; the science detector is a point counter (
DET-1). Neither endstation has an area detector in dodal. Detection is point and current-integrating: the scattered-beam point detector, the incident-flux monitor, and the fluorescence and drain-current / total-electron-yield channels are current-amplifier-plus-scaler chains, which bindFluxMonitor. Whether scattered-beam point-counting eventually earns its own Sensor Family isDET-1; if a future i10 area detector appears, the science detector migrates. - The diffractometer Assembly (
DIFF-1) and the reciprocal-space rule (DIFF-2). Named, not built, exactly as 4-ID, 8-ID, and i06-1 deferred theirs. - The polarization Calibration (
POL-1). Pinning the polarization-to-phase and the linear-arbitrary-angle conversion as a CORA-owned Calibration is deferred; it is only needed if CORA must scan polarization without the i10 controller in the loop. - The resonant-scattering / reflectivity / XMCD / XMLD Methods. Whether they enter CORA's catalog is an owner decision; the Practices render unlinked, pending. Resonant scattering and XMCD share the 4-ID Methods, XMLD shares the i06 slug, and reflectivity is a new pending slug (
TECH-1). - The upstream diagnostics and simulated devices. The diagnostic screens (d1-d7 fluorescent screens and webcams) and the simulated devices are not modelled in this cut; no
test_i10_*.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.