Skip to content

Add grazing-incidence soft X-ray spectrometer tutorial#166

Open
jacobdparker wants to merge 1 commit into
mainfrom
tutorials/grazing-spectrometer
Open

Add grazing-incidence soft X-ray spectrometer tutorial#166
jacobdparker wants to merge 1 commit into
mainfrom
tutorials/grazing-spectrometer

Conversation

@jacobdparker

Copy link
Copy Markdown
Contributor

Summary

Adds a new docs tutorial, docs/tutorials/grazing_spectrometer.ipynb, that designs a slitless grazing-incidence soft X-ray spectrometer end-to-end in optika:

  • a Wolter Type-I telescope — paraboloid (ParabolicSag) + confocal hyperboloid (ConicSag, k < −1), illuminated at large radius for grazing incidence;
  • a 5000 line/mm transmission grating (ConstantRulingSpacing) placed in the converging beam; and
  • a 2k × 4k CMOS detector (10 µm pixels) that records the zero-order direct image and the first-order spectrum side by side.

The design is driven by a 1 arcsec/pixel spatial plate scale (→ f ≈ 2.06 m) and a 15–20 Å first-order range. It's also a workout for parts of optika that hadn't been exercised before: grazing-incidence conic optics and transmission gratings.

Sections

  • Focal length from plate scale; aperture → grazing angle (≈0.5°)
  • Paraboloid and confocal-hyperboloid construction (with the subtlety that the hyperboloid's far focus must match the parabola's true focus at F_p − f_p for zero on-axis aberration)
  • Transmission grating + dispersion check (≈0.86 mm/Å, zero order on-chip)
  • Layout in the cross-dispersion plane, plus a dispersion-plane layout tracing m=0 and m=1 to show the spectral mapping onto the detector
  • Spot diagrams (on-axis near-perfect; off-axis coma sets the usable field)
  • Spatial plate-scale check
  • Au/Ir grazing reflectivity sidebar (CXRO optical constants)

Notes for reviewers

  • Independent of the in-flight FZP tutorial branch; based directly on main.
  • Notebook executes end-to-end against main (jupyter nbconvert --execute) and outputs are stripped (nbstripout).
  • Registered in the docs toctree (docs/index.rst).

🤖 Generated with Claude Code

A new docs tutorial that designs a slitless grazing-incidence soft X-ray
spectrometer end-to-end: a Wolter Type-I telescope (paraboloid + confocal
hyperboloid), a 5000 line/mm transmission grating in the converging beam, and
a 2k x 4k CMOS detector. Driven by a 1 arcsec/pixel plate scale and a 15-20 A
first-order range, it exercises grazing-incidence conic optics and
transmission gratings (both new territory for optika) and includes layout,
dispersion, spot-diagram, plate-scale, and grazing-reflectivity sections.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.32%. Comparing base (44177ca) to head (042318c).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #166   +/-   ##
=======================================
  Coverage   99.32%   99.32%           
=======================================
  Files         116      116           
  Lines        5797     5797           
=======================================
  Hits         5758     5758           
  Misses         39       39           
Flag Coverage Δ
unittests 99.32% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant