feat(pdf): scaffold NSLS-II PDF (28-ID-1) total-scattering / PDF deployment, reverse-engineered#397
Merged
Merged
Conversation
…al scattering / pair distribution function, XPD's twin), reverse-engineered PDF is the NSLS-II high-energy total-scattering and powder-diffraction beamline at sector 28-ID-1, the dedicated pair-distribution-function endstation: a high-energy beam through a powder or capillary sample onto large flat-panel and pixel area detectors, with a near and a far detector distance merged to reach the high Q a PDF needs. Reverse-engineered from public open source (NSLS2/pdf-profile-collection startup scripts + the NSLS2/pdftools device classes). Descriptor + docs scaffold; EPICS PVs real and read from source, every value carried confirm; scenarios deferred. TWIN. PDF (28-ID-1, XF:28ID1*) and XPD (28-ID-2, deployments/xpd) are the two endstations on the shared 28-ID damping wiggler: same science family (high-energy powder diffraction and total scattering / PDF), different branch and PV namespace. PDF is the dedicated total-scattering / PDF endstation and reuses XPD's modelling. WHY no catalog change, and where PDF differs. Zero new families, nothing graduates. The flat-panel and pixel area detectors reuse Camera; the photodiode flux monitor FluxMonitor; the cryostream / cryostat / furnace cluster TemperatureController (graduated #350); the side-bounce Laue monochromator Monochromator; the focusing mirror Mirror; the capillary spinner Goniometer; the slits Slit; the fast shutter Shutter; the beamstops BeamStop; the detector and sample-environment stages LinearStage; the master energy a PseudoAxis. The one loose family is the StorageRing supply readback (MACHINE-1). Two shapes distinguish PDF from XPD and are carried by what is real, not coined: a side-bounce (single Laue) monochromator instead of XPD's bent double-Laue (a Monochromator settings difference), and an explicit two-detector / two-distance acquisition that merges a near and a far panel for the PDF Q-range (DIST-1). The gas-handling / humidity rig present in source is carried deferred (ENV-1), the discipline that models the settled thermal environment and defers the in-situ actuators until they earn modelling. MODELLING: powder diffraction and total scattering / PDF sit on the deferred powder_diffraction / total_scattering Methods Diamond i11 and i15-1 left pending; PDF reinforces both at a second NSLS-II endstation without coining either, and following XPD records no Practice (TECH-1). Wiring: PDF added to the NSLS-II Site beamline list (no Practice, comment explains why); deployments index row; mkdocs nav block. No test-registry change (StorageRing is the supply-exempt loose family; PDF binds no other loose family and records no practice). The missing IOS index row noted earlier was already fixed upstream, so it is untouched here. Gate: 410 deployment unit tests pass, mkdocs --strict builds clean, adversarial per-file verify (11 independent verifiers vs the cloned source) caught four issues (a Linkam file miscitation, a "same set as XPD" overclaim for the Goniometer / BeamStop families XPD does not bind, and missing MACHINE-1 / GOV-1 question rows), all corrected and re-gated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve the NSLS-II beamline list, mkdocs nav, deployments index, and practices-comment conflicts against current main (now at ISR #399 + CDI #396); PDF appends after CDI. No content reconciliation needed: PDF is high-energy total scattering, unrelated to the coherent-imaging cohort. Gate: 431 deployment tests pass, mkdocs --strict clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Scaffolds the NSLS-II PDF deployment (beamline 28-ID-1), the high-energy total-scattering and pair-distribution-function endstation: a high-energy beam through a powder or capillary sample onto flat-panel and pixel area detectors, with a near and a far detector distance merged to reach the high Q a PDF needs. Reverse-engineered from
NSLS2/pdf-profile-collectionandNSLS2/pdftools. Descriptor + docs scaffold; scenarios deferred; every value carriedconfirm.Twin of XPD
PDF (28-ID-1,
XF:28ID1*) and XPD (28-ID-2) are the two endstations on the shared 28-ID damping wiggler, same science family. PDF is the dedicated total-scattering / PDF endstation and reuses XPD's modelling.Modelling
Camera; photodiode toFluxMonitor; cryostream/cryostat/furnace toTemperatureController; side-bounce Laue mono toMonochromator; focusing mirror toMirror; capillary spinner toGoniometer; slits toSlit; fast shutter toShutter; beamstops toBeamStop; detector/sample-env stages toLinearStage; energy toPseudoAxis. One loose family:StorageRing(supply, MACHINE-1).Monochromatorsettings difference), and an explicit two-detector / two-distance acquisition (DIST-1).Files
deployments/pdf/beamline.yaml(18 devices, verified PVs).docs/deployments/pdf/(10 authored pages + generatedbeamline.md).site.yamlbeamline list + no-Practice comment,mkdocs.ymlnav,docs/deployments/index.mdrow. No test-registry change (no new loose family, no practice).Note: the missing IOS index row I flagged earlier was already fixed upstream, so it is untouched here.
Verification
mkdocs build --strictbuilds clean; no em dashes / non-ASCII.Goniometer/BeamStopfamilies XPD does not bind, and missingMACHINE-1/GOV-1question rows), all verified against the repo and corrected, then re-gated.🤖 Generated with Claude Code