Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,6 @@ def test_no_unexpected_orphan_catalog_models() -> None:
"Rheometer": "staged: rheometer shear-cell (8-ID); rule-of-three open (SAMPLE-1)",
"FlightPath": "staged: evacuated XPCS flight path (8-ID); rule-of-three open (XPCS-2)",
"SpectrometerArm": "staged: energy-dispersive RIXS arm (SIX); no point-Sensor fit (RIXS-1)",
"ElectronAnalyzer": "staged: electron energy analyzer (ESM); not a photon detector (ARPES-1)",
"EnergyAnalyzer": "staged: IXS diced crystal energy analyzer; n=1 (ANALYZER-1)",
}

Expand Down
1 change: 1 addition & 0 deletions apps/api/tests/unit/deployments/test_site_descriptor.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ def test_practice_method_links_only_known() -> None:
"resonant_inelastic_scattering": "SIX RIXS; soft X-ray, not yet in pilot scope (TECH-1)",
"inelastic_x_ray_scattering": "IXS hard X-ray inelastic scattering; not in scope (TECH-1)",
"angle_resolved_photoemission": "ESM ARPES; photoemission, not yet in pilot scope (TECH-1)",
"x_ray_photoelectron_spectroscopy": "SST HAXPES tender photoemission; not in scope (TECH-1)",
"grid_scan": "i03 MX fast grid scan; portable Method not yet earned",
"mx_data_collection": "i03 MX rotation data collection; Method not yet earned",
"sample_exchange": "i03 autonomous robotic sample exchange; Method not yet earned",
Expand Down
2 changes: 2 additions & 0 deletions catalog/catalog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ families:
note: "Multi-axis sample-orientation goniometer Family: omega / chi / phi rotation plus the x / y / z sample-centring translations, with centre-of-rotation control. The MX micro-goniometer. Distinct from RotaryStage (a single tomographic rotation axis that carries PSO fly-scan Following / Marking, which the goniometer does not) and from TiltStage (a limited-range tilt with no primary rotation axis); the discriminator is the multi-axis crystal-orientation role. Graduated from pending on i03 (the Smargon), CORA's first canonical-goniometer deployment; chi-vs-kappa and axis-count are a per-Asset settings or bound-Model difference, not a Family split (the InsertionDevice / Table precedent). The composed multi-stage scattering diffractometer (4-ID / 8-ID, the Diffractometer Assembly) binds one Goniometer Asset for its sample-orientation circles."
- name: Manipulator
note: "Ultra-high-vacuum multi-axis sample manipulator Family: a serial stack of translations and rotations that positions a sample inside a UHV chamber, typically with cryogenic cooling. Distinct from Hexapod (a parallel-kinematic six-strut positioner), from Goniometer (the crystal-orientation circles for diffraction), and from a plain LinearStage / RotaryStage (a single in-air motion axis); the discriminator is the UHV serial-stack sample-environment role. Earned in once two deployments shared it, the soft X-ray beamlines SIX (NSLS-II 2-ID, the cryostat x/y/z/theta manipulator) and ESM (NSLS-II 21-ID, the LT six-axis cryo manipulator x/y/z/Rx/Ry/Rz); axis count, cryo range, and load-lock transfer are a per-Asset settings or bound-Model difference, not a Family split (the InsertionDevice / Goniometer precedent)."
- name: ElectronAnalyzer
note: "Hemispherical electron energy analyzer Family: a photoemission spectrometer that disperses photoelectrons by kinetic energy (and, in angle-resolved mode, emission angle) over a window set by the pass energy and lens mode. Presents the Detector Role (it acquires the spectrum), but distinct from the photon detectors (Camera, the energy-dispersive Sensor families): it measures electrons out, not photons. Earned in once two deployments shared it, the soft / tender X-ray photoemission beamlines ESM (NSLS-II 21-ID, the ARPES Scienta SES) and SST (NSLS-II 7-ID, the HAXPES Scienta SES); analyzer model, lens-mode set, and pass-energy range are a per-Asset settings or bound-Model difference, not a Family split (the InsertionDevice / Manipulator precedent). The photoemission electron microscope (LEEM / PEEM) is a distinct imaging instrument, deferred (PEEM-1)."
- name: TemperatureController
note: "Continuous-setpoint sample-environment temperature actuator Family: drives a sample temperature to a commanded setpoint, typically via a PID control loop. Presents the Regulator Role (requires the Settable affordance). Distinct from Controller (which supervises subordinate Assets without itself performing) and Sensor (which only reports): a TemperatureController performs by acting on the temperature. Graduated on the rule-of-three across Diamond i22 (Linkam), i03 (cryostream, thawer), and i11 (Cyberstar / Eurotherm blowers, Oxford cryostreams); cooling-vs-heating and PID-vs-other are a per-Asset settings or bound-Model difference, not a Family split. FlowController (a settable-setpoint mass-flow / pump actuator that would also present Regulator) stays loose pending its own rule-of-three."
# Pending in code (documented, not yet defined): none.
Expand Down
10 changes: 5 additions & 5 deletions deployments/esm/beamline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
#
# ESM is the FIRST PHOTOEMISSION deployment: it measures photon-in / electron-out,
# so the detector is a hemispherical ELECTRON ENERGY ANALYZER (Scienta SES), a regime
# no prior CORA beamline modelled. The analyzer binds a new loose ElectronAnalyzer
# Family at n=1 (presents Detector); a second ARPES beamline must earn it.
# no prior CORA beamline modelled. The analyzer binds the ElectronAnalyzer Family,
# which GRADUATED once SST (NSLS-II 7-ID HAXPES) earned the 2nd Scienta SES (presents Detector).
#
# CONSOLIDATION: ESM is the 3rd soft X-ray PGM (after SIX + CSX), reusing the catalog
# GratingMonochromator Family; and the 2nd UHV sample manipulator (after SIX), which
Expand Down Expand Up @@ -238,12 +238,12 @@ detectors:
note: >
SES is the Scienta hemispherical electron energy analyzer: the ARPES detector,
photon-in / electron-out, recording electron counts over a kinetic-energy x
emission-angle window set by the pass energy and lens mode. It binds a NEW loose
ElectronAnalyzer Family at n=1 (presents Detector; no photon-detector Family fits;
emission-angle window set by the pass energy and lens mode. It binds the catalog
ElectronAnalyzer Family (graduated across ESM + SST; presents Detector; no photon-detector Family fits;
ARPES-1). The QuadEM electrometers are the I0 / drain-current flux monitors.
devices:
- name: ElectronAnalyzer
family: ElectronAnalyzer # loose Family (n=1; hemispherical electron energy analyzer; ARPES-1)
family: ElectronAnalyzer # catalog Family (graduated ESM + SST; hemispherical electron energy analyzer)
pv: "XF21ID1-ES-SES"
new: true
confirm: true
Expand Down
9 changes: 7 additions & 2 deletions deployments/nsls2/site.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CORA Site descriptor: the NSLS-II site-level surface
#
# NSLS-II (National Synchrotron Light Source II, Brookhaven National Laboratory)
# is a Site CORA models, the home of the FXI, HXN, BMM, SRX, SIX, CHX, CSX, XPD, ESM, and SMI beamlines. This file is
# is a Site CORA models, the home of the FXI, HXN, BMM, SRX, SIX, CHX, CSX, XPD, ESM, SMI, IXS, and SST beamlines. This file is
# the single human-readable source for the facility's site-level instances: the
# Facility itself, the Practices it would run, and the facility principals.
#
Expand All @@ -24,7 +24,7 @@ facility:
heading: "NSLS-II"
kind: Site
institution: Brookhaven National Laboratory
beamlines: [FXI, HXN, BMM, SRX, SIX, CHX, CSX, XPD, ESM, SMI, IXS]
beamlines: [FXI, HXN, BMM, SRX, SIX, CHX, CSX, XPD, ESM, SMI, IXS, SST]

# ISA-88 Site Recipes: the facility-adapted form of a catalog Method. All pending
# because they are reverse-engineered from the FXI profile collection, not yet
Expand Down Expand Up @@ -65,6 +65,11 @@ practices:
# technique new to the catalog; rendered pending until a technique enters scope
# (TECH-1). The XPEEM/LEEM branch is deferred (see esm/model.md).
- {name: ESM_arpes_practice, method: angle_resolved_photoemission, pending: true, note: "angle-resolved photoemission on the hemispherical electron analyzer; Method not yet in catalog (TECH-1)"}
# SST (7-ID) runs RSoXS on the soft branch (reuses the 4-ID resonant_scattering
# Method) and HAXPES on the tender branch (a new pending photoemission Method,
# distinct from ESM's angle-resolved variant). Both pending until scope (TECH-1).
- {name: SST_rsoxs_practice, method: resonant_scattering, pending: true, note: "resonant soft X-ray scattering on the SST-1 RSoXS endstation; reuses the 4-ID resonant_scattering Method (TECH-1)"}
- {name: SST_haxpes_practice, method: x_ray_photoelectron_spectroscopy, pending: true, note: "hard / tender X-ray photoelectron spectroscopy on the SST-2 HAXPES Scienta SES analyzer; Method not yet in catalog (TECH-1)"}
# SMI's defining techniques (SAXS / WAXS / GISAXS) sit on the deferred scattering
# Capabilities that Diamond i22 left pending (TECH-1); simultaneous SAXS+WAXS is
# coordinated Runs not a new technique. No SMI Practice is recorded until those
Expand Down
Loading
Loading