MODE-3: Cora's partial table is correct and complete. Pulled the live values from energy2bm.json store_0 directly; nothing missing from cora's snapshot.
Pink per-energy mirror table (confirmed + completed)
| Pink energy |
m3 (m1_horizontal / 2bma:m3) |
m1mox (2bma:m1) |
m1m2x (2bma:m4) |
| 30.000 keV |
3.039 mm |
8.0 mm |
8.0 mm |
| 40.000 keV |
13.0 mm |
10.0 mm |
10.0 mm |
| 50.000 keV |
39.0 mm |
10.0 mm |
10.0 mm |
| 60.000 keV |
49.0 mm |
29.0 mm |
29.0 mm |
Mirror angle (m1angl) is constant at 2.615 mrad across all 4 Pink energies (and all 6 Mono energies); m1avg constant at 0.0 mm. The per-Pink variation is purely the lateral m3 move and the coordinated table-X extension (which jumps from 10 to 29 mm at the 60 keV row).
Stripe-to-position map (the data half of MIRROR-1)
The full stripe-to-position map with d-spacings and Bragg-resonance cross-check is the body of MIRROR-1 / cora#259. Distilled for MODE-3:
| Stripe |
Coating |
d-spacing |
Active at m3 |
Pink energy |
Bragg resonance (or cutoff) |
| a |
5 nm Pt single-layer |
n/a |
1.0 mm (Mono) / 3.039 mm (Pink 30) |
Mono (held) + Pink 30 |
Pt critical-angle cutoff ~ 21 keV; broadband below |
| b |
W(1.2 nm) / Si(5.37 nm) × 50 |
6.57 nm |
13.0 mm |
Pink 40 |
calc 36 keV |
| c |
W(1.2 nm) / Si(3.56 nm) × 50 |
4.76 nm |
39.0 mm |
Pink 50 |
calc 49.8 keV |
| d |
W(1.2 nm) / Si(2.73 nm) × 50 |
3.93 nm |
49.0 mm (+ table-X = 29 mm) |
Pink 60 |
calc 60.3 keV |
Bragg condition computed at the operational mirror angle θ = 2.615 mrad (sin θ = 0.00261) using λ = 2 d sin θ. Calc resonance matches the calibrated Pink energy to <1 % for stripes c and d, ~10% for stripe b (slight detuning), and stripe a (Pt) is broadband and just past the critical-angle cutoff at 30 keV.
Why table-X jumps at 60 keV: 2bma:m3 alone doesn't have enough X travel to reach stripe d at the substrate edge — the optical-table X support stages (m1 and m4, mapped to m1mox and m1m2x) extend the substrate's reachable X range by translating the entire mirror assembly. This is documented as a warning in the [Mirror M1 stripe selector block of item_020.rst](https:/
/docs2bm.readthedocs.io/en/latest/source/manual/item_020.html#mirror-m1) (latest commit).
Cross-check with cora's existing partial table
Cora's question listed: "30 keV: m3 3.039, table X 8/8; 40: 13.0, 10/10; 50: 39.0, 10/10; 60: 49.0, 29/29 mm" — this is an exact match to the live JSON. Nothing to correct or complete; the table cora had was already authoritative. The new information is the stripe-to-position assignment (which the cora question explicitly flagged as also needed, calling it "the data half of M
IRROR-1") and the Bragg-physics rationale that confirms the assignments.
What about Mono?
For completeness — Mono mode holds m3 = 1.0 mm, m1mox = m1m2x = 8.0 mm, m1angl = 2.615 mrad across all 6 calibrated Mono energies. Always stripe a (Pt). See MIRROR-1 / cora#259 for the Mono / Pink split rationale.
CORA-side application
Cora's existing assumption ("partial pink m3 and table-X positions from the page; stripe-to-label map not on file") promotes to:
- Confirmed Pink-mode 4-energy curve for
m3 (m1_horizontal) and the coordinated m1mox / m1m2x pair. Same shape as the per-Pink-energy entries cora is building for other axes from ENERGY-3 / cora#252.
- Stripe-to-label map as a static field on the Mirror M1 Asset (4 stripes, each with d-spacing, m3-position, table-X-requirement, and the calibrated energy at which it's active). The map is now in
item_020.rst per the MIRROR-1 commit; cora can copy directly from there.
m1mox / m1m2x co-movement: model these as a coordinated pair driven by the energy-change IOC together with m3; not separately operator-tunable in the operational flow.
Downstream alignment
The Mirror M1 in-vacuum stripe selector block in item_020.rst (commit a005f1c) carries the stripe-to-position map + the table-X coordination annotation + the Mono-held / Pink-swept split — same content as this ticket. The [Composite IOCs section](https://docs2bm.readthedocs.io/en/latest/source/manual/it
em_020.html#composite-iocs) at ~lines 2218-2240 carries the same Pink per-energy table for reference.
Cross-references
- MIRROR-1 / cora#259 — the parent question; full physics analysis and Bragg cross-check live there.
- ENERGY-3 / cora#252 — saved-table mechanism (the values above come from
energy2bm.json store_0).
- ENERGY-6 / cora#255 — DMM substrate stripes (independent question; the DMM has its own two stripes that are separate from the mirror's four).
- [MODE-1 / cora#TBD] — the two beam modes and their energy menus (Pink menu = these 4 energies).
- [MODE-2 / cora#TBD] — the IOC switching mechanism (which writes the
m3 / m1mox / m1m2x values from the table above on every Pink-mode energy change).
Net
MODE-3 answer: table confirmed + complete (m3 = 3.039 / 13 / 39 / 49 mm at 30 / 40 / 50 / 60 keV; table-X = 8 / 10 / 10 / 29 mm at same; mirror angle constant 2.615 mrad). Stripe-to-label map: stripe a at 30 keV, b at 40 keV, c at 50 keV, d at 60 keV (the d-spacing-and-Bragg analysis is in MIRROR-1 / cora#259). Mono
MODE-3: Cora's partial table is correct and complete. Pulled the live values from
energy2bm.jsonstore_0directly; nothing missing from cora's snapshot.Pink per-energy mirror table (confirmed + completed)
m3(m1_horizontal/2bma:m3)m1mox(2bma:m1)m1m2x(2bma:m4)Mirror angle (
m1angl) is constant at2.615 mradacross all 4 Pink energies (and all 6 Mono energies);m1avgconstant at0.0 mm. The per-Pink variation is purely the lateralm3move and the coordinated table-X extension (which jumps from 10 to 29 mm at the 60 keV row).Stripe-to-position map (the data half of MIRROR-1)
The full stripe-to-position map with d-spacings and Bragg-resonance cross-check is the body of MIRROR-1 / cora#259. Distilled for MODE-3:
m3Bragg condition computed at the operational mirror angle
θ = 2.615 mrad(sin θ = 0.00261) usingλ = 2 d sin θ. Calc resonance matches the calibrated Pink energy to <1 % for stripes c and d, ~10% for stripe b (slight detuning), and stripe a (Pt) is broadband and just past the critical-angle cutoff at 30 keV.Why table-X jumps at 60 keV:
2bma:m3alone doesn't have enough X travel to reach stripe d at the substrate edge — the optical-table X support stages (m1andm4, mapped tom1moxandm1m2x) extend the substrate's reachable X range by translating the entire mirror assembly. This is documented as a warning in the [Mirror M1 stripe selector block of item_020.rst](https://docs2bm.readthedocs.io/en/latest/source/manual/item_020.html#mirror-m1) (latest commit).
Cross-check with cora's existing partial table
Cora's question listed: "30 keV: m3 3.039, table X 8/8; 40: 13.0, 10/10; 50: 39.0, 10/10; 60: 49.0, 29/29 mm" — this is an exact match to the live JSON. Nothing to correct or complete; the table cora had was already authoritative. The new information is the stripe-to-position assignment (which the cora question explicitly flagged as also needed, calling it "the data half of M
IRROR-1") and the Bragg-physics rationale that confirms the assignments.
What about Mono?
For completeness — Mono mode holds
m3 = 1.0 mm,m1mox = m1m2x = 8.0 mm,m1angl = 2.615 mradacross all 6 calibrated Mono energies. Always stripe a (Pt). See MIRROR-1 / cora#259 for the Mono / Pink split rationale.CORA-side application
Cora's existing assumption ("partial pink m3 and table-X positions from the page; stripe-to-label map not on file") promotes to:
m3(m1_horizontal) and the coordinatedm1mox/m1m2xpair. Same shape as the per-Pink-energy entries cora is building for other axes from ENERGY-3 / cora#252.item_020.rstper the MIRROR-1 commit; cora can copy directly from there.m1mox/m1m2xco-movement: model these as a coordinated pair driven by the energy-change IOC together withm3; not separately operator-tunable in the operational flow.Downstream alignment
The Mirror M1 in-vacuum stripe selector block in item_020.rst (commit a005f1c) carries the stripe-to-position map + the table-X coordination annotation + the Mono-held / Pink-swept split — same content as this ticket. The [Composite IOCs section](https://docs2bm.readthedocs.io/en/latest/source/manual/it
em_020.html#composite-iocs) at ~lines 2218-2240 carries the same Pink per-energy table for reference.
Cross-references
energy2bm.jsonstore_0).m3/m1mox/m1m2xvalues from the table above on every Pink-mode energy change).Net
MODE-3 answer: table confirmed + complete (
m3= 3.039 / 13 / 39 / 49 mm at 30 / 40 / 50 / 60 keV; table-X = 8 / 10 / 10 / 29 mm at same; mirror angle constant 2.615 mrad). Stripe-to-label map: stripe a at 30 keV, b at 40 keV, c at 50 keV, d at 60 keV (the d-spacing-and-Bragg analysis is in MIRROR-1 / cora#259). Mono