xrt 1.5.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.
Files changed (808) hide show
  1. {xrt-1.5.0 → xrt-1.6.1}/MANIFEST.in +4 -4
  2. {xrt-1.5.0 → xrt-1.6.1}/PKG-INFO +21 -20
  3. {xrt-1.5.0 → xrt-1.6.1}/examples/withDummy/__init__.py +7 -3
  4. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/__init__.py +57 -37
  5. xrt-1.6.1/examples/withRaycing/00_xRayCalculator/calc_crystal.py +45 -0
  6. xrt-1.6.1/examples/withRaycing/00_xRayCalculator/calc_undulator.py +118 -0
  7. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_undulator_power.py +1 -1
  8. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_undulator_tune.py +2 -2
  9. xrt-1.6.1/examples/withRaycing/01_SynchrotronSources/fluxThroughAperture.py +354 -0
  10. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/my_arbitrary_field_test.py +1 -1
  11. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/synchrotronSources.py +33 -29
  12. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorHamed.py +6 -5
  13. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorHamed_fromField.py +4 -6
  14. xrt-1.6.1/examples/withRaycing/01_SynchrotronSources/undulatorVortex.py +372 -0
  15. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/__init__.py +22 -6
  16. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceDCMBalderBL.py +1 -1
  17. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/01_bentLaueSCM.py +62 -48
  18. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/02_bentLaueDCM_RC.py +2 -2
  19. xrt-1.6.1/examples/withRaycing/03_LaueMono/03_bentLaue_material.py +288 -0
  20. xrt-1.6.1/examples/withRaycing/03_LaueMono/03_polychromatic_focus.py +347 -0
  21. xrt-1.6.1/examples/withRaycing/03_LaueMono/04_bentLaue2D_material.py +238 -0
  22. xrt-1.6.1/examples/withRaycing/03_LaueMono/04_sagittal_bending.py +343 -0
  23. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/crl_individual.py +0 -1
  24. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/crl_stack.py +5 -2
  25. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/08_convergent_LT_bent.py +40 -26
  26. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/09_convergent_LT_bentSph.py +42 -29
  27. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/__init__.py +4 -2
  28. xrt-1.6.1/examples/withRaycing/06_AnalyzerBent1D/01B_BentTT.py +299 -0
  29. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/01B_SourceZCrystalThetaAlpha.py +2 -3
  30. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/01L_SourceZCrystalThetaAlpha.py +2 -3
  31. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/02_vonHamos.py +41 -39
  32. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/02_vonHamosElliptical.py +3 -2
  33. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/__init__.py +104 -43
  34. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/flux-dE.py +6 -7
  35. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/07_AnalyzerBent2D/01BD_SourceZCrystalThetaAlpha.py +99 -73
  36. xrt-1.6.1/examples/withRaycing/08_CLAESS_BL/__init__.py +58 -0
  37. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/FZP.py +5 -3
  38. xrt-1.6.1/examples/withRaycing/09_Gratings/GratingFlexPES-turned.py +440 -0
  39. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/__init__.py +22 -7
  40. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/BentTaperedPolyCapillary.py +24 -24
  41. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/__init__.py +31 -8
  42. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/11.6 DiffractionOnApertures.py +2 -2
  43. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/LaguerreGaussianBeam_SiemensStar.py +1 -1
  44. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/doubleSlitScan.py +9 -4
  45. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/slitscan.py +4 -0
  46. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/waveFZP.py +12 -7
  47. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/waveGrating.py +29 -25
  48. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/waveMirrors.py +2 -0
  49. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/12_Multilayer/BalderDMM.py +2 -2
  50. xrt-1.6.1/examples/withRaycing/13_Warping/ExampleOfSlopeErrorMapToParametricMirror.py +74 -0
  51. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/13_Warping/warp.py +10 -9
  52. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_CXIw1D.py +10 -10
  53. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_CXIw2D.py +1 -1
  54. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_STXMw1D.py +1 -1
  55. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/Softi_STXMw2D.py +1 -1
  56. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/14_SoftiMAX/__init__.py +9 -2
  57. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/00_simple.py +1 -1
  58. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/effic.01 +1 -1
  59. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/end.00 +0 -0
  60. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/end.01 +2 -2
  61. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/start.00 +0 -0
  62. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_input_source_tmp.inp +1 -1
  63. xrt-1.6.1/examples/withShadow/03/tmp0/shadow-trace.bat +4 -0
  64. xrt-1.6.1/examples/withShadow/04_06/tmp0/shadow-source.bat +7 -0
  65. xrt-1.6.1/examples/withShadow/04_06/tmp0/shadow-trace.bat +4 -0
  66. {xrt-1.5.0 → xrt-1.6.1}/setup.py +22 -22
  67. xrt-1.6.1/tests/raycing/IR/RefractiveIndexINFO_BK7.csv +125 -0
  68. xrt-1.6.1/tests/raycing/IR/one_plate_test.py +123 -0
  69. xrt-1.6.1/tests/raycing/IR/wedge_diamond.xml +233 -0
  70. xrt-1.6.1/tests/raycing/RemoteOpenCLCalculation/__init__.py +53 -0
  71. xrt-1.6.1/tests/raycing/RemoteOpenCLCalculation/__pycache__/__init__.cpython-312.pyc +0 -0
  72. xrt-1.6.1/tests/raycing/RemoteOpenCLCalculation/__pycache__/zmq_server.cpython-312.pyc +0 -0
  73. xrt-1.6.1/tests/raycing/RemoteOpenCLCalculation/zmq_server.py +199 -0
  74. xrt-1.6.1/tests/raycing/_SynchrotronSources/MAX-IV-IDs-Flux.py +204 -0
  75. {xrt-1.5.0/examples/withRaycing/00_xRayCalculator → xrt-1.6.1/tests/raycing/_SynchrotronSources}/calc_undulator.py +7 -2
  76. xrt-1.6.1/tests/raycing/_SynchrotronSources/calc_undulator_power.py +41 -0
  77. xrt-1.6.1/tests/raycing/_SynchrotronSources/calc_undulator_tune.py +62 -0
  78. xrt-1.6.1/tests/raycing/_SynchrotronSources/synchrotronSourcesTests.py +839 -0
  79. xrt-1.6.1/tests/raycing/_SynchrotronSources/undulatorHamed.py +444 -0
  80. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/laguerre_hermite_gaussian_beam.py +1 -1
  81. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/read_NOM_maps.py +1 -1
  82. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_asymmetric_xtal.py +9 -3
  83. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_backcattering_xtal_Shvydko.py +3 -0
  84. xrt-1.6.1/tests/raycing/test_ellipsoid_tube_mirror.py +150 -0
  85. xrt-1.6.1/tests/raycing/test_hyperboloid_tube_mirror.py +155 -0
  86. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_laue_bent.py +2 -3
  87. xrt-1.6.1/tests/raycing/test_materials.py +986 -0
  88. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_mosaic_xtal.py +44 -18
  89. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_mosaic_xtal_thin.py +149 -148
  90. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_param_mirror.py +65 -17
  91. xrt-1.6.1/tests/raycing/test_pytte.py +372 -0
  92. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_undulator_convergence.py +15 -6
  93. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_undulator_on_mesh.py +18 -17
  94. {xrt-1.5.0 → xrt-1.6.1}/tests/speed/1_SourceZCrystalThetaAlpha_speed.py +6 -7
  95. {xrt-1.5.0 → xrt-1.6.1}/tests/speed/2_synchrotronSources_speed.py +21 -17
  96. {xrt-1.5.0 → xrt-1.6.1}/tests/speed/3_Softi_CXIw2D_speed.py +30 -21
  97. xrt-1.6.1/tests/speed/__init__.py +72 -0
  98. {xrt-1.5.0 → xrt-1.6.1}/xrt/__init__.py +37 -36
  99. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/__init__.py +146 -46
  100. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/apertures.py +238 -89
  101. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/coherence.py +31 -19
  102. xrt-1.6.1/xrt/backends/raycing/data/BrCo.npz +0 -0
  103. xrt-1.6.1/xrt/backends/raycing/data/Chantler.npz +0 -0
  104. xrt-1.6.1/xrt/backends/raycing/data/Henke.npz +0 -0
  105. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/materials.cl +473 -2
  106. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/materials.py +560 -62
  107. xrt-1.6.1/xrt/backends/raycing/materials_compounds.py +853 -0
  108. xrt-1.6.1/xrt/backends/raycing/materials_crystals.py +1439 -0
  109. xrt-1.6.1/xrt/backends/raycing/materials_elemental.py +717 -0
  110. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/modes.py +2 -4
  111. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/myopencl.py +265 -19
  112. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/oes.py +1684 -315
  113. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/oes_base.py +434 -170
  114. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/__init__.py +9 -0
  115. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/crystal_vectors.py +58 -0
  116. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/deformation.py +300 -0
  117. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/elastic_tensors.py +384 -0
  118. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/legacy.py +326 -0
  119. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/pyTTE.py +906 -0
  120. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/pyTTE_rkpy.py +1038 -0
  121. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/pyTTE_rkpy_qt.py +855 -0
  122. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/quantity.py +344 -0
  123. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/rotation_matrix.py +105 -0
  124. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/ttcrystal.py +890 -0
  125. xrt-1.6.1/xrt/backends/raycing/pyTTE_x/ttscan.py +241 -0
  126. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/run.py +2 -1
  127. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/screens.py +81 -53
  128. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/sources.py +112 -17
  129. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/sources_beams.py +5 -4
  130. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/sources_geoms.py +23 -15
  131. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/sources_legacy.py +1 -1
  132. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/sources_sybase.py +117 -57
  133. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/sources_synchr.py +78 -30
  134. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/waves.py +53 -36
  135. xrt-1.6.1/xrt/gui/commons/_themes/qook/static/jquery.js +2 -0
  136. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/ext.py +3 -1
  137. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/qt.py +13 -44
  138. xrt-1.6.1/xrt/gui/xrtBentXtal.py +1382 -0
  139. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtGlow/__init__.py +90 -65
  140. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtGlow/notes.py +12 -8
  141. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/__init__.py +168 -86
  142. xrt-1.6.1/xrt/gui/xrtQook/_icons/3dg_256.png +0 -0
  143. xrt-1.6.1/xrt/gui/xrtQook/_icons/xbcc.ico +0 -0
  144. xrt-1.6.1/xrt/gui/xrtQook/_icons/xbcc.png +0 -0
  145. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/tutorial.py +45 -22
  146. xrt-1.6.1/xrt/gui/xrtQookStart.py +53 -0
  147. xrt-1.6.1/xrt/gui/xrtQookStart.pyw +52 -0
  148. {xrt-1.5.0 → xrt-1.6.1}/xrt/multipro.py +14 -34
  149. {xrt-1.5.0 → xrt-1.6.1}/xrt/plotter.py +68 -48
  150. {xrt-1.5.0 → xrt-1.6.1}/xrt/runner.py +20 -16
  151. {xrt-1.5.0 → xrt-1.6.1}/xrt/version.py +2 -2
  152. {xrt-1.5.0 → xrt-1.6.1}/xrt.egg-info/PKG-INFO +21 -20
  153. {xrt-1.5.0 → xrt-1.6.1}/xrt.egg-info/SOURCES.txt +44 -99
  154. xrt-1.6.1/xrt.egg-info/requires.txt +14 -0
  155. xrt-1.5.0/examples/withRaycing/00_xRayCalculator/calc_crystal.py +0 -24
  156. xrt-1.5.0/examples/withRaycing/08_CLAESS_BL/__init__.py +0 -50
  157. xrt-1.5.0/examples/withShadow/00_02/tmp0/shadow-source.bat +0 -7
  158. xrt-1.5.0/examples/withShadow/00_02/tmp0/shadow-trace.bat +0 -4
  159. xrt-1.5.0/examples/withShadow/00_02/tmp0/shadowvui.bat +0 -4
  160. xrt-1.5.0/tests/raycing/RemoteOpenCLCalculation/zmq_server.py +0 -51
  161. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_pp_pi.xcb.gz +0 -0
  162. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_pp_sigma.xcb.gz +0 -0
  163. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_tt_pi.xcb.gz +0 -0
  164. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-15deg_tt_sigma.xcb.gz +0 -0
  165. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_pp_pi.xcb.gz +0 -0
  166. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_pp_sigma.xcb.gz +0 -0
  167. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_tt_pi.xcb.gz +0 -0
  168. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-30deg_tt_sigma.xcb.gz +0 -0
  169. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_pp_pi.xcb.gz +0 -0
  170. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_pp_sigma.xcb.gz +0 -0
  171. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_tt_pi.xcb.gz +0 -0
  172. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-45deg_tt_sigma.xcb.gz +0 -0
  173. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_pp_pi.xcb.gz +0 -0
  174. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_pp_sigma.xcb.gz +0 -0
  175. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_tt_pi.xcb.gz +0 -0
  176. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-60deg_tt_sigma.xcb.gz +0 -0
  177. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_pp_pi.xcb.gz +0 -0
  178. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_pp_sigma.xcb.gz +0 -0
  179. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_tt_pi.xcb.gz +0 -0
  180. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a-75deg_tt_sigma.xcb.gz +0 -0
  181. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg.xc.gz +0 -0
  182. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_pp_pi.xcb.gz +0 -0
  183. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_pp_sigma.xcb.gz +0 -0
  184. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_tt_pi.xcb.gz +0 -0
  185. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a0deg_tt_sigma.xcb.gz +0 -0
  186. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_pp_pi.xcb.gz +0 -0
  187. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_pp_sigma.xcb.gz +0 -0
  188. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_tt_pi.xcb.gz +0 -0
  189. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a15deg_tt_sigma.xcb.gz +0 -0
  190. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_pp_pi.xcb.gz +0 -0
  191. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_pp_sigma.xcb.gz +0 -0
  192. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_tt_pi.xcb.gz +0 -0
  193. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a30deg_tt_sigma.xcb.gz +0 -0
  194. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_pp_pi.xcb.gz +0 -0
  195. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_pp_sigma.xcb.gz +0 -0
  196. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_tt_pi.xcb.gz +0 -0
  197. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a45deg_tt_sigma.xcb.gz +0 -0
  198. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_pp_pi.xcb.gz +0 -0
  199. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_pp_sigma.xcb.gz +0 -0
  200. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_tt_pi.xcb.gz +0 -0
  201. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a60deg_tt_sigma.xcb.gz +0 -0
  202. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_pp_pi.xcb.gz +0 -0
  203. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_pp_sigma.xcb.gz +0 -0
  204. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_tt_pi.xcb.gz +0 -0
  205. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_R50m_a75deg_tt_sigma.xcb.gz +0 -0
  206. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a-30deg_pp_pi.xcb.gz +0 -0
  207. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a-30deg_pp_sigma.xcb.gz +0 -0
  208. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a0deg.xc.gz +0 -0
  209. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg.xc.gz +0 -0
  210. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_pp_pi.xcb.gz +0 -0
  211. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_pp_sigma.xcb.gz +0 -0
  212. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_tt_pi.xcb.gz +0 -0
  213. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi111_E50keV_t1000mkm_Rinfm_a30deg_tt_sigma.xcb.gz +0 -0
  214. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-05deg_pp_pi.xcb.gz +0 -0
  215. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-05deg_pp_sigma.xcb.gz +0 -0
  216. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-15deg_pp_pi.xcb.gz +0 -0
  217. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-15deg_tt_pi.xcb.gz +0 -0
  218. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-15deg_tt_sigma.xcb.gz +0 -0
  219. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_pp_pi.xcb.gz +0 -0
  220. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_pp_sigma.xcb.gz +0 -0
  221. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_tt_pi.xcb.gz +0 -0
  222. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-30deg_tt_sigma.xcb.gz +0 -0
  223. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_pp_pi.xcb.gz +0 -0
  224. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_pp_sigma.xcb.gz +0 -0
  225. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_tt_pi.xcb.gz +0 -0
  226. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-45deg_tt_sigma.xcb.gz +0 -0
  227. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_pp_pi.xcb.gz +0 -0
  228. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_pp_sigma.xcb.gz +0 -0
  229. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_tt_pi.xcb.gz +0 -0
  230. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-60deg_tt_sigma.xcb.gz +0 -0
  231. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-75deg_pp_pi.xcb.gz +0 -0
  232. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-75deg_tt_pi.xcb.gz +0 -0
  233. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a-75deg_tt_sigma.xcb.gz +0 -0
  234. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg.xc.gz +0 -0
  235. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_pp_pi.xcb.gz +0 -0
  236. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_pp_sigma.xcb.gz +0 -0
  237. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_tt_pi.xcb.gz +0 -0
  238. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a0deg_tt_sigma.xcb.gz +0 -0
  239. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a15deg_tt_pi.xcb.gz +0 -0
  240. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a15deg_tt_sigma.xcb.gz +0 -0
  241. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a30deg_tt_pi.xcb.gz +0 -0
  242. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a30deg_tt_sigma.xcb.gz +0 -0
  243. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a45deg_tt_pi.xcb.gz +0 -0
  244. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a45deg_tt_sigma.xcb.gz +0 -0
  245. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a60deg_tt_pi.xcb.gz +0 -0
  246. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a60deg_tt_sigma.xcb.gz +0 -0
  247. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a75deg_tt_pi.xcb.gz +0 -0
  248. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_R50m_a75deg_tt_sigma.xcb.gz +0 -0
  249. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg.xc.gz +0 -0
  250. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_pp_pi.xcb.gz +0 -0
  251. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_pp_sigma.xcb.gz +0 -0
  252. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_tt_pi.xcb.gz +0 -0
  253. xrt-1.5.0/tests/raycing/XOP-RockingCurves-Bent/lSi333_E50keV_t1000mkm_Rinfm_a30deg_tt_sigma.xcb.gz +0 -0
  254. xrt-1.5.0/tests/raycing/test_materials.py +0 -1327
  255. xrt-1.5.0/xrt/backends/raycing/data/BrCo.npz +0 -0
  256. xrt-1.5.0/xrt/backends/raycing/data/Chantler.npz +0 -0
  257. xrt-1.5.0/xrt/backends/raycing/data/Henke.npz +0 -0
  258. xrt-1.5.0/xrt/gui/commons/__init__.py +0 -1
  259. xrt-1.5.0/xrt/gui/xrtQookStart.py +0 -31
  260. xrt-1.5.0/xrt/gui/xrtQookStart.pyw +0 -31
  261. xrt-1.5.0/xrt.egg-info/requires.txt +0 -4
  262. {xrt-1.5.0 → xrt-1.6.1}/LICENSE.txt +0 -0
  263. {xrt-1.5.0 → xrt-1.6.1}/README.txt +0 -0
  264. {xrt-1.5.0 → xrt-1.6.1}/examples/__init__.py +0 -0
  265. {xrt-1.5.0 → xrt-1.6.1}/examples/withDummy/logo-python.png +0 -0
  266. {xrt-1.5.0 → xrt-1.6.1}/examples/withDummy/logo_xrt.py +0 -0
  267. {xrt-1.5.0 → xrt-1.6.1}/examples/withDummy/xrt_demo.py +0 -0
  268. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_absorption.py +0 -0
  269. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_bm.py +0 -0
  270. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_carbon_contamination.py +0 -0
  271. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_coated_mirror.py +0 -0
  272. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_crystal_dtheta.py +0 -0
  273. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_crystal_rocking_curve.py +0 -0
  274. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_mirror.py +0 -0
  275. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_multilayer.py +0 -0
  276. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_multilayer_E.py +0 -0
  277. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_multilayer_theta.py +0 -0
  278. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_slab.py +0 -0
  279. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/00_xRayCalculator/calc_transmittivity.py +0 -0
  280. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/B-Hamed.xlsx +0 -0
  281. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/MAX-IV-IDs-Flux.py +0 -0
  282. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/U32TaperedScan.py +0 -0
  283. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/__init__.py +0 -0
  284. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/bionano3.dc0 +0 -0
  285. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/thetaexafssc1an_zn_hgap_00002r2.fio.gz +0 -0
  286. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulator-rays-near-wave-filament.py +0 -0
  287. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorTapering.py +0 -0
  288. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/01_SynchrotronSources/undulatorTapering_zmq.py +0 -0
  289. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/3D/BalderBL.py +0 -0
  290. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/3D/traceBalderBL.py +0 -0
  291. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/BalderBL.py +0 -0
  292. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/BalderFlux.py +0 -0
  293. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceBalderBL.py +0 -0
  294. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceFiltersBalderBL.py +0 -0
  295. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceMirrorPitchBalderBL.py +0 -0
  296. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceMirrorPitchBothBalderBL.py +0 -0
  297. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/02_Balder_BL/traceMirrorRBalderBL.py +0 -0
  298. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/03_LaueMono/__init__.py +0 -0
  299. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/__init__.py +0 -0
  300. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/04_Lenses/crl_individual_3D.py +0 -0
  301. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/01_collimated_BR.py +0 -0
  302. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/02_collimated_LR.py +0 -0
  303. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/03_collimated_BT.py +0 -0
  304. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/04_collimated_LT.py +0 -0
  305. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/05_convergent_BT.py +0 -0
  306. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/06_convergent_LT.py +0 -0
  307. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/05_QWP/07_convergent_LT_slit.py +0 -0
  308. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/06_AnalyzerBent1D/vonHamosPos.py +0 -0
  309. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/07_AnalyzerBent2D/__init__.py +0 -0
  310. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/08_CLAESS_BL/ClaessBL_N.py +0 -0
  311. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/08_CLAESS_BL/traceClaessBL_N.py +0 -0
  312. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/BraggFresnel.py +0 -0
  313. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/Grating.py +0 -0
  314. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/GratingFlexPES.py +0 -0
  315. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/09_Gratings/efficiency1-LEG.txt +0 -0
  316. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/Cylinder.py +0 -0
  317. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/10_MultipleReflect/MontelMirror.py +0 -0
  318. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/IMP_1st_1p11.dat +0 -0
  319. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/IMP_2nd_1p11.dat +0 -0
  320. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/LEG_1st_1p85.dat +0 -0
  321. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/LEG_2nd_1p85.dat +0 -0
  322. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/MEG_1st_1p48.dat +0 -0
  323. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/MEG_2nd_1p48.dat +0 -0
  324. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/__init__.py +0 -0
  325. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/apex175p9.dat +0 -0
  326. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/11_Waves/coherentModePropagation.py +0 -0
  327. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/12_Multilayer/traceDMM.py +0 -0
  328. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/13_Warping/__init__.py +0 -0
  329. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/13_Warping/mock_surface.dat +0 -0
  330. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/15_XRD/P02_PD.xml +0 -0
  331. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/15_XRD/_images/rings_on_detector.png +0 -0
  332. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/15_XRD/xrd_mono.py +0 -0
  333. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/16_ParametricOptimization/16.1_autoOptimization_detuning.py +0 -0
  334. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/1crystal.xml +0 -0
  335. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/4crystals.xml +0 -0
  336. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/BioXAS_Main.xml +0 -0
  337. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_glow.png +0 -0
  338. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p01.png +0 -0
  339. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p02.png +0 -0
  340. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03a.png +0 -0
  341. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03b.png +0 -0
  342. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03c.png +0 -0
  343. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/ex03_p03d.png +0 -0
  344. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp01_glow.png +0 -0
  345. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp01_p01.png +0 -0
  346. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp02_glow.png +0 -0
  347. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp02_p01.png +0 -0
  348. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp02_p02.png +0 -0
  349. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_glow.png +0 -0
  350. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p01.png +0 -0
  351. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p02.png +0 -0
  352. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p03.png +0 -0
  353. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/_images/exp04_p04.png +0 -0
  354. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/lens1.xml +0 -0
  355. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/lens3.xml +0 -0
  356. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/testAlignment.xml +0 -0
  357. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/_QookBeamlines/testGrating.xml +0 -0
  358. {xrt-1.5.0 → xrt-1.6.1}/examples/withRaycing/__init__.py +0 -0
  359. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/01_filters.py +0 -0
  360. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/02_VCM_stripes.py +0 -0
  361. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/__init__.py +0 -0
  362. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/CLAESS01-norefl.ws +0 -0
  363. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/CVDdiamond.dat +0 -0
  364. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Pt_refl.dat +0 -0
  365. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Rh_refl.dat +0 -0
  366. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Si111.rc +0 -0
  367. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Si311.rc +0 -0
  368. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/Si_refl.dat +0 -0
  369. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/optax.01 +0 -0
  370. {xrt-1.5.0/examples/withShadow/03 → xrt-1.6.1/examples/withShadow/00_02}/tmp0/shadow-source.bat +0 -0
  371. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/shadow-source.sh +0 -0
  372. {xrt-1.5.0/examples/withShadow/03 → xrt-1.6.1/examples/withShadow/00_02}/tmp0/shadow-trace.bat +0 -0
  373. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/shadow-trace.sh +0 -0
  374. /xrt-1.5.0/examples/withShadow/04_06/tmp0/shadow-trace.bat → /xrt-1.6.1/examples/withShadow/00_02/tmp0/shadowvui.bat +0 -0
  375. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/start.01 +0 -0
  376. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/systemfile.dat +0 -0
  377. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_bragg_tmp.inp +0 -0
  378. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_env_file.inp +0 -0
  379. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_epath_tmp.inp +0 -0
  380. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_nphoton_tmp.inp +0 -0
  381. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xsh_prerefl_tmp.inp +0 -0
  382. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/00_02/tmp0/xshwig.par +0 -0
  383. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/03_DCM_energy.py +0 -0
  384. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/__init__.py +0 -0
  385. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/CLAESS-noVFM.ws +0 -0
  386. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/CVDdiamond.dat +0 -0
  387. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/Rh_refl.dat +0 -0
  388. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/Si111.rc +0 -0
  389. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/Si311.rc +0 -0
  390. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/effic.01 +0 -0
  391. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/effic.02 +0 -0
  392. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/effic.03 +0 -0
  393. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.00 +0 -0
  394. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.01 +0 -0
  395. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.02 +0 -0
  396. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/end.03 +0 -0
  397. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/error_source.log +0 -0
  398. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/optax.01 +0 -0
  399. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/optax.02 +0 -0
  400. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/optax.03 +0 -0
  401. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/output_source.log +0 -0
  402. {xrt-1.5.0/examples/withShadow/04_06 → xrt-1.6.1/examples/withShadow/03}/tmp0/shadow-source.bat +0 -0
  403. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/shadow-source.sh +0 -0
  404. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/shadow-trace.sh +0 -0
  405. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.00 +0 -0
  406. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.01 +0 -0
  407. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.02 +0 -0
  408. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start.03 +0 -0
  409. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/start_old.02 +0 -0
  410. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/systemfile.dat +0 -0
  411. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_env_file.inp +0 -0
  412. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_epath_tmp.inp +0 -0
  413. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_input_source_tmp.inp +0 -0
  414. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_mirinfo_tmp.inp +0 -0
  415. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_mirinfo_tmp.out +0 -0
  416. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xsh_nphoton_tmp.inp +0 -0
  417. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/03/tmp0/xshwig.par +0 -0
  418. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/04_dE_VCM_bending.py +0 -0
  419. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/05_VFM_bending.py +0 -0
  420. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/06_mirrors_pitch.py +0 -0
  421. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/__init__.py +0 -0
  422. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/CLAESS.ws +0 -0
  423. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/CVDdiamond.dat +0 -0
  424. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/Rh_refl.dat +0 -0
  425. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/Si111.rc +0 -0
  426. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.01 +0 -0
  427. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.02 +0 -0
  428. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.03 +0 -0
  429. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/effic.04 +0 -0
  430. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.00 +0 -0
  431. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.01 +0 -0
  432. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.02 +0 -0
  433. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.03 +0 -0
  434. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/end.04 +0 -0
  435. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.01 +0 -0
  436. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.02 +0 -0
  437. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.03 +0 -0
  438. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/optax.04 +0 -0
  439. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/shadow-source.sh +0 -0
  440. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/shadow-trace.sh +0 -0
  441. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.00 +0 -0
  442. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.01 +0 -0
  443. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.02 +0 -0
  444. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.03 +0 -0
  445. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start.04 +0 -0
  446. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/start_old.02 +0 -0
  447. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/systemfile.dat +0 -0
  448. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_env_file.inp +0 -0
  449. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_epath_tmp.inp +0 -0
  450. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_input_source_tmp.inp +0 -0
  451. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_mirinfo_tmp.inp +0 -0
  452. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_mirinfo_tmp.out +0 -0
  453. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xsh_nphoton_tmp.inp +0 -0
  454. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/04_06/tmp0/xshwig.par +0 -0
  455. {xrt-1.5.0 → xrt-1.6.1}/examples/withShadow/__init__.py +0 -0
  456. {xrt-1.5.0 → xrt-1.6.1}/setup.cfg +0 -0
  457. {xrt-1.5.0 → xrt-1.6.1}/tests/__init__.py +0 -0
  458. {xrt-1.5.0 → xrt-1.6.1}/tests/convexHull.py +0 -0
  459. {xrt-1.5.0 → xrt-1.6.1}/tests/kde.py +0 -0
  460. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/CSiO2_p_rough1.CXRO.gz +0 -0
  461. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/CSiO2_s_rough1.CXRO.gz +0 -0
  462. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/RhSi_p_rough2.CXRO.gz +0 -0
  463. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/RhSi_s_rough2.CXRO.gz +0 -0
  464. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/WSi300id0.CXRO.gz +0 -0
  465. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/CXRO-Reflectivities/WSi300id6.CXRO.gz +0 -0
  466. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/RemoteOpenCLCalculation/queue_device.py +0 -0
  467. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Ag_absCoeff.xcrosssec.gz +0 -0
  468. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Al_absCoeff.xcrosssec.gz +0 -0
  469. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Au_absCoeff.xcrosssec.gz +0 -0
  470. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Be_absCoeff.xcrosssec.gz +0 -0
  471. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Diamond60mum.xpower.gz +0 -0
  472. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Ni_absCoeff.xcrosssec.gz +0 -0
  473. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Pt4mrad_p.xf1f2.gz +0 -0
  474. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Pt4mrad_s.xf1f2.gz +0 -0
  475. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Rh2mrad_p.xf1f2.gz +0 -0
  476. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Rh2mrad_s.xf1f2.gz +0 -0
  477. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/ScCr_ML_reflection_REFLEC.npy +0 -0
  478. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/ScCr_ML_transmission_REFLEC.npy +0 -0
  479. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Si05deg_p.xf1f2.gz +0 -0
  480. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Si05deg_s.xf1f2.gz +0 -0
  481. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/SiO205deg_p.xf1f2.gz +0 -0
  482. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/SiO205deg_s.xf1f2.gz +0 -0
  483. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/W25A_10kev_p.mlayer.gz +0 -0
  484. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/W25A_10kev_s.mlayer.gz +0 -0
  485. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/WSi100_45A40.mlayer.gz +0 -0
  486. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/WSi45A04.mlayer.gz +0 -0
  487. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/WSi45_100A40.mlayer.gz +0 -0
  488. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/Zn_absCoeff.xcrosssec.gz +0 -0
  489. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-Reflectivities/mLScCr-spph.mlayer.gz +0 -0
  490. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_p.xc.gz +0 -0
  491. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_p.xin.gz +0 -0
  492. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_s.xc.gz +0 -0
  493. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_s.xin.gz +0 -0
  494. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_p.xc.gz +0 -0
  495. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_p.xin.gz +0 -0
  496. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_s.xc.gz +0 -0
  497. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_s.xin.gz +0 -0
  498. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_p.xc.gz +0 -0
  499. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_p.xin.gz +0 -0
  500. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_s.xc.gz +0 -0
  501. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_s.xin.gz +0 -0
  502. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_p.xc.gz +0 -0
  503. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_p.xin.gz +0 -0
  504. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_s.xc.gz +0 -0
  505. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_s.xin.gz +0 -0
  506. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_p.xc.gz +0 -0
  507. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_p.xin.gz +0 -0
  508. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_s.xc.gz +0 -0
  509. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_s.xin.gz +0 -0
  510. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_p.xc.gz +0 -0
  511. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_p.xin.gz +0 -0
  512. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_s.xc.gz +0 -0
  513. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_s.xin.gz +0 -0
  514. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_p.xc.gz +0 -0
  515. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_p.xin.gz +0 -0
  516. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_s.xc.gz +0 -0
  517. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_s.xin.gz +0 -0
  518. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_p.xc.gz +0 -0
  519. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_p.xin.gz +0 -0
  520. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_s.xc.gz +0 -0
  521. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_0_s.xin.gz +0 -0
  522. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_p.xc.gz +0 -0
  523. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_p.xin.gz +0 -0
  524. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_s.xc.gz +0 -0
  525. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi111_thick_5_s.xin.gz +0 -0
  526. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_p.xc.gz +0 -0
  527. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_p.xin.gz +0 -0
  528. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_s.xc.gz +0 -0
  529. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_s.xin.gz +0 -0
  530. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_p.xc.gz +0 -0
  531. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_p.xin.gz +0 -0
  532. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_s.xc.gz +0 -0
  533. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_s.xin.gz +0 -0
  534. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_p.xc.gz +0 -0
  535. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_p.xin.gz +0 -0
  536. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_s.xc.gz +0 -0
  537. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_s.xin.gz +0 -0
  538. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_p.xc.gz +0 -0
  539. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_p.xin.gz +0 -0
  540. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_s.xc.gz +0 -0
  541. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_s.xin.gz +0 -0
  542. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_p.xc.gz +0 -0
  543. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_p.xin.gz +0 -0
  544. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_s.xc.gz +0 -0
  545. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_s.xin.gz +0 -0
  546. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_p.xc.gz +0 -0
  547. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_p.xin.gz +0 -0
  548. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_s.xc.gz +0 -0
  549. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_s.xin.gz +0 -0
  550. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_p.xc.gz +0 -0
  551. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_p.xin.gz +0 -0
  552. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_s.xc.gz +0 -0
  553. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_s.xin.gz +0 -0
  554. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_p.xc.gz +0 -0
  555. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_p.xin.gz +0 -0
  556. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_s.xc.gz +0 -0
  557. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_0_s.xin.gz +0 -0
  558. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_p.xc.gz +0 -0
  559. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_p.xin.gz +0 -0
  560. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_s.xc.gz +0 -0
  561. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/bSi333_thick_5_s.xin.gz +0 -0
  562. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_p.xc.gz +0 -0
  563. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_p.xin.gz +0 -0
  564. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_s.xc.gz +0 -0
  565. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_s.xin.gz +0 -0
  566. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_p.xc.gz +0 -0
  567. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_p.xin.gz +0 -0
  568. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_s.xc.gz +0 -0
  569. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_s.xin.gz +0 -0
  570. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_p.xc.gz +0 -0
  571. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_p.xin.gz +0 -0
  572. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_s.xc.gz +0 -0
  573. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_s.xin.gz +0 -0
  574. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_p.xc.gz +0 -0
  575. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_p.xin.gz +0 -0
  576. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_s.xc.gz +0 -0
  577. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_s.xin.gz +0 -0
  578. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_p.xc.gz +0 -0
  579. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_p.xin.gz +0 -0
  580. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_s.xc.gz +0 -0
  581. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_s.xin.gz +0 -0
  582. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_p.xc.gz +0 -0
  583. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_p.xin.gz +0 -0
  584. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_s.xc.gz +0 -0
  585. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_s.xin.gz +0 -0
  586. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_p.xc.gz +0 -0
  587. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_p.xin.gz +0 -0
  588. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_s.xc.gz +0 -0
  589. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_s.xin.gz +0 -0
  590. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_p.xc.gz +0 -0
  591. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_p.xin.gz +0 -0
  592. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_s.xc.gz +0 -0
  593. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_s.xin.gz +0 -0
  594. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_p.xc.gz +0 -0
  595. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_p.xin.gz +0 -0
  596. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_s.xc.gz +0 -0
  597. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_s.xin.gz +0 -0
  598. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_p.xc.gz +0 -0
  599. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_p.xin.gz +0 -0
  600. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_s.xc.gz +0 -0
  601. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_s.xin.gz +0 -0
  602. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_p.xc.gz +0 -0
  603. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_p.xin.gz +0 -0
  604. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_s.xc.gz +0 -0
  605. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_s.xin.gz +0 -0
  606. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_p.xc.gz +0 -0
  607. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_p.xin.gz +0 -0
  608. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_s.xc.gz +0 -0
  609. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_s.xin.gz +0 -0
  610. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_03kev.xc.gz +0 -0
  611. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_08kev.xc.gz +0 -0
  612. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_17kev.xc.gz +0 -0
  613. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_p.xc.gz +0 -0
  614. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_p.xin.gz +0 -0
  615. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_s.xc.gz +0 -0
  616. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_s.xin.gz +0 -0
  617. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_p.xc.gz +0 -0
  618. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_p.xin.gz +0 -0
  619. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_s.xc.gz +0 -0
  620. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_s.xin.gz +0 -0
  621. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_p.xc.gz +0 -0
  622. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_p.xin.gz +0 -0
  623. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_s.xc.gz +0 -0
  624. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_s.xin.gz +0 -0
  625. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_p.xc.gz +0 -0
  626. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_p.xin.gz +0 -0
  627. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_s.xc.gz +0 -0
  628. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_s.xin.gz +0 -0
  629. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_p.xc.gz +0 -0
  630. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_p.xin.gz +0 -0
  631. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_s.xc.gz +0 -0
  632. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_s.xin.gz +0 -0
  633. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_p.xc.gz +0 -0
  634. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_p.xin.gz +0 -0
  635. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_s.xc.gz +0 -0
  636. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_s.xin.gz +0 -0
  637. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_p.xc.gz +0 -0
  638. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_p.xin.gz +0 -0
  639. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_s.xc.gz +0 -0
  640. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_s.xin.gz +0 -0
  641. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_p.xc.gz +0 -0
  642. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_p.xin.gz +0 -0
  643. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_s.xc.gz +0 -0
  644. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_s.xin.gz +0 -0
  645. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_p.xc.gz +0 -0
  646. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_p.xin.gz +0 -0
  647. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_s.xc.gz +0 -0
  648. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_s.xin.gz +0 -0
  649. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_p.xc.gz +0 -0
  650. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_p.xin.gz +0 -0
  651. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_s.xc.gz +0 -0
  652. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_s.xin.gz +0 -0
  653. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_p.xc.gz +0 -0
  654. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_p.xin.gz +0 -0
  655. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_s.xc.gz +0 -0
  656. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_s.xin.gz +0 -0
  657. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_p.xc.gz +0 -0
  658. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_p.xin.gz +0 -0
  659. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_s.xc.gz +0 -0
  660. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_s.xin.gz +0 -0
  661. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_p.xc.gz +0 -0
  662. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_p.xin.gz +0 -0
  663. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_s.xc.gz +0 -0
  664. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_s.xin.gz +0 -0
  665. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_p.xc.gz +0 -0
  666. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_p.xin.gz +0 -0
  667. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_s.xc.gz +0 -0
  668. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_s.xin.gz +0 -0
  669. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_p.xc.gz +0 -0
  670. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_p.xin.gz +0 -0
  671. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_s.xc.gz +0 -0
  672. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_s.xin.gz +0 -0
  673. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_p.xc.gz +0 -0
  674. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_p.xin.gz +0 -0
  675. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_s.xc.gz +0 -0
  676. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_s.xin.gz +0 -0
  677. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_p.xc.gz +0 -0
  678. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_p.xin.gz +0 -0
  679. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_s.xc.gz +0 -0
  680. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_s.xin.gz +0 -0
  681. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_p.xc.gz +0 -0
  682. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_p.xin.gz +0 -0
  683. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_s.xc.gz +0 -0
  684. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_s.xin.gz +0 -0
  685. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_p.xc.gz +0 -0
  686. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_p.xin.gz +0 -0
  687. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_s.xc.gz +0 -0
  688. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_s.xin.gz +0 -0
  689. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_p.xc.gz +0 -0
  690. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_p.xin.gz +0 -0
  691. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_s.xc.gz +0 -0
  692. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_s.xin.gz +0 -0
  693. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_p.xc.gz +0 -0
  694. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_p.xin.gz +0 -0
  695. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_s.xc.gz +0 -0
  696. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_s.xin.gz +0 -0
  697. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_p.xc.gz +0 -0
  698. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_p.xin.gz +0 -0
  699. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_s.xc.gz +0 -0
  700. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_s.xin.gz +0 -0
  701. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_p.xc.gz +0 -0
  702. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_p.xin.gz +0 -0
  703. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_s.xc.gz +0 -0
  704. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_s.xin.gz +0 -0
  705. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_p.xc.gz +0 -0
  706. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_p.xin.gz +0 -0
  707. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_s.xc.gz +0 -0
  708. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_s.xin.gz +0 -0
  709. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/__init__.py +0 -0
  710. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/info_opencl.py +0 -0
  711. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/misc/bessy.dc0.gz +0 -0
  712. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_coherent_fraction_stack.py +0 -0
  713. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_crystals.py +0 -0
  714. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_ellipse_2.py +0 -0
  715. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_multilayer_transmission.py +0 -0
  716. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_oes.py +0 -0
  717. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_polygonal_aperture.py +0 -0
  718. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_sources.py +0 -0
  719. {xrt-1.5.0 → xrt-1.6.1}/tests/raycing/test_undulator_size.py +0 -0
  720. {xrt-1.5.0/tests/speed → xrt-1.6.1/xrt/backends}/__init__.py +0 -0
  721. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/dummy.py +0 -0
  722. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/OE.cl +0 -0
  723. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/data/AtomicData.dat +0 -0
  724. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/data/f0_xop.dat +0 -0
  725. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/diffract.cl +0 -0
  726. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/physconsts.py +0 -0
  727. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/stages.py +0 -0
  728. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/undulator.cl +0 -0
  729. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/xrt_complex_double.cl +0 -0
  730. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/raycing/xrt_complex_float.cl +0 -0
  731. {xrt-1.5.0 → xrt-1.6.1}/xrt/backends/shadow.py +0 -0
  732. {xrt-1.5.0/xrt/backends → xrt-1.6.1/xrt/gui}/__init__.py +0 -0
  733. {xrt-1.5.0/xrt/gui → xrt-1.6.1/xrt/gui/commons}/__init__.py +0 -0
  734. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/1-LEG_profile-adhoc.png +0 -0
  735. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/1-LEG_profile-default.png +0 -0
  736. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ePos=0.png +0 -0
  737. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ePos=1.png +0 -0
  738. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ePos=2.png +0 -0
  739. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_glow.png +0 -0
  740. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p01.png +0 -0
  741. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p02.png +0 -0
  742. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03a.png +0 -0
  743. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03b.png +0 -0
  744. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03c.png +0 -0
  745. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/ex03_p03d.png +0 -0
  746. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/filterFootprint2_I400mum.png +0 -0
  747. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/filterFootprint2_I400mum_norm1.png +0 -0
  748. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/filterFootprint2_I400mum_norm2.png +0 -0
  749. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=0_negative=0.png +0 -0
  750. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=0_negative=1.png +0 -0
  751. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=1_negative=0.png +0 -0
  752. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/invertColorMap=1_negative=1.png +0 -0
  753. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/negative=1+fullNegative.png +0 -0
  754. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/offset0.png +0 -0
  755. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/offset5000.png +0 -0
  756. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/outline00.png +0 -0
  757. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/outline05.png +0 -0
  758. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/outline10.png +0 -0
  759. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookSplash2.gif +0 -0
  760. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor01.png +0 -0
  761. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor02.png +0 -0
  762. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor03.png +0 -0
  763. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor04.png +0 -0
  764. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor05.png +0 -0
  765. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor06.png +0 -0
  766. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor07.png +0 -0
  767. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor08.png +0 -0
  768. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor09.png +0 -0
  769. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor10.png +0 -0
  770. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_images/qookTutor11.png +0 -0
  771. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/layout.html +0 -0
  772. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/page.html +0 -0
  773. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/static/default.css_t +0 -0
  774. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/static/math_config_win32.js +0 -0
  775. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/static/utils.js +0 -0
  776. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/_themes/qook/theme.conf +0 -0
  777. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/conf.py +0 -0
  778. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/commons/gl.py +0 -0
  779. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtGlow/_icons/icon-GLow.ico +0 -0
  780. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/GPU4.png +0 -0
  781. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add1.png +0 -0
  782. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add2.png +0 -0
  783. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add3.png +0 -0
  784. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add4.png +0 -0
  785. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add5.png +0 -0
  786. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/add6.png +0 -0
  787. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/dialog-information.png +0 -0
  788. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/dialog-question.png +0 -0
  789. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/eyeglasses7_128.png +0 -0
  790. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/filenew.png +0 -0
  791. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/fileopen.png +0 -0
  792. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/filesave.png +0 -0
  793. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/filesaveas.png +0 -0
  794. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/home.png +0 -0
  795. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/index.txt +0 -0
  796. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/light_bulb.png +0 -0
  797. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/logo-xrtQt.png +0 -0
  798. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/pythonscript.png +0 -0
  799. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/pythonscriptsave.png +0 -0
  800. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/pythonscriptsaveas.png +0 -0
  801. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/readme.png +0 -0
  802. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/run.png +0 -0
  803. {xrt-1.5.0 → xrt-1.6.1}/xrt/gui/xrtQook/_icons/xrQt1.ico +0 -0
  804. {xrt-1.5.0 → xrt-1.6.1}/xrt/kde.py +0 -0
  805. {xrt-1.5.0 → xrt-1.6.1}/xrt/xrt_logo.ico +0 -0
  806. {xrt-1.5.0 → xrt-1.6.1}/xrt.egg-info/dependency_links.txt +0 -0
  807. {xrt-1.5.0 → xrt-1.6.1}/xrt.egg-info/not-zip-safe +0 -0
  808. {xrt-1.5.0 → xrt-1.6.1}/xrt.egg-info/top_level.txt +0 -0
@@ -0,0 +1,906 @@
1
+ # -*- coding: utf-8 -*-
2
+ from __future__ import division, print_function
3
+ import xrt.backends.raycing.myopencl as mcl
4
+ import xrt.backends.raycing as raycing
5
+ from scipy.integrate import ode
6
+ from .ttcrystal import TTcrystal
7
+ from .quantity import Quantity
8
+ from .ttscan import TTscan
9
+ import matplotlib.pyplot as plt
10
+ import multiprocessing as multiprocess
11
+ import numpy as np
12
+ import time
13
+ # import xraylib
14
+ import sys
15
+ sys.path.append(r"../../../")
16
+
17
+
18
+ class TakagiTaupin:
19
+
20
+ '''
21
+ The main class of the pyTTE package to calculate the 1D Takagi-Taupin
22
+ curves of bent crystals.
23
+
24
+ Parameters
25
+ ----------
26
+ TTcrystal_object : TTcrystal or str
27
+ An existing TTcrystal instance for crystal parameters or a path to
28
+ a file where they are defined. For any other types the crystal
29
+ parameters are not set.
30
+
31
+ TTscan_object : TTscan or str
32
+ An existing TTscan instance for scan parameters or a path to a file
33
+ where they are defined. For any other types the scan parameters are
34
+ not set.
35
+
36
+ Attributes
37
+ ----------
38
+ crystal_object : TTcrystal
39
+ Contains the crystal and deformation parameters
40
+
41
+ scan_object : TTscan
42
+ Contains the scan parameters and the solver settings
43
+
44
+ solution : dict
45
+ Stores the result of the TakagiTaupin.run(). Has the following keys:
46
+
47
+ scan : Quantity of type energy or angle
48
+ The scanned energy or angle points.
49
+
50
+ beta : Numpy array
51
+ The scanned points given in terms of deviation from the
52
+ kinematical Bragg condition i.e.
53
+ beta = h*(sin theta - lambda/2*d_h)
54
+
55
+ bragg_energy : Quantity of type energy
56
+ Energy of incident photons at beta = 0
57
+
58
+ bragg_angle : Quantity of type angle
59
+ Angle between the incident beam and the diffraction planes
60
+ at beta = 0
61
+
62
+ geometry : str
63
+ Either 'bragg' for reflection geometry or 'laue' for
64
+ transmission geometry
65
+
66
+ reflectivity : Numpy array (present if geometry == 'bragg')
67
+ The reflectivity of the crystal for each scan point.
68
+
69
+ transmission : Numpy array (present if geometry == 'bragg')
70
+ The transmission though the crystal for each scan point
71
+
72
+ diffraction : Numpy array (present if geometry == 'laue')
73
+ The diffracted beam for each scan point
74
+
75
+ forward_diffraction : Numpy array (present if geometry == 'laue')
76
+ The forward diffracted (transmitted beam) for each scan point.
77
+
78
+ output_type : str
79
+ 'intensity' if output reflectivity/diffractivity/transmission
80
+ are given in terms of wave intensities or 'photon_flux' if
81
+ in terms of photon fluxes.
82
+
83
+ crystal_parameters : str
84
+ String representation of self.crystal_object
85
+
86
+ scan_parameters : str
87
+ String representation of self.scan_object
88
+
89
+ solver_output_log : str
90
+ Logged stdout output of self.run().
91
+
92
+ '''
93
+
94
+ ##############################
95
+ # Methods for initialization #
96
+ ##############################
97
+
98
+ def __init__(self, TTcrystal_object=None, TTscan_object=None):
99
+
100
+ self.crystal_object = None
101
+ self.scan_object = None
102
+ self.solution = None
103
+
104
+ self.set_crystal(TTcrystal_object)
105
+ self.set_scan(TTscan_object)
106
+
107
+ def set_crystal(self, TTcrystal_object):
108
+ '''
109
+ Sets the crystal parameters for the scan instance. Any existing
110
+ solutions are cleared.
111
+
112
+ Parameters
113
+ ----------
114
+
115
+ TTcrystal_object : TTcrystal or str
116
+ An existing TTcrystal instance for crystal parameters or a path to
117
+ a file where they are defined. For any other types the crystal
118
+ parameters are not set and the solution is not cleared.
119
+ '''
120
+
121
+ if isinstance(TTcrystal_object, TTcrystal):
122
+ self.crystal_object = TTcrystal_object
123
+ self.solution = None
124
+ elif type(TTcrystal_object) == str:
125
+ try:
126
+ self.crystal_object = TTcrystal(TTcrystal_object)
127
+ self.solution = None
128
+ except Exception as e:
129
+ print(e)
130
+ print('Error initializing TTcrystal from file! '
131
+ 'Crystal not set.')
132
+ else:
133
+ print('ERROR! Not an instance of TTcrystal or None! '
134
+ 'Crystal not set.')
135
+
136
+ def set_scan(self, TTscan_object):
137
+ '''
138
+ Sets the crystal parameters for the scan instance. Any existing
139
+ solutions are cleared.
140
+
141
+ Parameters
142
+ ----------
143
+
144
+ TTscan_object : TTscan or str
145
+ An existing TTscan instance for scan parameters or a path to a file
146
+ where they are defined. For any other types the scan parameters are
147
+ not set and the solution is not cleared.
148
+ '''
149
+
150
+ if isinstance(TTscan_object, TTscan):
151
+ self.scan_object = TTscan_object
152
+ self.solution = None
153
+ elif type(TTscan_object) == str:
154
+ try:
155
+ self.scan_object = TTscan(TTscan_object)
156
+ self.solution = None
157
+ except Exception as e:
158
+ print(e)
159
+ print('Error initializing TTscan from file! Scan not set.')
160
+ else:
161
+ print('ERROR! Not an instance of TTscan or None! Scan not set.')
162
+
163
+ ####################################
164
+ # Auxiliary methods for TT solving #
165
+ ####################################
166
+
167
+ @staticmethod
168
+ def calculate_structure_factors(crystal, hkl, energy, debye_waller):
169
+ '''
170
+ Calculates the structure factors F_0 F_h and F_bar{h}.
171
+
172
+ Parameters
173
+ ----------
174
+
175
+ crystal : dict
176
+ Dictionary returned by xraylib's Crystal_GetCrystal()
177
+
178
+ hkl : list of ints
179
+ 3 element list containing the Miller indeces of the reflection
180
+
181
+ energy : Quantity instance of type energy.
182
+ Energy of photons. energy.values be a single number or an array
183
+
184
+ debye_waller : float
185
+ The Debye-Waller factor
186
+ '''
187
+
188
+ energy_in_keV = energy.in_units('keV')
189
+
190
+ # preserve the original shape and reshape energy to 1d array
191
+ orig_shape = energy_in_keV.shape
192
+ energy_in_keV = energy_in_keV.reshape(-1)
193
+
194
+ F0 = np.zeros(energy_in_keV.shape, dtype=np.complex128)
195
+ Fh = np.zeros(energy_in_keV.shape, dtype=np.complex128)
196
+ Fb = np.zeros(energy_in_keV.shape, dtype=np.complex128)
197
+
198
+ # for i in range(energy_in_keV.size):
199
+ # F0[i] = xraylib.Crystal_F_H_StructureFactor(
200
+ # crystal, energy_in_keV[i], 0, 0, 0, 1.0, 1.0)
201
+ # Fh[i] = xraylib.Crystal_F_H_StructureFactor(
202
+ # crystal, energy_in_keV[i], hkl[0], hkl[1], hkl[2],
203
+ # debye_waller, 1.0)
204
+ # Fb[i] = xraylib.Crystal_F_H_StructureFactor(
205
+ # crystal, energy_in_keV[i], -hkl[0], -hkl[1], -hkl[2],
206
+ # debye_waller, 1.0)
207
+ d = crystal.d
208
+ F0, Fh, Fb = crystal.get_F_chi(energy_in_keV*1000,
209
+ 0.5/d)[:3]
210
+
211
+ return F0.reshape(orig_shape), Fh.reshape(orig_shape), \
212
+ Fb.reshape(orig_shape)
213
+
214
+ def run(self):
215
+ '''
216
+ Calculates the 1D Takagi-Taupin curve for given TTcrystal and TTscan
217
+ given to the instance. Stores the result and metadata in self.solution.
218
+
219
+ Returns
220
+ -------
221
+
222
+ #In the Bragg (reflection) geometry#
223
+
224
+ scan.value : 1D Numpy array
225
+
226
+ reflectivity : 1D Numpy array
227
+
228
+ transmission : 1D Numpy array
229
+
230
+
231
+ #In the Laue (transmission) geometry#
232
+
233
+ scan.value : 1D Numpy array
234
+
235
+ diffraction : 1D Numpy array
236
+
237
+ forward_diffraction : 1D Numpy array
238
+
239
+ '''
240
+
241
+ # Check that the required scan parameters are in place
242
+ if self.crystal_object is None:
243
+ print('ERROR! No crystal data found, TTcrystal object needed.')
244
+ return
245
+ if self.scan_object is None:
246
+ print('ERROR! No scan data found, TTscan object needed.')
247
+ return
248
+
249
+ # define a function for logging the input
250
+ def print_and_log(printable, log_string):
251
+ '''
252
+ Prints the input in stdout and appends it to log_string.
253
+
254
+ Parameters
255
+ ----------
256
+ printable
257
+ Object to be printed
258
+ log_string
259
+ String to append the stdout to.
260
+
261
+ Returns
262
+ -------
263
+ new_log_string
264
+ String that was printed on the screen appended to log_string
265
+
266
+ '''
267
+ print_str = str(printable)
268
+ print(print_str)
269
+ return log_string + print_str + '\n'
270
+
271
+ output_log = ''
272
+ verbose_output = True
273
+
274
+ startmsg = '\nSolving the 1D Takagi-Taupin equation for '\
275
+ + self.crystal_object.crystal_data['name']\
276
+ + '(' + str(self.crystal_object.hkl[0]) + ','\
277
+ + str(self.crystal_object.hkl[1]) + ','\
278
+ + str(self.crystal_object.hkl[2]) + ')'\
279
+ + ' reflection'
280
+
281
+ output_log = print_and_log(startmsg, output_log)
282
+ output_log = print_and_log('-' * len(startmsg) + '\n', output_log)
283
+
284
+ ################################################
285
+ # Calculate the constants needed by TT-equations#
286
+ ################################################
287
+
288
+ # Introduction of shorthands
289
+ # crystal = self.crystal_object.crystal_data
290
+ hkl = self.crystal_object.hkl
291
+ phi = self.crystal_object.asymmetry
292
+ thickness = self.crystal_object.thickness
293
+
294
+ debye_waller = self.crystal_object.debye_waller
295
+ displacement_jacobian = self.crystal_object.displacement_jacobian
296
+ djparams = None if self.crystal_object.Rx.value == float(
297
+ 'inf') else self.crystal_object.djparams
298
+
299
+ scan_type = self.scan_object.scantype
300
+ scan_constant = self.scan_object.constant
301
+ scan_points = self.scan_object.scan
302
+ polarization = self.scan_object.polarization
303
+
304
+ # Planck's constant * speed of light
305
+ hc = Quantity(1.23984193, 'eV um')
306
+ # d = Quantity(xraylib.Crystal_dSpacing(crystal,*hkl),'A') #spacing of Bragg planes
307
+ d = Quantity(self.crystal_object.xrt_crystal.d, 'A')
308
+ # V = Quantity(crystal['volume'],'A^3') #volume of unit cell
309
+ V = Quantity(self.crystal_object.xrt_crystal.get_a()**3, 'A^3')
310
+ # print("d", d, "V", V)
311
+ r_e = Quantity(2.81794033e-15, 'm') # classical electron radius
312
+ h = 2*np.pi/d # length of reciprocal lattice vector
313
+
314
+ # Energies and angles corresponding to the constant parameter and its
315
+ # counterpart given by Bragg's law
316
+ if scan_type == 'energy':
317
+ theta_bragg = scan_constant
318
+ energy_bragg = hc/(2*d*np.sin(theta_bragg.in_units('rad')))
319
+ else:
320
+ energy_bragg = scan_constant
321
+ if not (hc/(2*d*energy_bragg)).in_units('1') > 1:
322
+ theta_bragg = Quantity(
323
+ np.arcsin((hc/(2*d*energy_bragg)).in_units('1')), 'rad')
324
+ else:
325
+ output_log = print_and_log(
326
+ 'Given energy below the backscattering energy!',
327
+ output_log)
328
+ output_log = print_and_log(
329
+ 'Setting theta to 90 deg.', output_log)
330
+
331
+ theta_bragg = Quantity(90, 'deg')
332
+
333
+ if scan_points[0] == 'automatic':
334
+
335
+ ################################################
336
+ # Estimate the optimal scan limits automatically#
337
+ ################################################
338
+
339
+ F0, Fh, Fb = TakagiTaupin.calculate_structure_factors(
340
+ self.crystal_object.xrt_crystal, hkl, energy_bragg,
341
+ debye_waller)
342
+
343
+ # conversion factor from crystal structure factor to susceptibility
344
+ cte = -(r_e * (hc/energy_bragg)**2/(np.pi * V)).in_units('1')
345
+
346
+ chi0 = np.conj(cte*F0)
347
+ chih = np.conj(cte*Fh)
348
+ chib = np.conj(cte*Fb)
349
+
350
+ gamma0 = 1/np.sin((theta_bragg+phi).in_units('rad'))
351
+ gammah = 1/np.sin((theta_bragg-phi).in_units('rad'))
352
+
353
+ # Find the (rough) maximum and minimum of the deformation term
354
+ if displacement_jacobian is not None:
355
+ z = np.linspace(0, -thickness.in_units('um'), 1000)
356
+ x = -z*np.cos((theta_bragg+phi).in_units('rad')) / \
357
+ np.sin((theta_bragg+phi).in_units('rad'))
358
+
359
+ sin_phi = np.sin(phi.in_units('rad'))
360
+ cos_phi = np.cos(phi.in_units('rad'))
361
+ sin_alphah = np.sin((theta_bragg-phi).in_units('rad'))
362
+ cos_alphah = np.cos((theta_bragg-phi).in_units('rad'))
363
+
364
+ u_jac = displacement_jacobian(x[0], z[0])
365
+ h_um = h.in_units('um^-1')
366
+
367
+ def_min = h_um*(sin_phi*cos_alphah*u_jac[0][0]
368
+ + sin_phi*sin_alphah*u_jac[0][1]
369
+ + cos_phi*cos_alphah*u_jac[1][0]
370
+ + cos_phi*sin_alphah*u_jac[1][1])
371
+ def_max = def_min
372
+
373
+ for i in range(1, z.size):
374
+ u_jac = displacement_jacobian(x[i], z[i])
375
+
376
+ deform = h_um*(sin_phi*cos_alphah*u_jac[0][0]
377
+ + sin_phi*sin_alphah*u_jac[0][1]
378
+ + cos_phi*cos_alphah*u_jac[1][0]
379
+ + cos_phi*sin_alphah*u_jac[1][1])
380
+ if deform < def_min:
381
+ def_min = deform
382
+ if deform > def_max:
383
+ def_max = deform
384
+ else:
385
+ def_min = 0.0
386
+ def_max = 0.0
387
+
388
+ # expand the range by the backscatter Darwin width
389
+ if np.sin(2*theta_bragg.in_units('rad')) > \
390
+ np.sqrt(2*np.sqrt(np.abs(chih*chib))):
391
+ darwin_width_term = 2*np.sqrt(np.abs(chih*chib))/np.sin(
392
+ 2*theta_bragg.in_units('rad'))*h*np.cos(
393
+ theta_bragg.in_units('rad'))
394
+ else:
395
+ darwin_width_term = np.sqrt(
396
+ 2*np.sqrt(np.abs(chih*chib)))*h*np.cos(
397
+ theta_bragg.in_units('rad'))
398
+
399
+ k_bragg = 2*np.pi*energy_bragg/hc
400
+ b_const_term = -0.5*k_bragg*(1 + gamma0/gammah)*np.real(chi0)
401
+
402
+ beta_min = b_const_term - \
403
+ Quantity(def_max, 'um^-1') - 2*darwin_width_term
404
+ beta_max = b_const_term - \
405
+ Quantity(def_min, 'um^-1') + 2*darwin_width_term
406
+
407
+ # convert beta limits to scan vectors
408
+ if scan_type == 'energy':
409
+ energy_min = beta_min*energy_bragg / \
410
+ (h*np.sin(theta_bragg.in_units('rad')))
411
+ energy_max = beta_max*energy_bragg / \
412
+ (h*np.sin(theta_bragg.in_units('rad')))
413
+
414
+ output_log = print_and_log(
415
+ 'Using automatically determined scan limits:', output_log)
416
+ output_log = print_and_log(
417
+ 'E min: ' + str(energy_min.in_units('meV')) + ' meV',
418
+ output_log)
419
+ output_log = print_and_log(
420
+ 'E max: ' + str(energy_max.in_units('meV')) + ' meV\n',
421
+ output_log)
422
+
423
+ scan = Quantity(np.linspace(energy_min.in_units(
424
+ 'meV'), energy_max.in_units('meV'), scan_points[1]), 'meV')
425
+ scan_steps = scan.value.size
426
+ scan_shape = scan.value.shape
427
+ else:
428
+ sin_th_min = np.sin(theta_bragg.in_units(
429
+ 'rad'))+(beta_min/h).in_units('1')
430
+ sin_th_max = np.sin(theta_bragg.in_units(
431
+ 'rad'))+(beta_max/h).in_units('1')
432
+
433
+ theta_min = Quantity(np.arcsin(sin_th_min), 'rad')-theta_bragg
434
+
435
+ # This avoids taking arcsin of values over 1
436
+ if sin_th_max > 1:
437
+ # Mirror the theta range w.t.r. 90 deg
438
+ theta_max = Quantity(
439
+ np.pi-np.arcsin(sin_th_min), 'rad')-theta_bragg
440
+ else:
441
+ theta_max = Quantity(
442
+ np.arcsin(sin_th_max), 'rad')-theta_bragg
443
+
444
+ output_log = print_and_log(
445
+ 'Using automatically determined scan limits:', output_log)
446
+ output_log = print_and_log(
447
+ 'Theta min: ' + str(theta_min.in_units('urad')) + ' urad',
448
+ output_log)
449
+ output_log = print_and_log(
450
+ 'Theta max: ' + str(theta_max.in_units('urad')) + ' urad\n',
451
+ output_log)
452
+
453
+ scan = Quantity(np.linspace(
454
+ theta_min.in_units('urad'), theta_max.in_units('urad'),
455
+ scan_points[1]), 'urad')
456
+ scan_steps = scan.value.size
457
+ scan_shape = scan.value.shape
458
+ else:
459
+ # Use the scan limits given by the user
460
+ scan = scan_points[1]
461
+ scan_steps = scan.value.size
462
+ scan_shape = scan.value.shape
463
+
464
+ # Convert relative scans to absolute energies or incidence angles
465
+ if scan_type == 'energy':
466
+ theta = theta_bragg
467
+ energy = energy_bragg + scan
468
+ else:
469
+ energy = energy_bragg
470
+ theta = theta_bragg + scan
471
+
472
+ # Wavelength and wavenumber
473
+ wavelength = hc/energy
474
+ k = 2*np.pi/wavelength
475
+
476
+ # Incidence and exit angles
477
+ alpha0 = theta+phi
478
+ alphah = theta-phi
479
+
480
+ # Direction parameters
481
+ gamma0 = np.ones(scan_shape)/np.sin(alpha0.in_units('rad'))
482
+ gammah = np.ones(scan_shape)/np.sin(alphah.in_units('rad'))
483
+
484
+ if np.mean(gammah) < 0:
485
+ output_log = print_and_log(
486
+ 'The direction of diffraction in to the crystal -> Laue case',
487
+ output_log)
488
+ geometry = 'laue'
489
+ else:
490
+ output_log = print_and_log(
491
+ 'The direction of diffraction out of the crystal -> Bragg case',
492
+ output_log)
493
+ geometry = 'bragg'
494
+
495
+ # Polarization factor
496
+ if polarization == 'sigma':
497
+ C = 1
498
+ output_log = print_and_log(
499
+ 'Solving for sigma-polarization', output_log)
500
+ else:
501
+ C = np.cos(2*theta.in_units('rad'))
502
+ output_log = print_and_log(
503
+ 'Solving for pi-polarization', output_log)
504
+ if verbose_output:
505
+ output_log = print_and_log(
506
+ 'Asymmetry angle : ' + str(phi.in_units('deg')) + ' deg',
507
+ output_log)
508
+ output_log = print_and_log(
509
+ 'Wavelength : ' + str((hc/energy_bragg).in_units('nm')) +
510
+ ' nm', output_log)
511
+ output_log = print_and_log(
512
+ 'Energy : ' + str(energy_bragg.in_units('keV')) +
513
+ ' keV', output_log)
514
+ output_log = print_and_log(
515
+ 'Bragg angle : ' + str(theta_bragg.in_units('deg')) +
516
+ ' deg', output_log)
517
+ output_log = print_and_log(
518
+ 'Incidence angle : ' + str((theta_bragg+phi).in_units('deg')) +
519
+ ' deg', output_log)
520
+ output_log = print_and_log(
521
+ 'Exit angle : ' + str((theta_bragg-phi).in_units('deg')) +
522
+ ' deg\n', output_log)
523
+
524
+ # Compute susceptibilities
525
+ F0, Fh, Fb = TakagiTaupin.calculate_structure_factors(
526
+ self.crystal_object.xrt_crystal, hkl, energy, debye_waller)
527
+
528
+ # conversion factor from crystal structure factor to susceptibility
529
+ cte = -(r_e * (hc/energy_bragg)**2/(np.pi * V)).in_units('1')
530
+
531
+ chi0 = np.conj(cte*F0)
532
+ chih = np.conj(cte*Fh)
533
+ chib = np.conj(cte*Fb)
534
+ if verbose_output:
535
+ output_log = print_and_log('Structure factors', output_log)
536
+ output_log = print_and_log(
537
+ 'F0 : ' + str(np.mean(F0)), output_log)
538
+ output_log = print_and_log(
539
+ 'Fh : ' + str(np.mean(Fh)), output_log)
540
+ output_log = print_and_log(
541
+ 'Fb : ' + str(np.mean(Fb))+'\n', output_log)
542
+ output_log = print_and_log('Susceptibilities', output_log)
543
+ output_log = print_and_log(
544
+ 'chi0 : ' + str(np.mean(chi0)), output_log)
545
+ output_log = print_and_log(
546
+ 'chih : ' + str(np.mean(chih)), output_log)
547
+ output_log = print_and_log(
548
+ 'chib : ' + str(np.mean(chib))+'\n', output_log)
549
+ output_log = print_and_log(
550
+ '(Mean F and chi values for energy scan)\n', output_log)
551
+
552
+ ######################
553
+ # COEFFICIENTS FOR TTE#
554
+ ######################
555
+
556
+ # For solving ksi = Dh/D0
557
+ c0 = 0.5*k*chi0*(gamma0+gammah)*np.ones(scan_shape)
558
+ ch = 0.5*k*C*chih*gammah*np.ones(scan_shape)
559
+ cb = 0.5*k*C*chib*gamma0*np.ones(scan_shape)
560
+
561
+ # For solving Y = D0
562
+ g0 = 0.5*k*chi0*gamma0*np.ones(scan_shape)
563
+ gb = 0.5*k*C*chib*gamma0*np.ones(scan_shape)
564
+
565
+ # Deviation from the kinematical Bragg condition for unstrained crystal
566
+ # To avoid catastrophic cancellation, the terms in the subtraction are
567
+ # explicitly casted to 64 bit floats.
568
+ beta_term1 = np.sin(theta.in_units('rad')).astype(np.float64)
569
+ beta_term2 = wavelength.in_units('nm').astype(np.float64)
570
+ beta_term3 = (2*d.in_units('nm')).astype(np.float64)
571
+
572
+ beta = h*gammah*(beta_term1 - beta_term2/beta_term3).astype(np.float64)
573
+
574
+ #############
575
+ # INTEGRATION#
576
+ #############
577
+
578
+ # Define ODEs and their Jacobians
579
+ if geometry == 'bragg':
580
+ output_log = print_and_log(
581
+ 'Transmission in the Bragg case not implemented!', output_log)
582
+ reflectivity = np.zeros(scan_shape)
583
+ transmission = -np.ones(scan_shape)
584
+ else:
585
+ forward_diffraction = np.zeros(scan_shape)
586
+ diffraction = np.zeros(scan_shape)
587
+
588
+ # Fix the length scale to microns for solving
589
+ c0 = c0.in_units('um^-1')
590
+ ch = ch.in_units('um^-1')
591
+ cb = cb.in_units('um^-1')
592
+ g0 = g0.in_units('um^-1')
593
+ gb = gb.in_units('um^-1')
594
+ beta = beta.in_units('um^-1')
595
+ h = h.in_units('um^-1')
596
+ thickness = thickness.in_units('um')
597
+
598
+ def integrate_single_scan_step(step):
599
+ global output_log
600
+ # local variables for speedup
601
+ c0_step = c0[step]
602
+ cb_step = cb[step]
603
+ ch_step = ch[step]
604
+ beta_step = beta[step]
605
+ g0_step = g0[step]
606
+ gb_step = gb[step]
607
+ gammah_step = gammah[step]
608
+
609
+ if djparams is not None:
610
+ coef1 = djparams[0]
611
+ coef2 = djparams[1]
612
+ invR1 = djparams[2]
613
+
614
+ # Define deformation term for bent crystal
615
+ if displacement_jacobian is not None:
616
+ # Precomputed sines and cosines
617
+ sin_phi = np.sin(phi.in_units('rad'))
618
+ cos_phi = np.cos(phi.in_units('rad'))
619
+
620
+ if scan_type == 'energy':
621
+ cot_alpha0 = np.cos(alpha0.in_units(
622
+ 'rad'))/np.sin(alpha0.in_units('rad'))
623
+ sin_alphah = np.sin(alphah.in_units('rad'))
624
+ cos_alphah = np.cos(alphah.in_units('rad'))
625
+ else:
626
+ cot_alpha0 = np.cos(alpha0.in_units(
627
+ 'rad')[step])/np.sin(alpha0.in_units('rad')[step])
628
+ sin_alphah = np.sin(alphah.in_units('rad')[step])
629
+ cos_alphah = np.cos(alphah.in_units('rad')[step])
630
+
631
+ def strain_term(z):
632
+ x = -z*cot_alpha0
633
+ duh_dsh = h*(sin_phi*cos_alphah*(-invR1)*(z+0.5*thickness)
634
+ + sin_phi*sin_alphah *
635
+ (-invR1*x + coef2*(z+0.5*thickness))
636
+ + cos_phi*cos_alphah*invR1*x
637
+ + cos_phi*sin_alphah*coef1*(z+0.5*thickness)
638
+ )
639
+ return gammah_step*duh_dsh
640
+
641
+ def strain_term_remote(z):
642
+ x = -z*cot_alpha0
643
+ u_jac = displacement_jacobian(x, z)
644
+ duh_dsh = h*(sin_phi*cos_alphah*u_jac[0][0]
645
+ + sin_phi*sin_alphah*u_jac[0][1]
646
+ + cos_phi*cos_alphah*u_jac[1][0]
647
+ + cos_phi*sin_alphah*u_jac[1][1]
648
+ )
649
+ return gammah_step*duh_dsh
650
+ else:
651
+ # Non-bent crystal
652
+ def strain_term(z):
653
+ return 0
654
+
655
+ if geometry == 'bragg':
656
+ def ksiprime(z, ksi):
657
+ return 1j*(cb_step*ksi*ksi+(
658
+ c0_step+beta_step+strain_term(z))*ksi+ch_step)
659
+
660
+ def ksiprime_jac(z, ksi):
661
+ return 2j*cb_step*ksi+1j*(c0_step+beta_step+strain_term(z))
662
+
663
+ r = ode(ksiprime, ksiprime_jac)
664
+ else:
665
+ def TTE(z, Y):
666
+ return [1j*(cb_step*Y[0]*Y[0]+(
667
+ c0_step+beta_step+strain_term(z))*Y[0]+ch_step),
668
+ -1j*(g0_step+gb_step*Y[0])*Y[1]]
669
+
670
+ def TTE_jac(z, Y):
671
+ return [[2j*cb_step*Y[0]+1j*(
672
+ c0_step+beta_step+strain_term(z)), 0],
673
+ [-1j*gb_step*Y[1], -1j*(g0_step+gb_step*Y[0])]]
674
+
675
+ r = ode(TTE, TTE_jac)
676
+
677
+ r.set_integrator(
678
+ 'zvode', method='bdf', with_jacobian=True,
679
+ min_step=self.scan_object.integration_step.in_units('um'),
680
+ max_step=thickness, nsteps=2500000)
681
+
682
+ # Update the solving process
683
+ lock.acquire()
684
+ steps_calculated.value = steps_calculated.value + 1
685
+ if verbose_output:
686
+ sys.stdout.write('\rSolving...%0.2f%%' %
687
+ (100*(steps_calculated.value)/scan_steps,))
688
+ sys.stdout.flush()
689
+ lock.release()
690
+
691
+ if geometry == 'bragg':
692
+ if self.scan_object.start_depth is not None:
693
+ start_depth = self.scan_object.start_depth.in_units('um')
694
+ if start_depth > 0 or start_depth < -thickness:
695
+ output_log = print_and_log(
696
+ 'Warning! The given starting depth ' +
697
+ str(start_depth) +
698
+ 'um is outside the crystal!', output_log)
699
+ r.set_initial_value(0, start_depth)
700
+ else:
701
+ r.set_initial_value(0, -thickness)
702
+
703
+ res = r.integrate(0)
704
+
705
+ if self.scan_object.output_type == 'photon_flux':
706
+ reflectivity = np.abs(res[0])**2*gamma0[step]/gammah[step]
707
+ else:
708
+ reflectivity = np.abs(res[0])**2
709
+
710
+ transmission = -1 # Not implemented yet
711
+
712
+ return reflectivity, transmission, np.complex128(res)*np.sqrt(
713
+ np.abs(gamma0[step]/np.abs(gammah[step])))
714
+ else:
715
+ if self.scan_object.start_depth is not None:
716
+ output_log = print_and_log(
717
+ 'Warning! The alternative start depth is negleted '
718
+ 'in the Laue case.', output_log)
719
+ r.set_initial_value([0, 1], 0)
720
+ res = r.integrate(-thickness)
721
+ if self.scan_object.output_type == 'photon_flux':
722
+ diffraction = np.abs(
723
+ res[0]*res[1])**2*gamma0[step]/np.abs(gammah[step])
724
+ else:
725
+ diffraction = np.abs(res[0]*res[1])**2
726
+
727
+ forward_diffraction = np.abs(res[1])**2
728
+
729
+ return diffraction, forward_diffraction, np.complex128(
730
+ res[0]*res[1]*np.sqrt(
731
+ np.abs(gamma0[step]/np.abs(gammah[step]))))
732
+
733
+ n_cores = multiprocess.cpu_count()
734
+
735
+ output_log = print_and_log(
736
+ '\nCalculating the TT-curve using ' + str(n_cores) + ' cores.',
737
+ output_log)
738
+
739
+ # Solve the equation
740
+ # sys.stdout.write('Solving...0%')
741
+ sys.stdout.flush()
742
+ t0 = time.time()
743
+
744
+ def mp_init(l, v):
745
+ global lock
746
+ global steps_calculated
747
+ lock = l
748
+ steps_calculated = v
749
+
750
+ pool = multiprocess.Pool(n_cores, initializer=mp_init, initargs=(
751
+ multiprocess.Lock(), multiprocess.Value('i', 0)))
752
+ output = np.array(
753
+ pool.map(integrate_single_scan_step, range(scan_steps)))
754
+ pool.close()
755
+ pool.join()
756
+
757
+ sys.stdout.write('\r\nDone.\n')
758
+ sys.stdout.write(
759
+ '\r\nDone. Calculation time is {}s\n'.format(time.time()-t0))
760
+ sys.stdout.flush()
761
+
762
+ if geometry == 'bragg':
763
+ reflectivity = output[:, 0]
764
+ transmission = output[:, 1]
765
+ complex_amps = np.squeeze(np.array(output[:, 2]))
766
+ self.solution = {'scan': scan,
767
+ 'beta': beta,
768
+ 'bragg_energy': energy_bragg,
769
+ 'bragg_angle': theta_bragg,
770
+ 'geometry': 'bragg',
771
+ 'reflectivity': reflectivity,
772
+ 'transmission': transmission,
773
+ 'output_type': self.scan_object.output_type,
774
+ 'crystal_parameters': str(self.crystal_object),
775
+ 'scan_parameters': str(self.scan_object),
776
+ 'solver_output_log': output_log
777
+ }
778
+
779
+ return scan.value, reflectivity, transmission, complex_amps
780
+ else:
781
+ diffraction = output[:, 0]
782
+ forward_diffraction = output[:, 1]
783
+ complex_amps = np.squeeze(np.array(output[:, 2]))
784
+ self.solution = {'scan': scan,
785
+ 'beta': beta,
786
+ 'bragg_energy': energy_bragg,
787
+ 'bragg_angle': theta_bragg,
788
+ 'geometry': 'laue',
789
+ 'diffraction': diffraction,
790
+ 'forward_diffraction': forward_diffraction,
791
+ 'output_type': self.scan_object.output_type,
792
+ 'crystal_parameters': str(self.crystal_object),
793
+ 'scan_parameters': str(self.scan_object),
794
+ 'solver_output_log': output_log
795
+ }
796
+
797
+ return scan.value, diffraction, forward_diffraction, complex_amps
798
+
799
+ def plot(self):
800
+ '''
801
+ Plots the calculated solution
802
+ '''
803
+
804
+ if self.solution is None:
805
+ print(
806
+ 'No calculated Takagi-Taupin curves found! Call run() first!')
807
+ return
808
+
809
+ if self.solution['geometry'] == 'bragg':
810
+ plt.plot(self.solution['scan'].value,
811
+ self.solution['reflectivity'])
812
+ if Quantity._type2str(self.solution['scan'].unit) == 'energy':
813
+ plt.xlabel('Energy (' + self.solution['scan'].units() + ')')
814
+ else:
815
+ plt.xlabel('Angle (' + self.solution['scan'].units() + ')')
816
+
817
+ if self.solution['output_type'] == 'photon_flux':
818
+ plt.ylabel('Reflectivity in terms of photon flux')
819
+ else:
820
+ plt.ylabel('Reflectivity in terms of wave intensity')
821
+
822
+ plt.title('Takagi-Taupin solution in the Bragg case')
823
+ else:
824
+ plt.plot(self.solution['scan'].value,
825
+ self.solution['forward_diffraction'],
826
+ label='Forward-diffraction')
827
+ plt.plot(self.solution['scan'].value,
828
+ self.solution['diffraction'], label='Diffraction')
829
+
830
+ if Quantity._type2str(self.solution['scan'].unit) == 'energy':
831
+ plt.xlabel('Energy (' + self.solution['scan'].units() + ')')
832
+ else:
833
+ plt.xlabel('Angle (' + self.solution['scan'].units() + ')')
834
+
835
+ if self.solution['output_type'] == 'photon_flux':
836
+ plt.ylabel('Photon flux w.r.t incident')
837
+ else:
838
+ plt.ylabel('Intensity w.r.t incident')
839
+
840
+ plt.legend()
841
+ plt.title('Takagi-Taupin solution in the Laue case')
842
+
843
+ plt.show()
844
+
845
+ def save(self, path, include_header=True):
846
+ '''
847
+ Saves the solution to a file.
848
+
849
+ Parameters
850
+ ----------
851
+
852
+ path : str
853
+ Path of the save file
854
+
855
+ include_header : bool, optional
856
+ Determines if the metadata is included in the header. The default
857
+ is True.
858
+
859
+ Returns
860
+ -------
861
+
862
+ None.
863
+
864
+ '''
865
+
866
+ if self.solution is None:
867
+ print(
868
+ 'No calculated Takagi-Taupin curves found! Call run() first!')
869
+ return
870
+
871
+ # Build the data matrix
872
+ data = []
873
+ data.append(self.solution['scan'].value.reshape(-1))
874
+
875
+ if self.solution['geometry'] == 'bragg':
876
+ data.append(self.solution['reflectivity'].reshape(-1))
877
+ else:
878
+ data.append(self.solution['diffraction'].reshape(-1))
879
+ data.append(self.solution['forward_diffraction'].reshape(-1))
880
+
881
+ data = np.array(data).T
882
+
883
+ if include_header:
884
+ header = str(self) + '\n' + 'SOLVER OUTPUT LOG\n'\
885
+ + '-----------------\n' + \
886
+ self.solution['solver_output_log'] + '\n'
887
+
888
+ header = header + 'SOLUTION\n' + '--------\n'
889
+ header = header + 'Scan (' + self.solution['scan'].units() + ') '
890
+
891
+ if self.solution['geometry'] == 'bragg':
892
+ header = header + 'Reflectivity'
893
+ else:
894
+ header = header + 'Diffraction Forward-diffraction'
895
+ else:
896
+ header = ''
897
+
898
+ np.savetxt(path, data, header=header)
899
+
900
+ def __str__(self):
901
+ return 'CRYSTAL PARAMETERS\n'\
902
+ + '------------------\n\n'\
903
+ + str(self.crystal_object) + '\n\n'\
904
+ + 'SCAN PARAMETERS\n'\
905
+ + '---------------\n\n'\
906
+ + str(self.scan_object)