xrt 1.6.0__zip → 1.6.1__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xrt-1.6.0 → xrt-1.6.1}/MANIFEST.in +0 -1
- {xrt-1.6.0 → xrt-1.6.1}/PKG-INFO +21 -18
- {xrt-1.6.0 → xrt-1.6.1}/examples/withDummy/__init__.py +7 -3
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/__init__.py +57 -37
- xrt-1.6.1/examples/withRaycing/00_xRayCalculator/calc_undulator.py +118 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_undulator_tune.py +1 -1
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/synchrotronSources.py +33 -29
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorVortex.py +26 -18
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/__init__.py +22 -6
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/crl_stack.py +5 -2
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/__init__.py +4 -2
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/__init__.py +19 -5
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/07_AnalyzerBent2D/01BD_SourceZCrystalThetaAlpha.py +3 -3
- xrt-1.6.1/examples/withRaycing/08_CLAESS_BL/__init__.py +58 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/FZP.py +5 -3
- xrt-1.6.1/examples/withRaycing/09_Gratings/GratingFlexPES-turned.py +440 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/__init__.py +22 -7
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/BentTaperedPolyCapillary.py +1 -1
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/__init__.py +31 -8
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/doubleSlitScan.py +9 -4
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/slitscan.py +4 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/waveFZP.py +8 -3
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/waveGrating.py +24 -19
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/waveMirrors.py +2 -0
- xrt-1.6.1/examples/withRaycing/13_Warping/ExampleOfSlopeErrorMapToParametricMirror.py +74 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/13_Warping/warp.py +3 -4
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/__init__.py +9 -2
- {xrt-1.6.0 → xrt-1.6.1}/setup.py +15 -18
- xrt-1.6.1/tests/raycing/RemoteOpenCLCalculation/__pycache__/__init__.cpython-312.pyc +0 -0
- xrt-1.6.1/tests/raycing/RemoteOpenCLCalculation/__pycache__/zmq_server.cpython-312.pyc +0 -0
- xrt-1.6.1/tests/raycing/_SynchrotronSources/MAX-IV-IDs-Flux.py +204 -0
- {xrt-1.6.0/examples/withRaycing/00_xRayCalculator → xrt-1.6.1/tests/raycing/_SynchrotronSources}/calc_undulator.py +7 -2
- xrt-1.6.1/tests/raycing/_SynchrotronSources/calc_undulator_power.py +41 -0
- xrt-1.6.1/tests/raycing/_SynchrotronSources/calc_undulator_tune.py +62 -0
- xrt-1.6.1/tests/raycing/_SynchrotronSources/synchrotronSourcesTests.py +839 -0
- xrt-1.6.1/tests/raycing/_SynchrotronSources/undulatorHamed.py +444 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/laguerre_hermite_gaussian_beam.py +1 -1
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_asymmetric_xtal.py +9 -3
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_backcattering_xtal_Shvydko.py +3 -0
- xrt-1.6.1/tests/raycing/test_ellipsoid_tube_mirror.py +150 -0
- xrt-1.6.1/tests/raycing/test_hyperboloid_tube_mirror.py +155 -0
- xrt-1.6.1/tests/raycing/test_materials.py +986 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_mosaic_xtal.py +42 -9
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_param_mirror.py +65 -20
- xrt-1.6.1/tests/raycing/test_pytte.py +372 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_undulator_convergence.py +15 -6
- {xrt-1.6.0 → xrt-1.6.1}/tests/speed/1_SourceZCrystalThetaAlpha_speed.py +4 -4
- {xrt-1.6.0 → xrt-1.6.1}/xrt/__init__.py +23 -34
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/__init__.py +69 -21
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/apertures.py +35 -19
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/coherence.py +30 -18
- xrt-1.6.1/xrt/backends/raycing/data/BrCo.npz +0 -0
- xrt-1.6.1/xrt/backends/raycing/data/Chantler.npz +0 -0
- xrt-1.6.1/xrt/backends/raycing/data/Henke.npz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/materials.py +86 -13
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/materials_compounds.py +4 -4
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/materials_crystals.py +33 -35
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/modes.py +2 -4
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/myopencl.py +16 -3
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/oes.py +441 -53
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/oes_base.py +81 -128
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/pyTTE_rkpy.py +81 -60
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/pyTTE_rkpy_qt.py +150 -11
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/ttcrystal.py +56 -39
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/run.py +2 -1
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/screens.py +2 -13
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/sources.py +34 -20
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/sources_geoms.py +2 -2
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/sources_sybase.py +9 -5
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/sources_synchr.py +36 -11
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/waves.py +32 -13
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/static/jquery.js +2 -2
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/qt.py +4 -1
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtBentXtal.py +86 -37
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtGlow/__init__.py +24 -20
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtGlow/notes.py +12 -8
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/__init__.py +64 -51
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/tutorial.py +39 -24
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQookStart.py +10 -3
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQookStart.pyw +9 -3
- {xrt-1.6.0 → xrt-1.6.1}/xrt/plotter.py +29 -16
- {xrt-1.6.0 → xrt-1.6.1}/xrt/runner.py +8 -7
- {xrt-1.6.0 → xrt-1.6.1}/xrt/version.py +2 -2
- {xrt-1.6.0 → xrt-1.6.1}/xrt.egg-info/PKG-INFO +21 -18
- {xrt-1.6.0 → xrt-1.6.1}/xrt.egg-info/SOURCES.txt +11 -94
- {xrt-1.6.0 → xrt-1.6.1}/xrt.egg-info/requires.txt +7 -0
- xrt-1.6.0/examples/withRaycing/08_CLAESS_BL/__init__.py +0 -50
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg.xc.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a-30deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a-30deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a0deg.xc.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg.xc.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-05deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-05deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-15deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-15deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-15deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-75deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-75deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-75deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg.xc.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a15deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a15deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a30deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a30deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a45deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a45deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a60deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a60deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a75deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a75deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg.xc.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_pp_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_pp_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_tt_pi.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_tt_sigma.xcb.gz +0 -0
- xrt-1.6.0/tests/raycing/test_materials.py +0 -1540
- xrt-1.6.0/tests/raycing/test_pytte.py +0 -49
- xrt-1.6.0/xrt/backends/raycing/data/BrCo.npz +0 -0
- xrt-1.6.0/xrt/backends/raycing/data/Chantler.npz +0 -0
- xrt-1.6.0/xrt/backends/raycing/data/Henke.npz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/LICENSE.txt +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/README.txt +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withDummy/logo-python.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withDummy/logo_xrt.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withDummy/xrt_demo.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_absorption.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_bm.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_carbon_contamination.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_coated_mirror.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_crystal.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_crystal_dtheta.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_crystal_rocking_curve.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_mirror.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_multilayer.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_multilayer_E.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_multilayer_theta.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_slab.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_transmittivity.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_undulator_power.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/B-Hamed.xlsx +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/MAX-IV-IDs-Flux.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/U32TaperedScan.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/bionano3.dc0 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/fluxThroughAperture.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/my_arbitrary_field_test.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/thetaexafssc1an_zn_hgap_00002r2.fio.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulator-rays-near-wave-filament.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorHamed.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorHamed_fromField.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorTapering.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorTapering_zmq.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/3D/BalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/3D/traceBalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/BalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/BalderFlux.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceBalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceDCMBalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceFiltersBalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceMirrorPitchBalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceMirrorPitchBothBalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceMirrorRBalderBL.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/01_bentLaueSCM.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/02_bentLaueDCM_RC.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/03_bentLaue_material.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/03_polychromatic_focus.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/04_bentLaue2D_material.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/04_sagittal_bending.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/crl_individual.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/crl_individual_3D.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/01_collimated_BR.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/02_collimated_LR.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/03_collimated_BT.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/04_collimated_LT.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/05_convergent_BT.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/06_convergent_LT.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/07_convergent_LT_slit.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/08_convergent_LT_bent.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/09_convergent_LT_bentSph.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/01B_BentTT.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/01B_SourceZCrystalThetaAlpha.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/01L_SourceZCrystalThetaAlpha.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/02_vonHamos.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/02_vonHamosElliptical.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/flux-dE.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/vonHamosPos.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/07_AnalyzerBent2D/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/08_CLAESS_BL/ClaessBL_N.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/08_CLAESS_BL/traceClaessBL_N.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/BraggFresnel.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/Grating.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/GratingFlexPES.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/efficiency1-LEG.txt +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/Cylinder.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/MontelMirror.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/11.6 DiffractionOnApertures.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/IMP_1st_1p11.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/IMP_2nd_1p11.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/LEG_1st_1p85.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/LEG_2nd_1p85.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/LaguerreGaussianBeam_SiemensStar.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/MEG_1st_1p48.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/MEG_2nd_1p48.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/apex175p9.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/coherentModePropagation.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/12_Multilayer/BalderDMM.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/12_Multilayer/traceDMM.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/13_Warping/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/13_Warping/mock_surface.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_CXIw1D.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_CXIw2D.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_STXMw1D.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_STXMw2D.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/15_XRD/P02_PD.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/15_XRD/_images/rings_on_detector.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/15_XRD/xrd_mono.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/16_ParametricOptimization/16.1_autoOptimization_detuning.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/1crystal.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/4crystals.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/BioXAS_Main.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_glow.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p01.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p02.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03a.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03b.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03c.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03d.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp01_glow.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp01_p01.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp02_glow.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp02_p01.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp02_p02.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_glow.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p01.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p02.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p03.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p04.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/lens1.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/lens3.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/testAlignment.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/testGrating.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withRaycing/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/00_simple.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/01_filters.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/02_VCM_stripes.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/CLAESS01-norefl.ws +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/CVDdiamond.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Pt_refl.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Rh_refl.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Si111.rc +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Si311.rc +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Si_refl.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/effic.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/end.00 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/end.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/optax.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/shadow-source.bat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/shadow-source.sh +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/shadow-trace.bat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/shadow-trace.sh +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/shadowvui.bat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/start.00 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/start.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/systemfile.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_bragg_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_env_file.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_epath_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_input_source_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_nphoton_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_prerefl_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xshwig.par +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/03_DCM_energy.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/CLAESS-noVFM.ws +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/CVDdiamond.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/Rh_refl.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/Si111.rc +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/Si311.rc +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/effic.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/effic.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/effic.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.00 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/error_source.log +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/optax.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/optax.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/optax.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/output_source.log +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/shadow-source.bat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/shadow-source.sh +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/shadow-trace.bat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/shadow-trace.sh +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.00 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start_old.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/systemfile.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_env_file.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_epath_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_input_source_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_mirinfo_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_mirinfo_tmp.out +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_nphoton_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xshwig.par +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/04_dE_VCM_bending.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/05_VFM_bending.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/06_mirrors_pitch.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/CLAESS.ws +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/CVDdiamond.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/Rh_refl.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/Si111.rc +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.04 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.00 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.04 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.04 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/shadow-source.bat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/shadow-source.sh +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/shadow-trace.bat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/shadow-trace.sh +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.00 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.01 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.03 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.04 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start_old.02 +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/systemfile.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_env_file.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_epath_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_input_source_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_mirinfo_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_mirinfo_tmp.out +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_nphoton_tmp.inp +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xshwig.par +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/examples/withShadow/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/setup.cfg +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/convexHull.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/kde.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/CSiO2_p_rough1.CXRO.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/CSiO2_s_rough1.CXRO.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/RhSi_p_rough2.CXRO.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/RhSi_s_rough2.CXRO.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/WSi300id0.CXRO.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/WSi300id6.CXRO.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/IR/RefractiveIndexINFO_BK7.csv +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/IR/one_plate_test.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/IR/wedge_diamond.xml +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/RemoteOpenCLCalculation/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/RemoteOpenCLCalculation/queue_device.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/RemoteOpenCLCalculation/zmq_server.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Ag_absCoeff.xcrosssec.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Al_absCoeff.xcrosssec.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Au_absCoeff.xcrosssec.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Be_absCoeff.xcrosssec.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Diamond60mum.xpower.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Ni_absCoeff.xcrosssec.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Pt4mrad_p.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Pt4mrad_s.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Rh2mrad_p.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Rh2mrad_s.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/ScCr_ML_reflection_REFLEC.npy +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/ScCr_ML_transmission_REFLEC.npy +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Si05deg_p.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Si05deg_s.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/SiO205deg_p.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/SiO205deg_s.xf1f2.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/W25A_10kev_p.mlayer.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/W25A_10kev_s.mlayer.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/WSi100_45A40.mlayer.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/WSi45A04.mlayer.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/WSi45_100A40.mlayer.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Zn_absCoeff.xcrosssec.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/mLScCr-spph.mlayer.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_03kev.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_08kev.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_17kev.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_p.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_p.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_s.xc.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_s.xin.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/info_opencl.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/misc/bessy.dc0.gz +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/read_NOM_maps.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_coherent_fraction_stack.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_crystals.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_ellipse_2.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_laue_bent.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_mosaic_xtal_thin.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_multilayer_transmission.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_oes.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_polygonal_aperture.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_sources.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_undulator_on_mesh.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/raycing/test_undulator_size.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/speed/2_synchrotronSources_speed.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/speed/3_Softi_CXIw2D_speed.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/tests/speed/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/dummy.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/OE.cl +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/data/AtomicData.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/data/f0_xop.dat +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/diffract.cl +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/materials.cl +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/materials_elemental.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/physconsts.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/crystal_vectors.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/deformation.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/elastic_tensors.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/legacy.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/pyTTE.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/quantity.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/rotation_matrix.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/pyTTE_x/ttscan.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/sources_beams.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/sources_legacy.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/stages.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/undulator.cl +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/xrt_complex_double.cl +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/raycing/xrt_complex_float.cl +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/backends/shadow.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/__init__.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/1-LEG_profile-adhoc.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/1-LEG_profile-default.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ePos=0.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ePos=1.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ePos=2.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_glow.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p01.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p02.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03a.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03b.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03c.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03d.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/filterFootprint2_I400mum.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/filterFootprint2_I400mum_norm1.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/filterFootprint2_I400mum_norm2.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=0_negative=0.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=0_negative=1.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=1_negative=0.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=1_negative=1.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/negative=1+fullNegative.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/offset0.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/offset5000.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/outline00.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/outline05.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/outline10.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookSplash2.gif +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor01.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor02.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor03.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor04.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor05.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor06.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor07.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor08.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor09.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor10.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor11.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/layout.html +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/page.html +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/static/default.css_t +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/static/math_config_win32.js +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/static/utils.js +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/theme.conf +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/conf.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/ext.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/commons/gl.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtGlow/_icons/icon-GLow.ico +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/3dg_256.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/GPU4.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add1.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add2.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add3.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add4.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add5.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add6.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/dialog-information.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/dialog-question.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/eyeglasses7_128.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/filenew.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/fileopen.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/filesave.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/filesaveas.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/home.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/index.txt +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/light_bulb.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/logo-xrtQt.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/pythonscript.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/pythonscriptsave.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/pythonscriptsaveas.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/readme.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/run.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/xbcc.ico +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/xbcc.png +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/xrQt1.ico +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/kde.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/multipro.py +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt/xrt_logo.ico +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt.egg-info/dependency_links.txt +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt.egg-info/not-zip-safe +0 -0
- {xrt-1.6.0 → xrt-1.6.1}/xrt.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,839 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
r"""
|
|
3
|
+
.. _synchrotron-sources:
|
|
4
|
+
|
|
5
|
+
Synchrotron sources
|
|
6
|
+
-------------------
|
|
7
|
+
|
|
8
|
+
The images below are produced by
|
|
9
|
+
``\tests\raycing\test_sources.py`` and by
|
|
10
|
+
``\examples\withRaycing\01_SynchrotronSources\synchrotronSources.py``.
|
|
11
|
+
|
|
12
|
+
Bending magnet
|
|
13
|
+
~~~~~~~~~~~~~~
|
|
14
|
+
|
|
15
|
+
On a transversal screen the image is unlimited horizontally (practically
|
|
16
|
+
limited by the front end). The energy distribution is red-shifted for off-plane
|
|
17
|
+
photons. The polarization is primarily horizontal. The off-plane radiation has
|
|
18
|
+
non-zero projection to the vertical polarization plane.
|
|
19
|
+
|
|
20
|
+
+----------+---------------------+---------------------+---------------------+
|
|
21
|
+
| source | total flux | horiz. pol. flux | vert. pol. flux |
|
|
22
|
+
+==========+=====================+=====================+=====================+
|
|
23
|
+
| using WS | |bmTotalWS| | |bmHorizWS| | |bmVertWS| |
|
|
24
|
+
+----------+---------------------+---------------------+---------------------+
|
|
25
|
+
| internal | | | |
|
|
26
|
+
| xrt | |bmTotalXRT| | |bmHorizXRT| | |bmVertXRT| |
|
|
27
|
+
+----------+---------------------+---------------------+---------------------+
|
|
28
|
+
|
|
29
|
+
.. |bmTotalWS| imagezoom:: _images/3bm_ws1-n-wideE-1TotalFlux.png
|
|
30
|
+
.. |bmHorizWS| imagezoom:: _images/3bm_ws1-n-wideE-2horizFlux.png
|
|
31
|
+
.. |bmVertWS| imagezoom:: _images/3bm_ws1-n-wideE-3vertFlux.png
|
|
32
|
+
:loc: upper-right-corner
|
|
33
|
+
.. |bmTotalXRT| imagezoom:: _images/3bm_xrt1-n-wideE-1TotalFlux.png
|
|
34
|
+
.. |bmHorizXRT| imagezoom:: _images/3bm_xrt1-n-wideE-2horizFlux.png
|
|
35
|
+
.. |bmVertXRT| imagezoom:: _images/3bm_xrt1-n-wideE-3vertFlux.png
|
|
36
|
+
:loc: upper-right-corner
|
|
37
|
+
|
|
38
|
+
The off-plane radiation is in fact left and right polarized:
|
|
39
|
+
|
|
40
|
+
+----------+-----------------------------+
|
|
41
|
+
| source | circular polarization rate |
|
|
42
|
+
+==========+=============================+
|
|
43
|
+
| using | |
|
|
44
|
+
| WS | |bmCircPolRateWS| |
|
|
45
|
+
+----------+-----------------------------+
|
|
46
|
+
| internal | |
|
|
47
|
+
| xrt | |bmCircPolRateXRT| |
|
|
48
|
+
+----------+-----------------------------+
|
|
49
|
+
|
|
50
|
+
.. |bmCircPolRateWS| imagezoom:: _images/3bm_ws1-n-wideE-5CircPolRate.png
|
|
51
|
+
.. |bmCircPolRateXRT| imagezoom:: _images/3bm_xrt1-n-wideE-5CircPolRate.png
|
|
52
|
+
|
|
53
|
+
The horizontal phase space projected to a transversal plane at the origin is
|
|
54
|
+
parabolic:
|
|
55
|
+
|
|
56
|
+
+-------------------------+---------------------+
|
|
57
|
+
| zero electron beam size | σ\ :sub:`x` = 49 µm |
|
|
58
|
+
+=========================+=====================+
|
|
59
|
+
| |bmPhaseSp0| | |bmPhaseSpN| |
|
|
60
|
+
+-------------------------+---------------------+
|
|
61
|
+
|
|
62
|
+
.. |bmPhaseSp0| imagezoom:: _images/3bm_xrt1-0-wideE-horPhaseSpace.png
|
|
63
|
+
.. |bmPhaseSpN| imagezoom:: _images/3bm_xrt1-n-wideE-horPhaseSpace.png
|
|
64
|
+
|
|
65
|
+
Multipole wiggler
|
|
66
|
+
~~~~~~~~~~~~~~~~~
|
|
67
|
+
|
|
68
|
+
The horizontal image size is determined by the parameter K. The energy
|
|
69
|
+
distribution is red-shifted for off-plane photons. The polarization is
|
|
70
|
+
primarily horizontal. The off-plane radiation has non-zero projection to the
|
|
71
|
+
vertical polarization plane.
|
|
72
|
+
|
|
73
|
+
+----------+------------------+------------------+------------------+
|
|
74
|
+
| source | total flux | horiz. pol. flux | vert. pol. flux |
|
|
75
|
+
+==========+==================+==================+==================+
|
|
76
|
+
| using | | | |
|
|
77
|
+
| WS | |wTotalWS| | |wHorizWS| | |wVertWS| |
|
|
78
|
+
+----------+------------------+------------------+------------------+
|
|
79
|
+
| internal | | | |
|
|
80
|
+
| xrt | |wTotalXRT| | |wHorizXRT| | |wVertXRT| |
|
|
81
|
+
+----------+------------------+------------------+------------------+
|
|
82
|
+
|
|
83
|
+
.. |wTotalWS| imagezoom:: _images/2w_ws1-n-wideE-1TotalFlux.png
|
|
84
|
+
.. |wHorizWS| imagezoom:: _images/2w_ws1-n-wideE-2horizFlux.png
|
|
85
|
+
.. |wVertWS| imagezoom:: _images/2w_ws1-n-wideE-3vertFlux.png
|
|
86
|
+
:loc: upper-right-corner
|
|
87
|
+
.. |wTotalXRT| imagezoom:: _images/2w_xrt1-n-wideE-1TotalFlux.png
|
|
88
|
+
.. |wHorizXRT| imagezoom:: _images/2w_xrt1-n-wideE-2horizFlux.png
|
|
89
|
+
.. |wVertXRT| imagezoom:: _images/2w_xrt1-n-wideE-3vertFlux.png
|
|
90
|
+
:loc: upper-right-corner
|
|
91
|
+
|
|
92
|
+
The horizontal longitudinal cross-section reveals a sinusoidal shape of the
|
|
93
|
+
source. The horizontal phase space projected to the transversal plane at the
|
|
94
|
+
origin has individual branches for each pole.
|
|
95
|
+
|
|
96
|
+
+-------------------------+-------------------------+
|
|
97
|
+
| zero electron beam size | σ\ :sub:`x` = 49 µm |
|
|
98
|
+
+=========================+=========================+
|
|
99
|
+
| |wYX0| | |wYXN| |
|
|
100
|
+
+-------------------------+-------------------------+
|
|
101
|
+
| |wPhaseSp0| | |wPhaseSpN| |
|
|
102
|
+
+-------------------------+-------------------------+
|
|
103
|
+
|
|
104
|
+
.. |wYX0| imagezoom:: _images/2w_xrt1-0-wideE-crossectionYX.png
|
|
105
|
+
.. |wYXN| imagezoom:: _images/2w_xrt1-n-wideE-crossectionYX.png
|
|
106
|
+
:loc: upper-right-corner
|
|
107
|
+
.. |wPhaseSp0| imagezoom:: _images/2w_xrt1-0-wideE-horPhaseSpace.png
|
|
108
|
+
.. |wPhaseSpN| imagezoom:: _images/2w_xrt1-n-wideE-horPhaseSpace.png
|
|
109
|
+
:loc: upper-right-corner
|
|
110
|
+
|
|
111
|
+
Undulator
|
|
112
|
+
~~~~~~~~~
|
|
113
|
+
|
|
114
|
+
The module :mod:`~tests.raycing.test_sources` has functions for
|
|
115
|
+
visualization of the angular and energy distributions of the implemented
|
|
116
|
+
sources in 2D and 3D. This is especially useful for undulators because they
|
|
117
|
+
have sharp peaks, which requires a proper selection of angular and energy
|
|
118
|
+
meshes.
|
|
119
|
+
|
|
120
|
+
|I0_x'E| |I0_z'E| |IpPol|
|
|
121
|
+
|
|
122
|
+
.. |I0_x'E| imagezoom:: _images/I0_x'E-1-und-xrt.png
|
|
123
|
+
.. |I0_z'E| imagezoom:: _images/I0_z'E-1-und-xrt.png
|
|
124
|
+
.. |IpPol| imagezoom:: _images/Itot
|
|
125
|
+
|
|
126
|
+
The ray traced images of an undulator source (produced by
|
|
127
|
+
``\examples\withRaycing\01_SynchrotronSources\synchrotronSources.py``)
|
|
128
|
+
are feature-rich. The polarization is primarily horizontal. The off-plane
|
|
129
|
+
radiation has non-zero projection to the vertical polarization plane.
|
|
130
|
+
|
|
131
|
+
+---------+----------------+----------------+----------------+----------------+
|
|
132
|
+
| source | total flux | hor. pol. flux | ver. pol. flux | deg. of pol. |
|
|
133
|
+
+=========+================+================+================+================+
|
|
134
|
+
| using | | | | |
|
|
135
|
+
| Urgent | |uTotalUr| | |uHorizUr| | |uVertUr| | |uDegPolUr| |
|
|
136
|
+
+---------+----------------+----------------+----------------+----------------+
|
|
137
|
+
| internal| | | | |
|
|
138
|
+
| xrt | |uTotalXRT| | |uHorizXRT| | |uVertXRT| | |uDegPolXRT| |
|
|
139
|
+
+---------+----------------+----------------+----------------+----------------+
|
|
140
|
+
|
|
141
|
+
.. |uTotalUr| imagezoom:: _images/1u_urgent3-n-monoE-1TotalFlux.png
|
|
142
|
+
.. |uHorizUr| imagezoom:: _images/1u_urgent3-n-monoE-2horizFlux.png
|
|
143
|
+
.. |uVertUr| imagezoom:: _images/1u_urgent3-n-monoE-3vertFlux.png
|
|
144
|
+
:loc: upper-right-corner
|
|
145
|
+
.. |uDegPolUr| imagezoom:: _images/1u_urgent3-n-monoE-4DegPol.png
|
|
146
|
+
:loc: upper-right-corner
|
|
147
|
+
.. |uTotalXRT| imagezoom:: _images/1u_xrt3-n-monoE-1TotalFlux-Espread.png
|
|
148
|
+
.. |uHorizXRT| imagezoom:: _images/1u_xrt3-n-monoE-2horizFlux-Espread.png
|
|
149
|
+
.. |uVertXRT| imagezoom:: _images/1u_xrt3-n-monoE-3vertFlux-Espread.png
|
|
150
|
+
:loc: upper-right-corner
|
|
151
|
+
.. |uDegPolXRT| imagezoom:: _images/1u_xrt3-n-monoE-4DegPol-Espread.png
|
|
152
|
+
:loc: upper-right-corner
|
|
153
|
+
|
|
154
|
+
Elliptical undulator
|
|
155
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
156
|
+
|
|
157
|
+
An elliptical undulator gives circular images with a higher circular
|
|
158
|
+
polarization rate in the inner rings:
|
|
159
|
+
|
|
160
|
+
+----------+--------------------+--------------------+--------------------+
|
|
161
|
+
| source | total flux | hor. pol. flux | ver. pol. flux |
|
|
162
|
+
+==========+====================+====================+====================+
|
|
163
|
+
| using | | | |
|
|
164
|
+
| Urgent | |euTotalUr| | |euHorizUr| | |euVertUr| |
|
|
165
|
+
+----------+--------------------+--------------------+--------------------+
|
|
166
|
+
| internal | | | |
|
|
167
|
+
| xrt | |euTotalXRT| | |euHorizXRT| | |euVertXRT| |
|
|
168
|
+
+----------+--------------------+--------------------+--------------------+
|
|
169
|
+
|
|
170
|
+
.. |euTotalUr| imagezoom:: _images/4eu_urgent3-n-monoE-1TotalFlux.png
|
|
171
|
+
.. |euHorizUr| imagezoom:: _images/4eu_urgent3-n-monoE-2horizFlux.png
|
|
172
|
+
.. |euVertUr| imagezoom:: _images/4eu_urgent3-n-monoE-3vertFlux.png
|
|
173
|
+
:loc: upper-right-corner
|
|
174
|
+
.. |euTotalXRT| imagezoom:: _images/4eu_xrt3-n-monoE-1TotalFlux.png
|
|
175
|
+
.. |euHorizXRT| imagezoom:: _images/4eu_xrt3-n-monoE-2horizFlux.png
|
|
176
|
+
.. |euVertXRT| imagezoom:: _images/4eu_xrt3-n-monoE-3vertFlux.png
|
|
177
|
+
:loc: upper-right-corner
|
|
178
|
+
|
|
179
|
+
+----------+----------------------------+----------------------------+
|
|
180
|
+
| source | deg. of pol. | circular polarization rate |
|
|
181
|
+
+==========+============================+============================+
|
|
182
|
+
| using | | |
|
|
183
|
+
| Urgent | |euDegPolUr| | |euCircPolRateUr| |
|
|
184
|
+
+----------+----------------------------+----------------------------+
|
|
185
|
+
| internal | | |
|
|
186
|
+
| xrt | |euDegPolXRT| | |euCircPolRateXRT| |
|
|
187
|
+
+----------+----------------------------+----------------------------+
|
|
188
|
+
|
|
189
|
+
.. |euDegPolUr| imagezoom:: _images/4eu_urgent3-n-monoE-4DegPol.png
|
|
190
|
+
.. |euCircPolRateUr| imagezoom:: _images/4eu_urgent3-n-monoE-5CircPolRate.png
|
|
191
|
+
:loc: upper-right-corner
|
|
192
|
+
.. |euDegPolXRT| imagezoom:: _images/4eu_xrt3-n-monoE-4DegPol.png
|
|
193
|
+
.. |euCircPolRateXRT| imagezoom:: _images/4eu_xrt3-n-monoE-5CircPolRate.png
|
|
194
|
+
:loc: upper-right-corner
|
|
195
|
+
|
|
196
|
+
.. _undulator_custom:
|
|
197
|
+
|
|
198
|
+
Custom field undulator
|
|
199
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
200
|
+
|
|
201
|
+
A custom magnetic field can be specified by an Excel file or a column text
|
|
202
|
+
file. The example below is based on a table supplied by Hamed Tarawneh
|
|
203
|
+
[Tarawneh]_. The idea of introducing quasi-periodicity is to shift the n-th
|
|
204
|
+
harmonics down in energy relative to the exact n-fold multiple of the 1st
|
|
205
|
+
harmonic energy. This trick eliminates higher *monochromator* harmonics that
|
|
206
|
+
are situated at the exact n-fold energies, which is a safer solution compared
|
|
207
|
+
to a gas absorption filter.
|
|
208
|
+
|
|
209
|
+
Compare the harmonic energies (half-maximum position at the higher energy side)
|
|
210
|
+
of the 3rd harmonic with the triple energy of the 1st harmonic.
|
|
211
|
+
|
|
212
|
+
.. [Tarawneh] Quasi-periodic undulator field for ARPES beamline at
|
|
213
|
+
MAX IV 1.5 GeV ring, (2016) unpublished.
|
|
214
|
+
|
|
215
|
+
.. note::
|
|
216
|
+
|
|
217
|
+
The definition of xyz coordinate system differs for the tabulated field and
|
|
218
|
+
for xrt screens: z is along the beam direction in the tabulation and as a
|
|
219
|
+
vertical axis in xrt.
|
|
220
|
+
|
|
221
|
+
+--------------------+--------------------------+--------------------------+
|
|
222
|
+
| | periodic | quasi-periodic |
|
|
223
|
+
+====================+==========================+==========================+
|
|
224
|
+
| tabulated field | |EPU_field| | |QEPU_field| |
|
|
225
|
+
+--------------------+--------------------------+--------------------------+
|
|
226
|
+
| trajectory | | |
|
|
227
|
+
| top view | |EPU_traj| | |QEPU_traj| |
|
|
228
|
+
+--------------------+--------------------------+--------------------------+
|
|
229
|
+
| wide band | | |
|
|
230
|
+
| image and spectrum | |EPU_wide| | |QEPU_wide| |
|
|
231
|
+
+--------------------+--------------------------+--------------------------+
|
|
232
|
+
| 1st harmonic | | |
|
|
233
|
+
| image and spectrum | |EPU_1sth| | |QEPU_1sth| |
|
|
234
|
+
+--------------------+--------------------------+--------------------------+
|
|
235
|
+
| 3rd harmonic | | |
|
|
236
|
+
| image and spectrum | |EPU_3rdh| | |QEPU_3rdh| |
|
|
237
|
+
+--------------------+--------------------------+--------------------------+
|
|
238
|
+
|
|
239
|
+
.. |EPU_field| imagezoom:: _images/1-EPU_HP_field.png
|
|
240
|
+
.. |EPU_traj| imagezoom:: _images/1-EPU_HP_mode-x_average.png
|
|
241
|
+
.. |EPU_wide| imagezoom:: _images/1EPU_HP_mode-1-band1totalFlux.png
|
|
242
|
+
.. |EPU_1sth| imagezoom:: _images/1EPU_HP_mode-2-1stHarmonic1totalFlux.png
|
|
243
|
+
.. |EPU_3rdh| imagezoom:: _images/1EPU_HP_mode-6-3rdHarmonic1totalFlux.png
|
|
244
|
+
.. |QEPU_field| imagezoom:: _images/2-QEPU_HP_field.png
|
|
245
|
+
:loc: upper-right-corner
|
|
246
|
+
.. |QEPU_traj| imagezoom:: _images/2-QEPU_HP_mode-x_average.png
|
|
247
|
+
:loc: upper-right-corner
|
|
248
|
+
.. |QEPU_wide| imagezoom:: _images/2QEPU_HP_mode-1-band1totalFlux.png
|
|
249
|
+
:loc: upper-right-corner
|
|
250
|
+
.. |QEPU_1sth| imagezoom:: _images/2QEPU_HP_mode-2-1stHarmonic1totalFlux.png
|
|
251
|
+
:loc: upper-right-corner
|
|
252
|
+
.. |QEPU_3rdh| imagezoom:: _images/2QEPU_HP_mode-6-3rdHarmonic1totalFlux.png
|
|
253
|
+
:loc: upper-right-corner
|
|
254
|
+
|
|
255
|
+
For validation, our calculations are compared here with those by Spectra for a
|
|
256
|
+
particular case — quasi-periodic undulator defined by the same tabulated field,
|
|
257
|
+
the 3rd harmonic, at E=20.5 eV. Notice again that Spectra provides either a
|
|
258
|
+
spectrum *or* a transverse image while xrt can combine both by using colors and
|
|
259
|
+
brightness. Notice also that on the following pictures the p-polarized flux is
|
|
260
|
+
only ~3% of the total flux.
|
|
261
|
+
|
|
262
|
+
+------+------------+------------+
|
|
263
|
+
| | SPECTRA | xrt |
|
|
264
|
+
+======+============+============+
|
|
265
|
+
| |tf| | |CFspeT| | |CFxrtT| |
|
|
266
|
+
+------+------------+------------+
|
|
267
|
+
| |pf| | |CFspeP| | |CFxrtP| |
|
|
268
|
+
+------+------------+------------+
|
|
269
|
+
|
|
270
|
+
.. |tf| replace:: total flux
|
|
271
|
+
.. |pf| replace:: p-pol flux
|
|
272
|
+
.. |CFspeT| imagezoom:: _images/spectra-custom.png
|
|
273
|
+
.. |CFspeP| imagezoom:: _images/spectra-custom_p.png
|
|
274
|
+
:loc: lower-left-corner
|
|
275
|
+
.. |CFxrtT| imagezoom:: _images/2QEPU_mono3rdHarmonic.png
|
|
276
|
+
.. |CFxrtP| imagezoom:: _images/2QEPU_mono3rdHarmonic_p.png
|
|
277
|
+
:loc: lower-left-corner
|
|
278
|
+
|
|
279
|
+
"""
|
|
280
|
+
|
|
281
|
+
"""
|
|
282
|
+
.. _THz:
|
|
283
|
+
|
|
284
|
+
Terahertz undulator
|
|
285
|
+
~~~~~~~~~~~~~~~~~~~
|
|
286
|
+
|
|
287
|
+
This is a computationally difficult example that is hardly possible to
|
|
288
|
+
calculate with other commonly used codes. To achieve good convergence in a
|
|
289
|
+
reasonable calculation time, we have introduced a new undulator parameter
|
|
290
|
+
*gIntervals* that controls the underlying Gauss-Legendre mesh. The user may
|
|
291
|
+
want to modify it in extreme cases (wigglers, near field, wide angles etc.).
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
+------------------+-----------------+
|
|
295
|
+
| horiz. pol. flux | vert. pol. flux |
|
|
296
|
+
+==================+=================+
|
|
297
|
+
| |uTHzH| | |uTHzV| |
|
|
298
|
+
+------------------+-----------------+
|
|
299
|
+
|
|
300
|
+
.. |uTHzH| image:: _images/2THzU_xrt1-n-narrowE-2horizFlux-U_code.png
|
|
301
|
+
:scale: 50 %
|
|
302
|
+
.. |uTHzV| image:: _images/2THzU_xrt1-n-narrowE-3vertFlux-U_code.png
|
|
303
|
+
:scale: 50 %
|
|
304
|
+
"""
|
|
305
|
+
__author__ = "Konstantin Klementiev", "Roman Chernikov"
|
|
306
|
+
__date__ = "08 Mar 2016"
|
|
307
|
+
|
|
308
|
+
import os, sys;
|
|
309
|
+
#newCode = False
|
|
310
|
+
newCode = True
|
|
311
|
+
|
|
312
|
+
codePath = r"c:\github\xrt" if newCode else os.path.join('..', '..', '..')
|
|
313
|
+
sys.path.append(codePath)
|
|
314
|
+
import time
|
|
315
|
+
import numpy as np
|
|
316
|
+
import matplotlib
|
|
317
|
+
matplotlib.use("Agg")
|
|
318
|
+
from matplotlib import pyplot as plt
|
|
319
|
+
import xrt.backends.raycing as raycing
|
|
320
|
+
from xrt.backends.raycing.physconsts import K2B
|
|
321
|
+
raycing._VERBOSITY_ = 100
|
|
322
|
+
import xrt.backends.raycing.sources as rs
|
|
323
|
+
import xrt.backends.raycing.screens as rsc
|
|
324
|
+
import xrt.backends.raycing.run as rr
|
|
325
|
+
import xrt.plotter as xrtp
|
|
326
|
+
import xrt.runner as xrtr
|
|
327
|
+
|
|
328
|
+
showIn3D = False
|
|
329
|
+
|
|
330
|
+
isInternalSource = True # xrt source or (Urgent or WS)
|
|
331
|
+
bins = 256 # Number of bins in the plot histogram
|
|
332
|
+
ppb = 1 # Number of pixels per histogram bin
|
|
333
|
+
|
|
334
|
+
def build_beamline(nrays=1e5,
|
|
335
|
+
sourceType='u',
|
|
336
|
+
energyRange='1harmonic',
|
|
337
|
+
what='rays',
|
|
338
|
+
targetOpenCL='auto',
|
|
339
|
+
E0=6900):
|
|
340
|
+
|
|
341
|
+
beamLine = raycing.BeamLine(alignE=E0)
|
|
342
|
+
|
|
343
|
+
# one of 'u', 'w', 'bm', 'eu', 'wu':
|
|
344
|
+
# sourceType = 'u'
|
|
345
|
+
# one of 'mono', '1harmonic', 'smaller', 'wide'
|
|
346
|
+
# energyRange = '1harmonic'
|
|
347
|
+
# energyRange = 'mono'
|
|
348
|
+
#energyRange = 'wide'
|
|
349
|
+
# print(what)
|
|
350
|
+
beamLine.what = what
|
|
351
|
+
|
|
352
|
+
#what = 'wave' # only for rs.Undulator
|
|
353
|
+
#suffix = '_fullLength_emittance_NF'
|
|
354
|
+
beamLine.limitsFSM0X = 'symmetric'
|
|
355
|
+
beamLine.limitsFSM0Z = 'symmetric'
|
|
356
|
+
beamLine.suffix = '_new' if newCode else '_old'
|
|
357
|
+
# E0 = 6900 # eV
|
|
358
|
+
R0 = 25000. # Distance to the screen [mm]
|
|
359
|
+
|
|
360
|
+
uniformRayDensity=True if what=='wave' else False
|
|
361
|
+
filamentBeam=True if what=='wave' else False
|
|
362
|
+
eEpsilonX=0.0 if what=='wave' else 0.263
|
|
363
|
+
eEpsilonZ=0.0 if what=='wave' else 0.008
|
|
364
|
+
eEspread=0.0 if what=='wave' else 0.001
|
|
365
|
+
eSigmaX=0.0 if what=='wave' else 48.65
|
|
366
|
+
eSigmaZ=0.0 if what=='wave' else 6.197
|
|
367
|
+
|
|
368
|
+
#for sourceType in ['u', 'w', 'bm', 'eu', 'wu']:
|
|
369
|
+
|
|
370
|
+
if sourceType == 'u':
|
|
371
|
+
whose = '_xrt'
|
|
372
|
+
pprefix = '1'+sourceType+whose
|
|
373
|
+
Source = rs.Undulator
|
|
374
|
+
kwargs = dict(
|
|
375
|
+
eE=3., eI=0.5, # Parameters of the synchrotron ring [GeV], [Ampere]
|
|
376
|
+
eEspread=eEspread, # Energy spread of the electrons in the ring
|
|
377
|
+
period=30., n=40, # Parameters of the undulator, period in [mm]
|
|
378
|
+
K=1.45, # Deflection parameter (ignored if targetE is not None)
|
|
379
|
+
eSigmaX=eSigmaX, eSigmaZ=eSigmaZ, # Size of the electron beam [mkm]
|
|
380
|
+
uniformRayDensity=uniformRayDensity,
|
|
381
|
+
filamentBeam=filamentBeam, # Single wavefront
|
|
382
|
+
targetOpenCL=targetOpenCL,
|
|
383
|
+
# R0=R0, # Near Field.
|
|
384
|
+
eEpsilonX=eEpsilonX, eEpsilonZ=eEpsilonZ) # Emittance [nmrad]
|
|
385
|
+
beamLine.xlimits = [-2, 2] # Horizontal limits of the plot [mm]
|
|
386
|
+
beamLine.zlimits = [-2, 2] # Vertical limits of the plot [mm]
|
|
387
|
+
beamLine.xlimitsZoom = [-2, 2]
|
|
388
|
+
beamLine.zlimitsZoom = [-2, 2]
|
|
389
|
+
beamLine.xPrimelimits = [-0.3, 0.3] # Angular limits of the plot [mrad]
|
|
390
|
+
kwargs['xPrimeMaxAutoReduce'] = False
|
|
391
|
+
kwargs['zPrimeMaxAutoReduce'] = False
|
|
392
|
+
elif sourceType == 'w':
|
|
393
|
+
whose = '_xrt' if isInternalSource else '_ws'
|
|
394
|
+
pprefix = '3'+sourceType+whose
|
|
395
|
+
Source = rs.Wiggler if isInternalSource else rs.WigglerWS
|
|
396
|
+
kwargs = dict(period=80., K=13., n=10, eE=3., eI=0.5)
|
|
397
|
+
beamLine.xlimits = [-40, 40]
|
|
398
|
+
beamLine.zlimits = [-20, 20]
|
|
399
|
+
beamLine.xlimitsZoom = [-8, 8]
|
|
400
|
+
beamLine.zlimitsZoom = [-4, 4]
|
|
401
|
+
beamLine.xPrimelimits = [-2.3, 2.3]
|
|
402
|
+
beamLine.limitsFSM0X = [-1000, 1000]
|
|
403
|
+
beamLine.limitsFSM0Z = [-100, 100]
|
|
404
|
+
elif sourceType == 'bm':
|
|
405
|
+
whose = '_xrt' if isInternalSource else '_ws'
|
|
406
|
+
pprefix = '4'+sourceType+whose
|
|
407
|
+
Source = rs.BendingMagnet if isInternalSource else rs.BendingMagnetWS
|
|
408
|
+
kwargs = dict(B0=1.7, eI=0.1, eE=3.)
|
|
409
|
+
# kwargs['uniformRayDensity'] = True
|
|
410
|
+
beamLine.xlimits = [-40, 40]
|
|
411
|
+
beamLine.zlimits = [-20, 20]
|
|
412
|
+
beamLine.xlimitsZoom = [-8, 8]
|
|
413
|
+
beamLine.zlimitsZoom = [-4, 4]
|
|
414
|
+
beamLine.xPrimelimits = 'symmetric'
|
|
415
|
+
beamLine.limitsFSM0X = [-500, 500]
|
|
416
|
+
beamLine.limitsFSM0Z = [-20, 20]
|
|
417
|
+
elif sourceType == 'eu':
|
|
418
|
+
whose = '_xrt' if isInternalSource else '_urgent'
|
|
419
|
+
pprefix = '5'+sourceType+whose
|
|
420
|
+
Source = rs.Undulator if isInternalSource else rs.UndulatorUrgent
|
|
421
|
+
kwargs = dict(
|
|
422
|
+
period=30., Ky=1.45, Kx=1.45, n=40,
|
|
423
|
+
eE=3., eI=0.5,
|
|
424
|
+
eSigmaX=48.65, eSigmaZ=6.197,
|
|
425
|
+
targetOpenCL=targetOpenCL,
|
|
426
|
+
eEpsilonX=0.263, eEpsilonZ=0.008)
|
|
427
|
+
if isInternalSource:
|
|
428
|
+
kwargs['phaseDeg'] = 90
|
|
429
|
+
kwargs['xPrimeMaxAutoReduce'] = False
|
|
430
|
+
kwargs['zPrimeMaxAutoReduce'] = False
|
|
431
|
+
beamLine.xlimits = [-12, 12]
|
|
432
|
+
beamLine.zlimits = [-12, 12]
|
|
433
|
+
beamLine.xlimitsZoom = [-5, 5]
|
|
434
|
+
beamLine.zlimitsZoom = [-5, 5]
|
|
435
|
+
beamLine.xPrimelimits = [-0.55, 0.55]
|
|
436
|
+
elif sourceType == 'wu': # wiggler by undulator code
|
|
437
|
+
whose = '_xrt' if isInternalSource else '_ws'
|
|
438
|
+
pprefix = '6'+sourceType+whose
|
|
439
|
+
Source = rs.Undulator if isInternalSource else rs.WigglerWS
|
|
440
|
+
kwargs = dict(period=80., K=13., n=10, eE=3., eI=0.5)
|
|
441
|
+
kwargs['targetOpenCL'] = targetOpenCL
|
|
442
|
+
beamLine.xlimits = [-40, 40]
|
|
443
|
+
beamLine.zlimits = [-20, 20]
|
|
444
|
+
beamLine.xlimitsZoom = [-5, 5]
|
|
445
|
+
beamLine.zlimitsZoom = [-5, 5]
|
|
446
|
+
# kwargs['uniformRayDensity'] = True
|
|
447
|
+
# kwargs['gIntervals'] = 99
|
|
448
|
+
kwargs['zPrimeMaxAutoReduce'] = False
|
|
449
|
+
beamLine.xPrimelimits = [-2.3, 2.3]
|
|
450
|
+
beamLine.limitsFSM0X = [-1000, 1000]
|
|
451
|
+
beamLine.limitsFSM0Z = [-100, 100]
|
|
452
|
+
elif sourceType == 'tu': # tapered undulator
|
|
453
|
+
whose = '_xrt'
|
|
454
|
+
pprefix = '7'+sourceType+whose
|
|
455
|
+
Source = rs.Undulator
|
|
456
|
+
kwargs = dict(
|
|
457
|
+
eE=3., eI=0.5, # Parameters of the synchrotron ring [GeV], [Ampere]
|
|
458
|
+
eEspread=eEspread, # Energy spread of the electrons in the ring
|
|
459
|
+
period=30., n=40, # Parameters of the undulator, period in [mm]
|
|
460
|
+
K=1.45, # Deflection parameter (ignored if targetE is not None)
|
|
461
|
+
eSigmaX=eSigmaX, eSigmaZ=eSigmaZ, # Size of the electron beam [mkm]
|
|
462
|
+
uniformRayDensity=uniformRayDensity,
|
|
463
|
+
filamentBeam=filamentBeam, # Single wavefront
|
|
464
|
+
taper=[2, 10],
|
|
465
|
+
targetOpenCL=targetOpenCL,
|
|
466
|
+
# R0=R0, # Near Field.
|
|
467
|
+
eEpsilonX=eEpsilonX, eEpsilonZ=eEpsilonZ) # Emittance [nmrad]
|
|
468
|
+
beamLine.xlimits = [-2, 2] # Horizontal limits of the plot [mm]
|
|
469
|
+
beamLine.zlimits = [-2, 2] # Vertical limits of the plot [mm]
|
|
470
|
+
beamLine.xlimitsZoom = [-0.2, 0.2]
|
|
471
|
+
beamLine.zlimitsZoom = [-0.2, 0.2]
|
|
472
|
+
beamLine.xPrimelimits = [-0.3, 0.3] # Angular limits of the plot [mrad]
|
|
473
|
+
kwargs['xPrimeMaxAutoReduce'] = False
|
|
474
|
+
kwargs['zPrimeMaxAutoReduce'] = False
|
|
475
|
+
elif sourceType == 'custom': # tapered undulator from custom field
|
|
476
|
+
whose = '_xrt'
|
|
477
|
+
Np = 40
|
|
478
|
+
L0 = 30
|
|
479
|
+
Kmax = 1.45
|
|
480
|
+
alphaZ = 0.2
|
|
481
|
+
zMin, zMax = -0.5*Np*L0, 0.5*Np*L0
|
|
482
|
+
fieldZ = np.linspace(zMin, zMax, int(Np*L0)+1)
|
|
483
|
+
|
|
484
|
+
#tapered
|
|
485
|
+
fieldK = Kmax*(1.-alphaZ*(0.5-(fieldZ-zMin)/(Np*L0)))*np.sin(2*np.pi*fieldZ/L0)
|
|
486
|
+
fieldB = K2B * fieldK / L0
|
|
487
|
+
plt.figure("B")
|
|
488
|
+
plt.plot(fieldZ, fieldB)
|
|
489
|
+
plt.xlabel('z, mm', fontsize=12)
|
|
490
|
+
plt.ylabel('B, T', fontsize=12)
|
|
491
|
+
plt.savefig("B vs Z.png")
|
|
492
|
+
#plt.show()
|
|
493
|
+
fieldArray = np.vstack((fieldZ, fieldB)).T
|
|
494
|
+
|
|
495
|
+
pprefix = '8'+sourceType+whose
|
|
496
|
+
Source = rs.SourceFromField
|
|
497
|
+
kwargs = dict(
|
|
498
|
+
eE=3., eI=0.5, # Parameters of the synchrotron ring [GeV], [Ampere]
|
|
499
|
+
eEspread=eEspread, # Energy spread of the electrons in the ring
|
|
500
|
+
# period=30., n=40, # Parameters of the undulator, period in [mm]
|
|
501
|
+
# K=1.45, # Deflection parameter (ignored if targetE is not None)
|
|
502
|
+
eSigmaX=eSigmaX, eSigmaZ=eSigmaZ, # Size of the electron beam [mkm]
|
|
503
|
+
uniformRayDensity=uniformRayDensity,
|
|
504
|
+
filamentBeam=filamentBeam, # Single wavefront
|
|
505
|
+
customField = fieldArray,
|
|
506
|
+
targetOpenCL=targetOpenCL,
|
|
507
|
+
# R0=R0, # Near Field.
|
|
508
|
+
eEpsilonX=eEpsilonX, eEpsilonZ=eEpsilonZ) # Emittance [nmrad]
|
|
509
|
+
beamLine.xlimits = [-2, 2] # Horizontal limits of the plot [mm]
|
|
510
|
+
beamLine.zlimits = [-2, 2] # Vertical limits of the plot [mm]
|
|
511
|
+
beamLine.xlimitsZoom = [-0.2, 0.2]
|
|
512
|
+
beamLine.zlimitsZoom = [-0.2, 0.2]
|
|
513
|
+
beamLine.xPrimelimits = [-0.3, 0.3] # Angular limits of the plot [mrad]
|
|
514
|
+
else:
|
|
515
|
+
raise ValueError('Unknown source type!')
|
|
516
|
+
|
|
517
|
+
if False: # force zero source size:
|
|
518
|
+
kwargs['eSigmaX'] = 0
|
|
519
|
+
kwargs['eSigmaZ'] = 0
|
|
520
|
+
kwargs['eEpsilonX'] = 0
|
|
521
|
+
kwargs['eEpsilonZ'] = 0
|
|
522
|
+
kwargs['eEspread'] = 0
|
|
523
|
+
|
|
524
|
+
eEpsilonC = '0'
|
|
525
|
+
else:
|
|
526
|
+
eEpsilonC = 'n'
|
|
527
|
+
|
|
528
|
+
kwargs['xPrimeMax'] = beamLine.xlimits[-1] / R0 * 1e3
|
|
529
|
+
kwargs['zPrimeMax'] = beamLine.zlimits[-1] / R0 * 1e3
|
|
530
|
+
|
|
531
|
+
beamLine.prefix = pprefix+'-{0}-{1}E-'.format(eEpsilonC, energyRange)
|
|
532
|
+
if energyRange == 'mono':
|
|
533
|
+
beamLine.eMinRays, beamLine.eMaxRays = E0-1, E0+1
|
|
534
|
+
beamLine.eUnit = 'eV'
|
|
535
|
+
elif energyRange == '1harmonic':
|
|
536
|
+
beamLine.eMinRays, beamLine.eMaxRays = E0-300, E0+300
|
|
537
|
+
beamLine.eUnit = 'eV'
|
|
538
|
+
elif energyRange == 'smaller':
|
|
539
|
+
beamLine.eMinRays, beamLine.eMaxRays = 1500, 7500
|
|
540
|
+
beamLine.eUnit = 'keV'
|
|
541
|
+
elif energyRange == 'wide':
|
|
542
|
+
beamLine.eMinRays, beamLine.eMaxRays = 1500, 37500
|
|
543
|
+
beamLine.eUnit = 'keV'
|
|
544
|
+
|
|
545
|
+
kwargs['eMin'] = beamLine.eMinRays
|
|
546
|
+
kwargs['eMax'] = beamLine.eMaxRays
|
|
547
|
+
if Source == rs.UndulatorUrgent:
|
|
548
|
+
kwargs['processes'] = 'half'
|
|
549
|
+
|
|
550
|
+
beamLine.source = Source(
|
|
551
|
+
beamLine, eN=1000, nx=40, nz=20, nrays=nrays, **kwargs)
|
|
552
|
+
beamLine.fsm0 = rsc.Screen(beamLine, 'FSM0', (0, 0, 0))
|
|
553
|
+
beamLine.fsm1 = rsc.Screen(beamLine, 'FSM1', (0, R0, 0))
|
|
554
|
+
return beamLine
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
def run_process(beamLine):
|
|
558
|
+
startTime = time.time()
|
|
559
|
+
kw = {}
|
|
560
|
+
if 'mono' in beamLine.prefix and isInternalSource:
|
|
561
|
+
kw['fixedEnergy'] = beamLine.alignE
|
|
562
|
+
# print(beamLine.what, isinstance(beamLine.source, rs.Undulator))
|
|
563
|
+
|
|
564
|
+
if 'wave' in beamLine.what: # and isinstance(beamLine.source, rs.Undulator):
|
|
565
|
+
wave1 = beamLine.fsm1.prepare_wave(
|
|
566
|
+
beamLine.source, beamLine.fsmExpX, beamLine.fsmExpZ)
|
|
567
|
+
wave1zoom = beamLine.fsm1.prepare_wave(
|
|
568
|
+
beamLine.source, beamLine.fsmExpXzoom, beamLine.fsmExpZzoom)
|
|
569
|
+
|
|
570
|
+
kw['wave'] = wave1
|
|
571
|
+
beamSource = beamLine.source.shine(**kw)
|
|
572
|
+
beamFSM0 = beamLine.fsm0.expose(beamSource)
|
|
573
|
+
kw['wave'] = wave1zoom
|
|
574
|
+
beamSourceZ = beamLine.source.shine(**kw)
|
|
575
|
+
outDict = {'beamSource': beamSourceZ,
|
|
576
|
+
'beamFSM0': beamFSM0,
|
|
577
|
+
'beamFSM1': wave1, 'beamFSM1zoom': wave1zoom}
|
|
578
|
+
else:
|
|
579
|
+
beamSource = beamLine.source.shine(**kw)
|
|
580
|
+
beamFSM0 = beamLine.fsm0.expose(beamSource)
|
|
581
|
+
beamFSM1 = beamLine.fsm1.expose(beamSource)
|
|
582
|
+
outDict = {'beamSource': beamSource,
|
|
583
|
+
'beamFSM0': beamFSM0,
|
|
584
|
+
'beamFSM1': beamFSM1, 'beamFSM1zoom': beamFSM1}
|
|
585
|
+
print('shine time = {0}s'.format(time.time() - startTime))
|
|
586
|
+
if showIn3D:
|
|
587
|
+
beamLine.prepare_flow()
|
|
588
|
+
return outDict
|
|
589
|
+
|
|
590
|
+
rr.run_process = run_process
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
def define_plots(beamLine):
|
|
594
|
+
plots = []
|
|
595
|
+
plotsE = []
|
|
596
|
+
|
|
597
|
+
xaxis = xrtp.XYCAxis(r'$y$', 'mm', bins=256)
|
|
598
|
+
yaxis = xrtp.XYCAxis(r'$x$', '$\mu$m', limits='symmetric')
|
|
599
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None)
|
|
600
|
+
plot = xrtp.XYCPlot(
|
|
601
|
+
'beamSource', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
602
|
+
aspect='auto', title='YX source cross-section')
|
|
603
|
+
plot.saveName = beamLine.prefix + 'crossectionYX' + beamLine.suffix + '.png'
|
|
604
|
+
plot.caxis.fwhmFormatStr = None
|
|
605
|
+
plots.append(plot)
|
|
606
|
+
plotsE.append(plot)
|
|
607
|
+
|
|
608
|
+
xaxis = xrtp.XYCAxis(r'$y$', 'mm', bins=256)
|
|
609
|
+
yaxis = xrtp.XYCAxis(r'$z$', '$\mu$m', limits='symmetric')
|
|
610
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None)
|
|
611
|
+
plot = xrtp.XYCPlot(
|
|
612
|
+
'beamSource', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
613
|
+
aspect='auto', title='YZ source cross-section')
|
|
614
|
+
plot.saveName = beamLine.prefix + 'crossectionYZ' + beamLine.suffix + '.png'
|
|
615
|
+
plot.caxis.fwhmFormatStr = None
|
|
616
|
+
plots.append(plot)
|
|
617
|
+
plotsE.append(plot)
|
|
618
|
+
|
|
619
|
+
xaxis = xrtp.XYCAxis(r'$x$', '$\mu$m', limits=beamLine.limitsFSM0X,
|
|
620
|
+
bins=bins, ppb=ppb)
|
|
621
|
+
yaxis = xrtp.XYCAxis(r'$z$', '$\mu$m', limits=beamLine.limitsFSM0Z,
|
|
622
|
+
bins=bins, ppb=ppb)
|
|
623
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None,
|
|
624
|
+
bins=bins, ppb=ppb)
|
|
625
|
+
plot = xrtp.XYCPlot(
|
|
626
|
+
'beamSource', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
627
|
+
aspect='auto', title='image at 0')
|
|
628
|
+
plot.saveName = beamLine.prefix + 'fsm0' + beamLine.suffix + '.png'
|
|
629
|
+
plot.caxis.fwhmFormatStr = None
|
|
630
|
+
plots.append(plot)
|
|
631
|
+
plotsE.append(plot)
|
|
632
|
+
|
|
633
|
+
beam = 'beamFSM0'
|
|
634
|
+
xaxis = xrtp.XYCAxis(r'$x$', '$\mu$m', limits=beamLine.limitsFSM0X)
|
|
635
|
+
yaxis = xrtp.XYCAxis(r"$x'$", 'mrad', limits=beamLine.xPrimelimits)
|
|
636
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None)
|
|
637
|
+
plot = xrtp.XYCPlot(
|
|
638
|
+
beam, (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
639
|
+
aspect='auto', title='horizontal phase space')
|
|
640
|
+
plot.saveName = beamLine.prefix + 'horPhaseSpace' + beamLine.suffix + '.png'
|
|
641
|
+
plot.caxis.fwhmFormatStr = None
|
|
642
|
+
plots.append(plot)
|
|
643
|
+
plotsE.append(plot)
|
|
644
|
+
|
|
645
|
+
xaxis = xrtp.XYCAxis(r'$x$', '$\mu$m', limits=[-80, 80])
|
|
646
|
+
yaxis = xrtp.XYCAxis(r"$x'$", 'mrad', limits=[-0.15, 0.15])
|
|
647
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None)
|
|
648
|
+
plot = xrtp.XYCPlot(
|
|
649
|
+
beam, (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
650
|
+
aspect='auto', title='horizontal phase space zoomed')
|
|
651
|
+
plot.saveName = beamLine.prefix + 'horPhaseSpaceZoom' + beamLine.suffix + '.png'
|
|
652
|
+
plot.caxis.fwhmFormatStr = None
|
|
653
|
+
plots.append(plot)
|
|
654
|
+
plotsE.append(plot)
|
|
655
|
+
|
|
656
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimits,
|
|
657
|
+
bins=bins, ppb=ppb)
|
|
658
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimits,
|
|
659
|
+
bins=bins, ppb=ppb)
|
|
660
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None,
|
|
661
|
+
bins=bins, ppb=ppb)
|
|
662
|
+
plot = xrtp.XYCPlot(
|
|
663
|
+
'beamFSM1', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
664
|
+
aspect='auto', title='total flux')
|
|
665
|
+
plot.caxis.fwhmFormatStr = None
|
|
666
|
+
plot.saveName = beamLine.prefix + '1TotalFlux' + beamLine.suffix + '.png'
|
|
667
|
+
#plot.persistentName = prefix + '1TotalFlux' + suffix + '.mat'
|
|
668
|
+
plots.append(plot)
|
|
669
|
+
plotsE.append(plot)
|
|
670
|
+
ax = plot.xaxis
|
|
671
|
+
edges = np.linspace(ax.limits[0], ax.limits[1], ax.bins+1)
|
|
672
|
+
beamLine.fsmExpX = (edges[:-1] + edges[1:]) * 0.5 / ax.factor
|
|
673
|
+
ax = plot.yaxis
|
|
674
|
+
edges = np.linspace(ax.limits[0], ax.limits[1], ax.bins+1)
|
|
675
|
+
beamLine.fsmExpZ = (edges[:-1] + edges[1:]) * 0.5 / ax.factor
|
|
676
|
+
|
|
677
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimitsZoom, bins=bins, ppb=ppb)
|
|
678
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimitsZoom, bins=bins, ppb=ppb)
|
|
679
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None,
|
|
680
|
+
bins=bins, ppb=ppb)
|
|
681
|
+
plot = xrtp.XYCPlot(
|
|
682
|
+
'beamFSM1zoom', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
683
|
+
aspect='auto', title='total flux zoom')
|
|
684
|
+
plot.caxis.fwhmFormatStr = None
|
|
685
|
+
plot.saveName = beamLine.prefix + '1TotalFluxZoom' + beamLine.suffix + '.png'
|
|
686
|
+
plots.append(plot)
|
|
687
|
+
plotsE.append(plot)
|
|
688
|
+
ax = plot.xaxis
|
|
689
|
+
edges = np.linspace(ax.limits[0], ax.limits[1], ax.bins+1)
|
|
690
|
+
beamLine.fsmExpXzoom = (edges[:-1] + edges[1:]) * 0.5 / ax.factor
|
|
691
|
+
ax = plot.yaxis
|
|
692
|
+
edges = np.linspace(ax.limits[0], ax.limits[1], ax.bins+1)
|
|
693
|
+
beamLine.fsmExpZzoom = (edges[:-1] + edges[1:]) * 0.5 / ax.factor
|
|
694
|
+
|
|
695
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimits, bins=bins, ppb=ppb)
|
|
696
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimits, bins=bins, ppb=ppb)
|
|
697
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None,
|
|
698
|
+
bins=bins, ppb=ppb)
|
|
699
|
+
plot = xrtp.XYCPlot(
|
|
700
|
+
'beamFSM1', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
701
|
+
fluxKind='s', aspect='auto', title='horizontal polarization flux')
|
|
702
|
+
plot.caxis.fwhmFormatStr = None
|
|
703
|
+
plot.saveName = beamLine.prefix + '2horizFlux' + beamLine.suffix + '.png'
|
|
704
|
+
plots.append(plot)
|
|
705
|
+
plotsE.append(plot)
|
|
706
|
+
|
|
707
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimitsZoom,
|
|
708
|
+
bins=bins, ppb=ppb)
|
|
709
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimitsZoom,
|
|
710
|
+
bins=bins, ppb=ppb)
|
|
711
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None,
|
|
712
|
+
bins=bins, ppb=ppb)
|
|
713
|
+
plot = xrtp.XYCPlot(
|
|
714
|
+
'beamFSM1zoom', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
715
|
+
fluxKind='s', aspect='auto', title='horizontal polarization flux zoom')
|
|
716
|
+
plot.caxis.fwhmFormatStr = None
|
|
717
|
+
plot.saveName = beamLine.prefix + '2horizFluxZoom' + beamLine.suffix + '.png'
|
|
718
|
+
plots.append(plot)
|
|
719
|
+
plotsE.append(plot)
|
|
720
|
+
|
|
721
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimits,
|
|
722
|
+
bins=bins, ppb=ppb)
|
|
723
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimits,
|
|
724
|
+
bins=bins, ppb=ppb)
|
|
725
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None,
|
|
726
|
+
bins=bins, ppb=ppb)
|
|
727
|
+
plot = xrtp.XYCPlot(
|
|
728
|
+
'beamFSM1', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
729
|
+
fluxKind='p', aspect='auto', title='vertical polarization flux')
|
|
730
|
+
plot.caxis.fwhmFormatStr = None
|
|
731
|
+
plot.saveName = beamLine.prefix + '3vertFlux' + beamLine.suffix + '.png'
|
|
732
|
+
plots.append(plot)
|
|
733
|
+
plotsE.append(plot)
|
|
734
|
+
|
|
735
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimitsZoom, bins=bins, ppb=ppb)
|
|
736
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimitsZoom, bins=bins, ppb=ppb)
|
|
737
|
+
caxis = xrtp.XYCAxis('energy', beamLine.eUnit, fwhmFormatStr=None,
|
|
738
|
+
bins=bins, ppb=ppb)
|
|
739
|
+
plot = xrtp.XYCPlot(
|
|
740
|
+
'beamFSM1zoom', (1,), xaxis=xaxis, yaxis=yaxis, caxis=caxis,
|
|
741
|
+
fluxKind='p', aspect='auto', title='vertical polarization flux zoom')
|
|
742
|
+
plot.caxis.fwhmFormatStr = None
|
|
743
|
+
plot.saveName = beamLine.prefix + '3vertFluxZoom' + beamLine.suffix + '.png'
|
|
744
|
+
plots.append(plot)
|
|
745
|
+
plotsE.append(plot)
|
|
746
|
+
|
|
747
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimits, bins=bins, ppb=ppb)
|
|
748
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimits, bins=bins, ppb=ppb)
|
|
749
|
+
plot = xrtp.XYCPlot(
|
|
750
|
+
'beamFSM1', (1,), xaxis=xaxis, yaxis=yaxis,
|
|
751
|
+
caxis=xrtp.XYCAxis('degree of polarization', '',
|
|
752
|
+
data=raycing.get_polarization_degree,
|
|
753
|
+
limits=[0.9, 1.01], bins=bins, ppb=ppb),
|
|
754
|
+
aspect='auto', title='degree of polarization')
|
|
755
|
+
plot.saveName = beamLine.prefix + '4DegPol' + beamLine.suffix + '.png'
|
|
756
|
+
plot.caxis.fwhmFormatStr = None
|
|
757
|
+
plots.append(plot)
|
|
758
|
+
|
|
759
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimitsZoom, bins=bins, ppb=ppb)
|
|
760
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimitsZoom, bins=bins, ppb=ppb)
|
|
761
|
+
plot = xrtp.XYCPlot(
|
|
762
|
+
'beamFSM1zoom', (1,), xaxis=xaxis, yaxis=yaxis,
|
|
763
|
+
caxis=xrtp.XYCAxis('degree of polarization', '',
|
|
764
|
+
data=raycing.get_polarization_degree,
|
|
765
|
+
limits=[0.9, 1.01], bins=bins, ppb=ppb),
|
|
766
|
+
aspect='auto', title='degree of polarization zoom')
|
|
767
|
+
plot.saveName = beamLine.prefix + '4DegPolZoom' + beamLine.suffix + '.png'
|
|
768
|
+
plot.caxis.fwhmFormatStr = None
|
|
769
|
+
plots.append(plot)
|
|
770
|
+
|
|
771
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimits, bins=bins, ppb=ppb)
|
|
772
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimits, bins=bins, ppb=ppb)
|
|
773
|
+
plot = xrtp.XYCPlot(
|
|
774
|
+
'beamFSM1', (1,), xaxis=xaxis, yaxis=yaxis,
|
|
775
|
+
caxis=xrtp.XYCAxis('circular polarization rate', '',
|
|
776
|
+
data=raycing.get_circular_polarization_rate,
|
|
777
|
+
limits=[-1, 1], bins=bins, ppb=ppb),
|
|
778
|
+
aspect='auto', title='circular polarization rate')
|
|
779
|
+
plot.saveName = beamLine.prefix + '5CircPolRate' + beamLine.suffix + '.png'
|
|
780
|
+
plot.caxis.fwhmFormatStr = None
|
|
781
|
+
plots.append(plot)
|
|
782
|
+
|
|
783
|
+
xaxis = xrtp.XYCAxis(r'$x$', 'mm', limits=beamLine.xlimitsZoom, bins=bins, ppb=ppb)
|
|
784
|
+
yaxis = xrtp.XYCAxis(r'$z$', 'mm', limits=beamLine.zlimitsZoom, bins=bins, ppb=ppb)
|
|
785
|
+
plot = xrtp.XYCPlot(
|
|
786
|
+
'beamFSM1zoom', (1,), xaxis=xaxis, yaxis=yaxis,
|
|
787
|
+
caxis=xrtp.XYCAxis('circular polarization rate', '',
|
|
788
|
+
data=raycing.get_circular_polarization_rate,
|
|
789
|
+
limits=[-1, 1], bins=bins, ppb=ppb),
|
|
790
|
+
aspect='auto', title='circular polarization rate zoom')
|
|
791
|
+
plot.saveName = beamLine.prefix + '5CircPolRateZoom' + beamLine.suffix + '.png'
|
|
792
|
+
plot.caxis.fwhmFormatStr = None
|
|
793
|
+
plots.append(plot)
|
|
794
|
+
|
|
795
|
+
for plot in plotsE:
|
|
796
|
+
f = plot.caxis.factor
|
|
797
|
+
plot.caxis.limits = beamLine.eMinRays*f, beamLine.eMaxRays*f
|
|
798
|
+
for plot in plots:
|
|
799
|
+
plot.xaxis.fwhmFormatStr = '%.2f'
|
|
800
|
+
plot.yaxis.fwhmFormatStr = '%.2f'
|
|
801
|
+
plot.fluxFormatStr = '%.2p'
|
|
802
|
+
return plots, plotsE
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
def afterScript(plots, beamLine):
|
|
806
|
+
import os
|
|
807
|
+
import pickle
|
|
808
|
+
plot = plots[-1]
|
|
809
|
+
flux = [plot.intensity, plot.nRaysAll, plot.nRaysSeeded]
|
|
810
|
+
cwd = os.getcwd()
|
|
811
|
+
pickleName = os.path.join(cwd, beamLine.prefix+'.pickle')
|
|
812
|
+
with open(pickleName, 'wb') as f:
|
|
813
|
+
pickle.dump((flux, plot.caxis.binEdges, plot.caxis.total1D), f,
|
|
814
|
+
protocol=2)
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
def main(**mainKWargs):
|
|
818
|
+
beamLine = build_beamline(**mainKWargs)
|
|
819
|
+
if showIn3D:
|
|
820
|
+
beamLine.glow()
|
|
821
|
+
else:
|
|
822
|
+
plots, plotsE = define_plots(beamLine)
|
|
823
|
+
xrtr.run_ray_tracing(plots, repeats=1,
|
|
824
|
+
# afterScript=afterScript,
|
|
825
|
+
# afterScriptArgs=[plots, beamLine],
|
|
826
|
+
beamLine=beamLine)
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
if __name__ == '__main__':
|
|
830
|
+
# ['custom','u', 'bm', 'eu', 'wu', 'tu']
|
|
831
|
+
kwargs = {}
|
|
832
|
+
for sourceType in ['eu', 'wu']:
|
|
833
|
+
kwargs['sourceType'] = sourceType
|
|
834
|
+
kwargs['what'] = 'wave'
|
|
835
|
+
kwargs['energyRange'] = 'mono'
|
|
836
|
+
kwargs['nrays'] = 1e6
|
|
837
|
+
kwargs['targetOpenCL'] = None
|
|
838
|
+
main(**kwargs)
|
|
839
|
+
print(sourceType, "done")
|