xrt 1.6.2__tar.gz

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 (694) hide show
  1. xrt-1.6.2/LICENSE.txt +22 -0
  2. xrt-1.6.2/MANIFEST.in +39 -0
  3. xrt-1.6.2/PKG-INFO +203 -0
  4. xrt-1.6.2/README.txt +15 -0
  5. xrt-1.6.2/examples/__init__.py +1 -0
  6. xrt-1.6.2/examples/withDummy/__init__.py +27 -0
  7. xrt-1.6.2/examples/withDummy/logo-python.png +0 -0
  8. xrt-1.6.2/examples/withDummy/logo_xrt.py +93 -0
  9. xrt-1.6.2/examples/withDummy/xrt_demo.py +61 -0
  10. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/__init__.py +177 -0
  11. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_absorption.py +17 -0
  12. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_bm.py +55 -0
  13. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_carbon_contamination.py +30 -0
  14. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_coated_mirror.py +26 -0
  15. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_crystal.py +45 -0
  16. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_crystal_dtheta.py +26 -0
  17. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_crystal_rocking_curve.py +37 -0
  18. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_mirror.py +20 -0
  19. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_multilayer.py +19 -0
  20. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_multilayer_E.py +31 -0
  21. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_multilayer_theta.py +19 -0
  22. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_slab.py +17 -0
  23. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_transmittivity.py +19 -0
  24. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_undulator.py +118 -0
  25. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_undulator_power.py +36 -0
  26. xrt-1.6.2/examples/withRaycing/00_xRayCalculator/calc_undulator_tune.py +59 -0
  27. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/B-Hamed.xlsx +0 -0
  28. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/MAX-IV-IDs-Flux.py +195 -0
  29. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/U32TaperedScan.py +104 -0
  30. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/__init__.py +1 -0
  31. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/bionano3.dc0 +211 -0
  32. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/edge_radiation.py +351 -0
  33. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/fluxThroughAperture.py +354 -0
  34. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/my_arbitrary_field_test.py +579 -0
  35. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/synchrotronSources.py +749 -0
  36. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/thetaexafssc1an_zn_hgap_00002r2.fio.gz +0 -0
  37. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/undulator-rays-near-wave-filament.py +149 -0
  38. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/undulatorHamed.py +436 -0
  39. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/undulatorHamed_fromField.py +436 -0
  40. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/undulatorTapering.py +135 -0
  41. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/undulatorTapering_zmq.py +136 -0
  42. xrt-1.6.2/examples/withRaycing/01_SynchrotronSources/undulatorVortex.py +372 -0
  43. xrt-1.6.2/examples/withRaycing/02_Balder_BL/BalderBL.py +321 -0
  44. xrt-1.6.2/examples/withRaycing/02_Balder_BL/BalderFlux.py +100 -0
  45. xrt-1.6.2/examples/withRaycing/02_Balder_BL/__init__.py +118 -0
  46. xrt-1.6.2/examples/withRaycing/02_Balder_BL/traceBalderBL.py +421 -0
  47. xrt-1.6.2/examples/withRaycing/02_Balder_BL/traceDCMBalderBL.py +90 -0
  48. xrt-1.6.2/examples/withRaycing/02_Balder_BL/traceFiltersBalderBL.py +121 -0
  49. xrt-1.6.2/examples/withRaycing/02_Balder_BL/traceMirrorPitchBalderBL.py +128 -0
  50. xrt-1.6.2/examples/withRaycing/02_Balder_BL/traceMirrorPitchBothBalderBL.py +77 -0
  51. xrt-1.6.2/examples/withRaycing/02_Balder_BL/traceMirrorRBalderBL.py +104 -0
  52. xrt-1.6.2/examples/withRaycing/03_LaueMono/01_bentLaueSCM.py +184 -0
  53. xrt-1.6.2/examples/withRaycing/03_LaueMono/02_bentLaueDCM_RC.py +229 -0
  54. xrt-1.6.2/examples/withRaycing/03_LaueMono/03_polychromatic_focus.py +347 -0
  55. xrt-1.6.2/examples/withRaycing/03_LaueMono/04_sagittal_bending.py +343 -0
  56. xrt-1.6.2/examples/withRaycing/03_LaueMono/__init__.py +60 -0
  57. xrt-1.6.2/examples/withRaycing/04_Lenses/__init__.py +1 -0
  58. xrt-1.6.2/examples/withRaycing/04_Lenses/crl_individual.py +294 -0
  59. xrt-1.6.2/examples/withRaycing/04_Lenses/crl_individual_3D.py +95 -0
  60. xrt-1.6.2/examples/withRaycing/04_Lenses/crl_stack.py +333 -0
  61. xrt-1.6.2/examples/withRaycing/05_QWP/01_collimated_BR.py +219 -0
  62. xrt-1.6.2/examples/withRaycing/05_QWP/02_collimated_LR.py +221 -0
  63. xrt-1.6.2/examples/withRaycing/05_QWP/03_collimated_BT.py +247 -0
  64. xrt-1.6.2/examples/withRaycing/05_QWP/04_collimated_LT.py +243 -0
  65. xrt-1.6.2/examples/withRaycing/05_QWP/05_convergent_BT.py +317 -0
  66. xrt-1.6.2/examples/withRaycing/05_QWP/06_convergent_LT.py +294 -0
  67. xrt-1.6.2/examples/withRaycing/05_QWP/07_convergent_LT_slit.py +305 -0
  68. xrt-1.6.2/examples/withRaycing/05_QWP/08_convergent_LT_bent.py +328 -0
  69. xrt-1.6.2/examples/withRaycing/05_QWP/09_convergent_LT_bentSph.py +328 -0
  70. xrt-1.6.2/examples/withRaycing/05_QWP/__init__.py +97 -0
  71. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/01B_BentTT.py +299 -0
  72. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/01B_SourceZCrystalThetaAlpha.py +467 -0
  73. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/01L_SourceZCrystalThetaAlpha.py +435 -0
  74. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/02_vonHamos.py +402 -0
  75. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/02_vonHamosElliptical.py +607 -0
  76. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/__init__.py +405 -0
  77. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/flux-dE.py +192 -0
  78. xrt-1.6.2/examples/withRaycing/06_AnalyzerBent1D/vonHamosPos.py +151 -0
  79. xrt-1.6.2/examples/withRaycing/07_AnalyzerBent2D/01BD_SourceZCrystalThetaAlpha.py +666 -0
  80. xrt-1.6.2/examples/withRaycing/07_AnalyzerBent2D/__init__.py +1 -0
  81. xrt-1.6.2/examples/withRaycing/08_CLAESS_BL/ClaessBL_N.py +426 -0
  82. xrt-1.6.2/examples/withRaycing/08_CLAESS_BL/__init__.py +58 -0
  83. xrt-1.6.2/examples/withRaycing/08_CLAESS_BL/traceClaessBL_N.py +265 -0
  84. xrt-1.6.2/examples/withRaycing/09_Gratings/BraggFresnel.py +216 -0
  85. xrt-1.6.2/examples/withRaycing/09_Gratings/FZP.py +153 -0
  86. xrt-1.6.2/examples/withRaycing/09_Gratings/Grating.py +117 -0
  87. xrt-1.6.2/examples/withRaycing/09_Gratings/GratingFlexPES.py +440 -0
  88. xrt-1.6.2/examples/withRaycing/09_Gratings/__init__.py +101 -0
  89. xrt-1.6.2/examples/withRaycing/09_Gratings/efficiency1-LEG.txt +45 -0
  90. xrt-1.6.2/examples/withRaycing/10_MultipleReflect/BentTaperedPolyCapillary.py +338 -0
  91. xrt-1.6.2/examples/withRaycing/10_MultipleReflect/Cylinder.py +169 -0
  92. xrt-1.6.2/examples/withRaycing/10_MultipleReflect/MontelMirror.py +181 -0
  93. xrt-1.6.2/examples/withRaycing/10_MultipleReflect/__init__.py +122 -0
  94. xrt-1.6.2/examples/withRaycing/11_Waves/11.6 DiffractionOnApertures.py +212 -0
  95. xrt-1.6.2/examples/withRaycing/11_Waves/IMP_1st_1p11.dat +163 -0
  96. xrt-1.6.2/examples/withRaycing/11_Waves/IMP_2nd_1p11.dat +163 -0
  97. xrt-1.6.2/examples/withRaycing/11_Waves/LEG_1st_1p85.dat +44 -0
  98. xrt-1.6.2/examples/withRaycing/11_Waves/LEG_2nd_1p85.dat +44 -0
  99. xrt-1.6.2/examples/withRaycing/11_Waves/LaguerreGaussianBeam_SiemensStar.py +157 -0
  100. xrt-1.6.2/examples/withRaycing/11_Waves/MEG_1st_1p48.dat +160 -0
  101. xrt-1.6.2/examples/withRaycing/11_Waves/MEG_2nd_1p48.dat +160 -0
  102. xrt-1.6.2/examples/withRaycing/11_Waves/__init__.py +1 -0
  103. xrt-1.6.2/examples/withRaycing/11_Waves/apex175p9.dat +163 -0
  104. xrt-1.6.2/examples/withRaycing/11_Waves/coherentModePropagation.py +291 -0
  105. xrt-1.6.2/examples/withRaycing/11_Waves/doubleSlitScan.py +242 -0
  106. xrt-1.6.2/examples/withRaycing/11_Waves/slitscan.py +267 -0
  107. xrt-1.6.2/examples/withRaycing/11_Waves/waveFZP.py +311 -0
  108. xrt-1.6.2/examples/withRaycing/11_Waves/waveGrating.py +732 -0
  109. xrt-1.6.2/examples/withRaycing/11_Waves/waveMirrors.py +327 -0
  110. xrt-1.6.2/examples/withRaycing/12_Multilayer/BalderDMM.py +315 -0
  111. xrt-1.6.2/examples/withRaycing/12_Multilayer/traceDMM.py +89 -0
  112. xrt-1.6.2/examples/withRaycing/13_Warping/ExampleOfSlopeErrorMapToParametricMirror.py +80 -0
  113. xrt-1.6.2/examples/withRaycing/13_Warping/__init__.py +1 -0
  114. xrt-1.6.2/examples/withRaycing/13_Warping/mock_surface.dat +5512 -0
  115. xrt-1.6.2/examples/withRaycing/13_Warping/warp.py +429 -0
  116. xrt-1.6.2/examples/withRaycing/14_SoftiMAX/Softi_CXIw1D.py +994 -0
  117. xrt-1.6.2/examples/withRaycing/14_SoftiMAX/Softi_CXIw2D.py +763 -0
  118. xrt-1.6.2/examples/withRaycing/14_SoftiMAX/Softi_STXMw1D.py +798 -0
  119. xrt-1.6.2/examples/withRaycing/14_SoftiMAX/Softi_STXMw2D.py +719 -0
  120. xrt-1.6.2/examples/withRaycing/14_SoftiMAX/__init__.py +327 -0
  121. xrt-1.6.2/examples/withRaycing/15_XRD/P02_PD.xml +766 -0
  122. xrt-1.6.2/examples/withRaycing/15_XRD/_images/rings_on_detector.png +0 -0
  123. xrt-1.6.2/examples/withRaycing/15_XRD/xrd_mono.py +250 -0
  124. xrt-1.6.2/examples/withRaycing/16_ParametricOptimization/16.1_autoOptimization_detuning.py +182 -0
  125. xrt-1.6.2/examples/withRaycing/_QookBeamlines/1crystal.xml +241 -0
  126. xrt-1.6.2/examples/withRaycing/_QookBeamlines/4crystals.xml +933 -0
  127. xrt-1.6.2/examples/withRaycing/_QookBeamlines/BioXAS_Main.xml +1050 -0
  128. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/ex03_glow.png +0 -0
  129. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/ex03_p01.png +0 -0
  130. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/ex03_p02.png +0 -0
  131. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/ex03_p03a.png +0 -0
  132. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/ex03_p03b.png +0 -0
  133. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/ex03_p03c.png +0 -0
  134. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/ex03_p03d.png +0 -0
  135. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp01_glow.png +0 -0
  136. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp01_p01.png +0 -0
  137. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp02_glow.png +0 -0
  138. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp02_p01.png +0 -0
  139. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp02_p02.png +0 -0
  140. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp04_glow.png +0 -0
  141. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp04_p01.png +0 -0
  142. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp04_p02.png +0 -0
  143. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp04_p03.png +0 -0
  144. xrt-1.6.2/examples/withRaycing/_QookBeamlines/_images/exp04_p04.png +0 -0
  145. xrt-1.6.2/examples/withRaycing/_QookBeamlines/lens1.xml +175 -0
  146. xrt-1.6.2/examples/withRaycing/_QookBeamlines/lens3.xml +275 -0
  147. xrt-1.6.2/examples/withRaycing/_QookBeamlines/testAlignment.xml +924 -0
  148. xrt-1.6.2/examples/withRaycing/_QookBeamlines/testGrating.xml +256 -0
  149. xrt-1.6.2/examples/withRaycing/__init__.py +1 -0
  150. xrt-1.6.2/examples/withShadow/00_02/00_simple.py +11 -0
  151. xrt-1.6.2/examples/withShadow/00_02/01_filters.py +63 -0
  152. xrt-1.6.2/examples/withShadow/00_02/02_VCM_stripes.py +118 -0
  153. xrt-1.6.2/examples/withShadow/00_02/__init__.py +1 -0
  154. xrt-1.6.2/examples/withShadow/00_02/tmp0/CLAESS01-norefl.ws +0 -0
  155. xrt-1.6.2/examples/withShadow/00_02/tmp0/CVDdiamond.dat +0 -0
  156. xrt-1.6.2/examples/withShadow/00_02/tmp0/Pt_refl.dat +0 -0
  157. xrt-1.6.2/examples/withShadow/00_02/tmp0/Rh_refl.dat +0 -0
  158. xrt-1.6.2/examples/withShadow/00_02/tmp0/Si111.rc +1411 -0
  159. xrt-1.6.2/examples/withShadow/00_02/tmp0/Si311.rc +1411 -0
  160. xrt-1.6.2/examples/withShadow/00_02/tmp0/Si_refl.dat +0 -0
  161. xrt-1.6.2/examples/withShadow/00_02/tmp0/effic.01 +3 -0
  162. xrt-1.6.2/examples/withShadow/00_02/tmp0/end.00 +0 -0
  163. xrt-1.6.2/examples/withShadow/00_02/tmp0/end.01 +284 -0
  164. xrt-1.6.2/examples/withShadow/00_02/tmp0/optax.01 +9 -0
  165. xrt-1.6.2/examples/withShadow/00_02/tmp0/shadow-source.bat +7 -0
  166. xrt-1.6.2/examples/withShadow/00_02/tmp0/shadow-source.sh +8 -0
  167. xrt-1.6.2/examples/withShadow/00_02/tmp0/shadow-trace.bat +4 -0
  168. xrt-1.6.2/examples/withShadow/00_02/tmp0/shadow-trace.sh +5 -0
  169. xrt-1.6.2/examples/withShadow/00_02/tmp0/shadowvui.bat +4 -0
  170. xrt-1.6.2/examples/withShadow/00_02/tmp0/start.00 +0 -0
  171. xrt-1.6.2/examples/withShadow/00_02/tmp0/start.01 +314 -0
  172. xrt-1.6.2/examples/withShadow/00_02/tmp0/systemfile.dat +1 -0
  173. xrt-1.6.2/examples/withShadow/00_02/tmp0/xsh_bragg_tmp.inp +20 -0
  174. xrt-1.6.2/examples/withShadow/00_02/tmp0/xsh_env_file.inp +1 -0
  175. xrt-1.6.2/examples/withShadow/00_02/tmp0/xsh_epath_tmp.inp +10 -0
  176. xrt-1.6.2/examples/withShadow/00_02/tmp0/xsh_input_source_tmp.inp +21 -0
  177. xrt-1.6.2/examples/withShadow/00_02/tmp0/xsh_nphoton_tmp.inp +5 -0
  178. xrt-1.6.2/examples/withShadow/00_02/tmp0/xsh_prerefl_tmp.inp +7 -0
  179. xrt-1.6.2/examples/withShadow/00_02/tmp0/xshwig.par +16 -0
  180. xrt-1.6.2/examples/withShadow/03/03_DCM_energy.py +109 -0
  181. xrt-1.6.2/examples/withShadow/03/__init__.py +1 -0
  182. xrt-1.6.2/examples/withShadow/03/tmp0/CLAESS-noVFM.ws +0 -0
  183. xrt-1.6.2/examples/withShadow/03/tmp0/CVDdiamond.dat +0 -0
  184. xrt-1.6.2/examples/withShadow/03/tmp0/Rh_refl.dat +0 -0
  185. xrt-1.6.2/examples/withShadow/03/tmp0/Si111.rc +1411 -0
  186. xrt-1.6.2/examples/withShadow/03/tmp0/Si311.rc +1411 -0
  187. xrt-1.6.2/examples/withShadow/03/tmp0/effic.01 +8 -0
  188. xrt-1.6.2/examples/withShadow/03/tmp0/effic.02 +8 -0
  189. xrt-1.6.2/examples/withShadow/03/tmp0/effic.03 +8 -0
  190. xrt-1.6.2/examples/withShadow/03/tmp0/end.00 +0 -0
  191. xrt-1.6.2/examples/withShadow/03/tmp0/end.01 +284 -0
  192. xrt-1.6.2/examples/withShadow/03/tmp0/end.02 +284 -0
  193. xrt-1.6.2/examples/withShadow/03/tmp0/end.03 +284 -0
  194. xrt-1.6.2/examples/withShadow/03/tmp0/error_source.log +8 -0
  195. xrt-1.6.2/examples/withShadow/03/tmp0/optax.01 +9 -0
  196. xrt-1.6.2/examples/withShadow/03/tmp0/optax.02 +18 -0
  197. xrt-1.6.2/examples/withShadow/03/tmp0/optax.03 +27 -0
  198. xrt-1.6.2/examples/withShadow/03/tmp0/output_source.log +14 -0
  199. xrt-1.6.2/examples/withShadow/03/tmp0/shadow-source.bat +7 -0
  200. xrt-1.6.2/examples/withShadow/03/tmp0/shadow-source.sh +8 -0
  201. xrt-1.6.2/examples/withShadow/03/tmp0/shadow-trace.bat +4 -0
  202. xrt-1.6.2/examples/withShadow/03/tmp0/shadow-trace.sh +5 -0
  203. xrt-1.6.2/examples/withShadow/03/tmp0/start.00 +0 -0
  204. xrt-1.6.2/examples/withShadow/03/tmp0/start.01 +314 -0
  205. xrt-1.6.2/examples/withShadow/03/tmp0/start.02 +314 -0
  206. xrt-1.6.2/examples/withShadow/03/tmp0/start.03 +314 -0
  207. xrt-1.6.2/examples/withShadow/03/tmp0/start_old.02 +314 -0
  208. xrt-1.6.2/examples/withShadow/03/tmp0/systemfile.dat +3 -0
  209. xrt-1.6.2/examples/withShadow/03/tmp0/xsh_env_file.inp +1 -0
  210. xrt-1.6.2/examples/withShadow/03/tmp0/xsh_epath_tmp.inp +10 -0
  211. xrt-1.6.2/examples/withShadow/03/tmp0/xsh_input_source_tmp.inp +21 -0
  212. xrt-1.6.2/examples/withShadow/03/tmp0/xsh_mirinfo_tmp.inp +4 -0
  213. xrt-1.6.2/examples/withShadow/03/tmp0/xsh_mirinfo_tmp.out +38 -0
  214. xrt-1.6.2/examples/withShadow/03/tmp0/xsh_nphoton_tmp.inp +5 -0
  215. xrt-1.6.2/examples/withShadow/03/tmp0/xshwig.par +16 -0
  216. xrt-1.6.2/examples/withShadow/04_06/04_dE_VCM_bending.py +142 -0
  217. xrt-1.6.2/examples/withShadow/04_06/05_VFM_bending.py +88 -0
  218. xrt-1.6.2/examples/withShadow/04_06/06_mirrors_pitch.py +94 -0
  219. xrt-1.6.2/examples/withShadow/04_06/__init__.py +1 -0
  220. xrt-1.6.2/examples/withShadow/04_06/tmp0/CLAESS.ws +0 -0
  221. xrt-1.6.2/examples/withShadow/04_06/tmp0/CVDdiamond.dat +0 -0
  222. xrt-1.6.2/examples/withShadow/04_06/tmp0/Rh_refl.dat +0 -0
  223. xrt-1.6.2/examples/withShadow/04_06/tmp0/Si111.rc +1411 -0
  224. xrt-1.6.2/examples/withShadow/04_06/tmp0/effic.01 +8 -0
  225. xrt-1.6.2/examples/withShadow/04_06/tmp0/effic.02 +8 -0
  226. xrt-1.6.2/examples/withShadow/04_06/tmp0/effic.03 +8 -0
  227. xrt-1.6.2/examples/withShadow/04_06/tmp0/effic.04 +8 -0
  228. xrt-1.6.2/examples/withShadow/04_06/tmp0/end.00 +0 -0
  229. xrt-1.6.2/examples/withShadow/04_06/tmp0/end.01 +284 -0
  230. xrt-1.6.2/examples/withShadow/04_06/tmp0/end.02 +284 -0
  231. xrt-1.6.2/examples/withShadow/04_06/tmp0/end.03 +284 -0
  232. xrt-1.6.2/examples/withShadow/04_06/tmp0/end.04 +284 -0
  233. xrt-1.6.2/examples/withShadow/04_06/tmp0/optax.01 +9 -0
  234. xrt-1.6.2/examples/withShadow/04_06/tmp0/optax.02 +18 -0
  235. xrt-1.6.2/examples/withShadow/04_06/tmp0/optax.03 +27 -0
  236. xrt-1.6.2/examples/withShadow/04_06/tmp0/optax.04 +36 -0
  237. xrt-1.6.2/examples/withShadow/04_06/tmp0/shadow-source.bat +7 -0
  238. xrt-1.6.2/examples/withShadow/04_06/tmp0/shadow-source.sh +8 -0
  239. xrt-1.6.2/examples/withShadow/04_06/tmp0/shadow-trace.bat +4 -0
  240. xrt-1.6.2/examples/withShadow/04_06/tmp0/shadow-trace.sh +5 -0
  241. xrt-1.6.2/examples/withShadow/04_06/tmp0/start.00 +0 -0
  242. xrt-1.6.2/examples/withShadow/04_06/tmp0/start.01 +314 -0
  243. xrt-1.6.2/examples/withShadow/04_06/tmp0/start.02 +314 -0
  244. xrt-1.6.2/examples/withShadow/04_06/tmp0/start.03 +314 -0
  245. xrt-1.6.2/examples/withShadow/04_06/tmp0/start.04 +314 -0
  246. xrt-1.6.2/examples/withShadow/04_06/tmp0/start_old.02 +314 -0
  247. xrt-1.6.2/examples/withShadow/04_06/tmp0/systemfile.dat +4 -0
  248. xrt-1.6.2/examples/withShadow/04_06/tmp0/xsh_env_file.inp +1 -0
  249. xrt-1.6.2/examples/withShadow/04_06/tmp0/xsh_epath_tmp.inp +10 -0
  250. xrt-1.6.2/examples/withShadow/04_06/tmp0/xsh_input_source_tmp.inp +21 -0
  251. xrt-1.6.2/examples/withShadow/04_06/tmp0/xsh_mirinfo_tmp.inp +4 -0
  252. xrt-1.6.2/examples/withShadow/04_06/tmp0/xsh_mirinfo_tmp.out +38 -0
  253. xrt-1.6.2/examples/withShadow/04_06/tmp0/xsh_nphoton_tmp.inp +5 -0
  254. xrt-1.6.2/examples/withShadow/04_06/tmp0/xshwig.par +16 -0
  255. xrt-1.6.2/examples/withShadow/__init__.py +1 -0
  256. xrt-1.6.2/setup.cfg +4 -0
  257. xrt-1.6.2/setup.py +214 -0
  258. xrt-1.6.2/tests/__init__.py +1 -0
  259. xrt-1.6.2/tests/convexHull.py +38 -0
  260. xrt-1.6.2/tests/kde.py +38 -0
  261. xrt-1.6.2/tests/raycing/CXRO-Reflectivities/CSiO2_p_rough1.CXRO.gz +0 -0
  262. xrt-1.6.2/tests/raycing/CXRO-Reflectivities/CSiO2_s_rough1.CXRO.gz +0 -0
  263. xrt-1.6.2/tests/raycing/CXRO-Reflectivities/RhSi_p_rough2.CXRO.gz +0 -0
  264. xrt-1.6.2/tests/raycing/CXRO-Reflectivities/RhSi_s_rough2.CXRO.gz +0 -0
  265. xrt-1.6.2/tests/raycing/CXRO-Reflectivities/WSi300id0.CXRO.gz +0 -0
  266. xrt-1.6.2/tests/raycing/CXRO-Reflectivities/WSi300id6.CXRO.gz +0 -0
  267. xrt-1.6.2/tests/raycing/IR/RefractiveIndexINFO_BK7.csv +125 -0
  268. xrt-1.6.2/tests/raycing/IR/one_plate_test.py +123 -0
  269. xrt-1.6.2/tests/raycing/IR/wedge_diamond.xml +233 -0
  270. xrt-1.6.2/tests/raycing/RemoteOpenCLCalculation/__init__.py +53 -0
  271. xrt-1.6.2/tests/raycing/RemoteOpenCLCalculation/__pycache__/__init__.cpython-313.pyc +0 -0
  272. xrt-1.6.2/tests/raycing/RemoteOpenCLCalculation/__pycache__/__init__.cpython-314.pyc +0 -0
  273. xrt-1.6.2/tests/raycing/RemoteOpenCLCalculation/__pycache__/zmq_server.cpython-313.pyc +0 -0
  274. xrt-1.6.2/tests/raycing/RemoteOpenCLCalculation/__pycache__/zmq_server.cpython-314.pyc +0 -0
  275. xrt-1.6.2/tests/raycing/RemoteOpenCLCalculation/queue_device.py +31 -0
  276. xrt-1.6.2/tests/raycing/RemoteOpenCLCalculation/zmq_server.py +199 -0
  277. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Ag_absCoeff.xcrosssec.gz +0 -0
  278. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Al_absCoeff.xcrosssec.gz +0 -0
  279. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Au_absCoeff.xcrosssec.gz +0 -0
  280. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Be_absCoeff.xcrosssec.gz +0 -0
  281. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Diamond60mum.xpower.gz +0 -0
  282. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Ni_absCoeff.xcrosssec.gz +0 -0
  283. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Pt4mrad_p.xf1f2.gz +0 -0
  284. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Pt4mrad_s.xf1f2.gz +0 -0
  285. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Rh2mrad_p.xf1f2.gz +0 -0
  286. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Rh2mrad_s.xf1f2.gz +0 -0
  287. xrt-1.6.2/tests/raycing/XOP-Reflectivities/ScCr_ML_reflection_REFLEC.npy +0 -0
  288. xrt-1.6.2/tests/raycing/XOP-Reflectivities/ScCr_ML_transmission_REFLEC.npy +0 -0
  289. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Si05deg_p.xf1f2.gz +0 -0
  290. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Si05deg_s.xf1f2.gz +0 -0
  291. xrt-1.6.2/tests/raycing/XOP-Reflectivities/SiO205deg_p.xf1f2.gz +0 -0
  292. xrt-1.6.2/tests/raycing/XOP-Reflectivities/SiO205deg_s.xf1f2.gz +0 -0
  293. xrt-1.6.2/tests/raycing/XOP-Reflectivities/W25A_10kev_p.mlayer.gz +0 -0
  294. xrt-1.6.2/tests/raycing/XOP-Reflectivities/W25A_10kev_s.mlayer.gz +0 -0
  295. xrt-1.6.2/tests/raycing/XOP-Reflectivities/WSi100_45A40.mlayer.gz +0 -0
  296. xrt-1.6.2/tests/raycing/XOP-Reflectivities/WSi45A04.mlayer.gz +0 -0
  297. xrt-1.6.2/tests/raycing/XOP-Reflectivities/WSi45_100A40.mlayer.gz +0 -0
  298. xrt-1.6.2/tests/raycing/XOP-Reflectivities/Zn_absCoeff.xcrosssec.gz +0 -0
  299. xrt-1.6.2/tests/raycing/XOP-Reflectivities/mLScCr-spph.mlayer.gz +0 -0
  300. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_p.xc.gz +0 -0
  301. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_p.xin.gz +0 -0
  302. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_s.xc.gz +0 -0
  303. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_-5_s.xin.gz +0 -0
  304. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_p.xc.gz +0 -0
  305. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_p.xin.gz +0 -0
  306. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_s.xc.gz +0 -0
  307. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_0_s.xin.gz +0 -0
  308. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_p.xc.gz +0 -0
  309. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_p.xin.gz +0 -0
  310. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_s.xc.gz +0 -0
  311. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_007mum_5_s.xin.gz +0 -0
  312. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_p.xc.gz +0 -0
  313. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_p.xin.gz +0 -0
  314. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_s.xc.gz +0 -0
  315. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_-5_s.xin.gz +0 -0
  316. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_p.xc.gz +0 -0
  317. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_p.xin.gz +0 -0
  318. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_s.xc.gz +0 -0
  319. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_0_s.xin.gz +0 -0
  320. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_p.xc.gz +0 -0
  321. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_p.xin.gz +0 -0
  322. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_s.xc.gz +0 -0
  323. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_100mum_5_s.xin.gz +0 -0
  324. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_p.xc.gz +0 -0
  325. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_p.xin.gz +0 -0
  326. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_s.xc.gz +0 -0
  327. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_-5_s.xin.gz +0 -0
  328. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_0_p.xc.gz +0 -0
  329. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_0_p.xin.gz +0 -0
  330. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_0_s.xc.gz +0 -0
  331. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_0_s.xin.gz +0 -0
  332. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_5_p.xc.gz +0 -0
  333. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_5_p.xin.gz +0 -0
  334. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_5_s.xc.gz +0 -0
  335. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi111_thick_5_s.xin.gz +0 -0
  336. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_p.xc.gz +0 -0
  337. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_p.xin.gz +0 -0
  338. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_s.xc.gz +0 -0
  339. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_-5_s.xin.gz +0 -0
  340. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_p.xc.gz +0 -0
  341. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_p.xin.gz +0 -0
  342. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_s.xc.gz +0 -0
  343. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_0_s.xin.gz +0 -0
  344. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_p.xc.gz +0 -0
  345. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_p.xin.gz +0 -0
  346. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_s.xc.gz +0 -0
  347. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_007mum_5_s.xin.gz +0 -0
  348. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_p.xc.gz +0 -0
  349. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_p.xin.gz +0 -0
  350. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_s.xc.gz +0 -0
  351. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_-5_s.xin.gz +0 -0
  352. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_p.xc.gz +0 -0
  353. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_p.xin.gz +0 -0
  354. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_s.xc.gz +0 -0
  355. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_0_s.xin.gz +0 -0
  356. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_p.xc.gz +0 -0
  357. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_p.xin.gz +0 -0
  358. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_s.xc.gz +0 -0
  359. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_100mum_5_s.xin.gz +0 -0
  360. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_p.xc.gz +0 -0
  361. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_p.xin.gz +0 -0
  362. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_s.xc.gz +0 -0
  363. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_-5_s.xin.gz +0 -0
  364. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_0_p.xc.gz +0 -0
  365. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_0_p.xin.gz +0 -0
  366. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_0_s.xc.gz +0 -0
  367. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_0_s.xin.gz +0 -0
  368. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_5_p.xc.gz +0 -0
  369. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_5_p.xin.gz +0 -0
  370. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_5_s.xc.gz +0 -0
  371. xrt-1.6.2/tests/raycing/XOP-RockingCurves/bSi333_thick_5_s.xin.gz +0 -0
  372. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_p.xc.gz +0 -0
  373. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_p.xin.gz +0 -0
  374. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_s.xc.gz +0 -0
  375. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_-5_s.xin.gz +0 -0
  376. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_p.xc.gz +0 -0
  377. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_p.xin.gz +0 -0
  378. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_s.xc.gz +0 -0
  379. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_0_s.xin.gz +0 -0
  380. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_p.xc.gz +0 -0
  381. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_p.xin.gz +0 -0
  382. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_s.xc.gz +0 -0
  383. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_007mum_5_s.xin.gz +0 -0
  384. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_p.xc.gz +0 -0
  385. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_p.xin.gz +0 -0
  386. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_s.xc.gz +0 -0
  387. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_-5_s.xin.gz +0 -0
  388. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_p.xc.gz +0 -0
  389. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_p.xin.gz +0 -0
  390. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_s.xc.gz +0 -0
  391. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_0_s.xin.gz +0 -0
  392. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_p.xc.gz +0 -0
  393. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_p.xin.gz +0 -0
  394. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_s.xc.gz +0 -0
  395. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi111_100mum_5_s.xin.gz +0 -0
  396. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_p.xc.gz +0 -0
  397. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_p.xin.gz +0 -0
  398. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_s.xc.gz +0 -0
  399. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_-5_s.xin.gz +0 -0
  400. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_p.xc.gz +0 -0
  401. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_p.xin.gz +0 -0
  402. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_s.xc.gz +0 -0
  403. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_0_s.xin.gz +0 -0
  404. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_p.xc.gz +0 -0
  405. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_p.xin.gz +0 -0
  406. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_s.xc.gz +0 -0
  407. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_007mum_5_s.xin.gz +0 -0
  408. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_p.xc.gz +0 -0
  409. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_p.xin.gz +0 -0
  410. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_s.xc.gz +0 -0
  411. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_-5_s.xin.gz +0 -0
  412. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_p.xc.gz +0 -0
  413. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_p.xin.gz +0 -0
  414. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_s.xc.gz +0 -0
  415. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_0_s.xin.gz +0 -0
  416. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_p.xc.gz +0 -0
  417. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_p.xin.gz +0 -0
  418. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_s.xc.gz +0 -0
  419. xrt-1.6.2/tests/raycing/XOP-RockingCurves/btSi333_100mum_5_s.xin.gz +0 -0
  420. xrt-1.6.2/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_03kev.xc.gz +0 -0
  421. xrt-1.6.2/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_08kev.xc.gz +0 -0
  422. xrt-1.6.2/tests/raycing/XOP-RockingCurves/graphite002_mosaic04_17kev.xc.gz +0 -0
  423. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_p.xc.gz +0 -0
  424. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_p.xin.gz +0 -0
  425. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_s.xc.gz +0 -0
  426. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_-5_s.xin.gz +0 -0
  427. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_p.xc.gz +0 -0
  428. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_p.xin.gz +0 -0
  429. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_s.xc.gz +0 -0
  430. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_0_s.xin.gz +0 -0
  431. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_p.xc.gz +0 -0
  432. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_p.xin.gz +0 -0
  433. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_s.xc.gz +0 -0
  434. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_007mum_5_s.xin.gz +0 -0
  435. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_p.xc.gz +0 -0
  436. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_p.xin.gz +0 -0
  437. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_s.xc.gz +0 -0
  438. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_-5_s.xin.gz +0 -0
  439. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_p.xc.gz +0 -0
  440. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_p.xin.gz +0 -0
  441. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_s.xc.gz +0 -0
  442. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_0_s.xin.gz +0 -0
  443. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_p.xc.gz +0 -0
  444. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_p.xin.gz +0 -0
  445. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_s.xc.gz +0 -0
  446. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi111_100mum_5_s.xin.gz +0 -0
  447. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_p.xc.gz +0 -0
  448. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_p.xin.gz +0 -0
  449. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_s.xc.gz +0 -0
  450. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_-5_s.xin.gz +0 -0
  451. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_p.xc.gz +0 -0
  452. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_p.xin.gz +0 -0
  453. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_s.xc.gz +0 -0
  454. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_0_s.xin.gz +0 -0
  455. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_p.xc.gz +0 -0
  456. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_p.xin.gz +0 -0
  457. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_s.xc.gz +0 -0
  458. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_007mum_5_s.xin.gz +0 -0
  459. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_p.xc.gz +0 -0
  460. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_p.xin.gz +0 -0
  461. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_s.xc.gz +0 -0
  462. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_-5_s.xin.gz +0 -0
  463. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_p.xc.gz +0 -0
  464. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_p.xin.gz +0 -0
  465. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_s.xc.gz +0 -0
  466. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_0_s.xin.gz +0 -0
  467. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_p.xc.gz +0 -0
  468. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_p.xin.gz +0 -0
  469. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_s.xc.gz +0 -0
  470. xrt-1.6.2/tests/raycing/XOP-RockingCurves/lSi333_100mum_5_s.xin.gz +0 -0
  471. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_p.xc.gz +0 -0
  472. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_p.xin.gz +0 -0
  473. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_s.xc.gz +0 -0
  474. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_-5_s.xin.gz +0 -0
  475. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_p.xc.gz +0 -0
  476. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_p.xin.gz +0 -0
  477. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_s.xc.gz +0 -0
  478. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_0_s.xin.gz +0 -0
  479. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_p.xc.gz +0 -0
  480. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_p.xin.gz +0 -0
  481. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_s.xc.gz +0 -0
  482. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_007mum_5_s.xin.gz +0 -0
  483. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_p.xc.gz +0 -0
  484. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_p.xin.gz +0 -0
  485. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_s.xc.gz +0 -0
  486. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_-5_s.xin.gz +0 -0
  487. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_p.xc.gz +0 -0
  488. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_p.xin.gz +0 -0
  489. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_s.xc.gz +0 -0
  490. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_0_s.xin.gz +0 -0
  491. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_p.xc.gz +0 -0
  492. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_p.xin.gz +0 -0
  493. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_s.xc.gz +0 -0
  494. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi111_100mum_5_s.xin.gz +0 -0
  495. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_p.xc.gz +0 -0
  496. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_p.xin.gz +0 -0
  497. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_s.xc.gz +0 -0
  498. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_-5_s.xin.gz +0 -0
  499. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_p.xc.gz +0 -0
  500. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_p.xin.gz +0 -0
  501. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_s.xc.gz +0 -0
  502. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_0_s.xin.gz +0 -0
  503. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_p.xc.gz +0 -0
  504. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_p.xin.gz +0 -0
  505. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_s.xc.gz +0 -0
  506. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_007mum_5_s.xin.gz +0 -0
  507. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_p.xc.gz +0 -0
  508. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_p.xin.gz +0 -0
  509. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_s.xc.gz +0 -0
  510. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_-5_s.xin.gz +0 -0
  511. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_p.xc.gz +0 -0
  512. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_p.xin.gz +0 -0
  513. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_s.xc.gz +0 -0
  514. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_0_s.xin.gz +0 -0
  515. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_p.xc.gz +0 -0
  516. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_p.xin.gz +0 -0
  517. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_s.xc.gz +0 -0
  518. xrt-1.6.2/tests/raycing/XOP-RockingCurves/ltSi333_100mum_5_s.xin.gz +0 -0
  519. xrt-1.6.2/tests/raycing/__init__.py +1 -0
  520. xrt-1.6.2/tests/raycing/info_opencl.py +38 -0
  521. xrt-1.6.2/tests/raycing/laguerre_hermite_gaussian_beam.py +432 -0
  522. xrt-1.6.2/tests/raycing/misc/bessy.dc0.gz +0 -0
  523. xrt-1.6.2/tests/raycing/read_NOM_maps.py +172 -0
  524. xrt-1.6.2/tests/raycing/test_VLSgrating.py +39 -0
  525. xrt-1.6.2/tests/raycing/test_asymmetric_xtal.py +171 -0
  526. xrt-1.6.2/tests/raycing/test_backcattering_xtal_Shvydko.py +24 -0
  527. xrt-1.6.2/tests/raycing/test_coherent_fraction_stack.py +143 -0
  528. xrt-1.6.2/tests/raycing/test_crystals.py +31 -0
  529. xrt-1.6.2/tests/raycing/test_ellipse_2.py +169 -0
  530. xrt-1.6.2/tests/raycing/test_ellipsoid_tube_mirror.py +150 -0
  531. xrt-1.6.2/tests/raycing/test_hyperboloid_tube_mirror.py +155 -0
  532. xrt-1.6.2/tests/raycing/test_laue_bent.py +285 -0
  533. xrt-1.6.2/tests/raycing/test_materials.py +986 -0
  534. xrt-1.6.2/tests/raycing/test_mosaic_xtal.py +310 -0
  535. xrt-1.6.2/tests/raycing/test_mosaic_xtal_thin.py +149 -0
  536. xrt-1.6.2/tests/raycing/test_multilayer_transmission.py +78 -0
  537. xrt-1.6.2/tests/raycing/test_oes.py +10 -0
  538. xrt-1.6.2/tests/raycing/test_param_mirror.py +222 -0
  539. xrt-1.6.2/tests/raycing/test_polygonal_aperture.py +47 -0
  540. xrt-1.6.2/tests/raycing/test_pytte.py +372 -0
  541. xrt-1.6.2/tests/raycing/test_sources.py +394 -0
  542. xrt-1.6.2/tests/raycing/test_undulator_convergence.py +232 -0
  543. xrt-1.6.2/tests/raycing/test_undulator_on_mesh.py +151 -0
  544. xrt-1.6.2/tests/raycing/test_undulator_size.py +238 -0
  545. xrt-1.6.2/tests/speed/1_SourceZCrystalThetaAlpha_speed.py +614 -0
  546. xrt-1.6.2/tests/speed/2_synchrotronSources_speed.py +215 -0
  547. xrt-1.6.2/tests/speed/3_Softi_CXIw2D_speed.py +471 -0
  548. xrt-1.6.2/tests/speed/__init__.py +72 -0
  549. xrt-1.6.2/xrt/__init__.py +251 -0
  550. xrt-1.6.2/xrt/backends/__init__.py +1 -0
  551. xrt-1.6.2/xrt/backends/dummy.py +24 -0
  552. xrt-1.6.2/xrt/backends/raycing/OE.cl +964 -0
  553. xrt-1.6.2/xrt/backends/raycing/__init__.py +1363 -0
  554. xrt-1.6.2/xrt/backends/raycing/apertures.py +1185 -0
  555. xrt-1.6.2/xrt/backends/raycing/coherence.py +404 -0
  556. xrt-1.6.2/xrt/backends/raycing/data/AtomicData.dat +93 -0
  557. xrt-1.6.2/xrt/backends/raycing/data/BrCo.npz +0 -0
  558. xrt-1.6.2/xrt/backends/raycing/data/Chantler.npz +0 -0
  559. xrt-1.6.2/xrt/backends/raycing/data/Henke.npz +0 -0
  560. xrt-1.6.2/xrt/backends/raycing/data/f0_xop.dat +1136 -0
  561. xrt-1.6.2/xrt/backends/raycing/diffract.cl +280 -0
  562. xrt-1.6.2/xrt/backends/raycing/materials.cl +2072 -0
  563. xrt-1.6.2/xrt/backends/raycing/materials.py +2705 -0
  564. xrt-1.6.2/xrt/backends/raycing/materials_compounds.py +853 -0
  565. xrt-1.6.2/xrt/backends/raycing/materials_crystals.py +1439 -0
  566. xrt-1.6.2/xrt/backends/raycing/materials_elemental.py +717 -0
  567. xrt-1.6.2/xrt/backends/raycing/modes.py +457 -0
  568. xrt-1.6.2/xrt/backends/raycing/myopencl.py +667 -0
  569. xrt-1.6.2/xrt/backends/raycing/oes.py +4008 -0
  570. xrt-1.6.2/xrt/backends/raycing/oes_base.py +2568 -0
  571. xrt-1.6.2/xrt/backends/raycing/physconsts.py +36 -0
  572. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/__init__.py +9 -0
  573. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/crystal_vectors.py +58 -0
  574. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/deformation.py +300 -0
  575. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/elastic_tensors.py +384 -0
  576. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/legacy.py +326 -0
  577. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/pyTTE.py +906 -0
  578. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/pyTTE_rkpy.py +1038 -0
  579. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/pyTTE_rkpy_qt.py +855 -0
  580. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/quantity.py +344 -0
  581. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/rotation_matrix.py +105 -0
  582. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/ttcrystal.py +890 -0
  583. xrt-1.6.2/xrt/backends/raycing/pyTTE_x/ttscan.py +241 -0
  584. xrt-1.6.2/xrt/backends/raycing/run.py +7 -0
  585. xrt-1.6.2/xrt/backends/raycing/screens.py +439 -0
  586. xrt-1.6.2/xrt/backends/raycing/sources.py +740 -0
  587. xrt-1.6.2/xrt/backends/raycing/sources_beams.py +423 -0
  588. xrt-1.6.2/xrt/backends/raycing/sources_geoms.py +997 -0
  589. xrt-1.6.2/xrt/backends/raycing/sources_legacy.py +968 -0
  590. xrt-1.6.2/xrt/backends/raycing/sources_sybase.py +1614 -0
  591. xrt-1.6.2/xrt/backends/raycing/sources_synchr.py +2033 -0
  592. xrt-1.6.2/xrt/backends/raycing/stages.py +210 -0
  593. xrt-1.6.2/xrt/backends/raycing/undulator.cl +1072 -0
  594. xrt-1.6.2/xrt/backends/raycing/waves.py +889 -0
  595. xrt-1.6.2/xrt/backends/raycing/xrt_complex_double.cl +95 -0
  596. xrt-1.6.2/xrt/backends/raycing/xrt_complex_float.cl +97 -0
  597. xrt-1.6.2/xrt/backends/shadow.py +503 -0
  598. xrt-1.6.2/xrt/gui/__init__.py +1 -0
  599. xrt-1.6.2/xrt/gui/commons/__init__.py +1 -0
  600. xrt-1.6.2/xrt/gui/commons/_images/1-LEG_profile-adhoc.png +0 -0
  601. xrt-1.6.2/xrt/gui/commons/_images/1-LEG_profile-default.png +0 -0
  602. xrt-1.6.2/xrt/gui/commons/_images/ePos=0.png +0 -0
  603. xrt-1.6.2/xrt/gui/commons/_images/ePos=1.png +0 -0
  604. xrt-1.6.2/xrt/gui/commons/_images/ePos=2.png +0 -0
  605. xrt-1.6.2/xrt/gui/commons/_images/ex03_glow.png +0 -0
  606. xrt-1.6.2/xrt/gui/commons/_images/ex03_p01.png +0 -0
  607. xrt-1.6.2/xrt/gui/commons/_images/ex03_p02.png +0 -0
  608. xrt-1.6.2/xrt/gui/commons/_images/ex03_p03a.png +0 -0
  609. xrt-1.6.2/xrt/gui/commons/_images/ex03_p03b.png +0 -0
  610. xrt-1.6.2/xrt/gui/commons/_images/ex03_p03c.png +0 -0
  611. xrt-1.6.2/xrt/gui/commons/_images/ex03_p03d.png +0 -0
  612. xrt-1.6.2/xrt/gui/commons/_images/filterFootprint2_I400mum.png +0 -0
  613. xrt-1.6.2/xrt/gui/commons/_images/filterFootprint2_I400mum_norm1.png +0 -0
  614. xrt-1.6.2/xrt/gui/commons/_images/filterFootprint2_I400mum_norm2.png +0 -0
  615. xrt-1.6.2/xrt/gui/commons/_images/invertColorMap=0_negative=0.png +0 -0
  616. xrt-1.6.2/xrt/gui/commons/_images/invertColorMap=0_negative=1.png +0 -0
  617. xrt-1.6.2/xrt/gui/commons/_images/invertColorMap=1_negative=0.png +0 -0
  618. xrt-1.6.2/xrt/gui/commons/_images/invertColorMap=1_negative=1.png +0 -0
  619. xrt-1.6.2/xrt/gui/commons/_images/negative=1+fullNegative.png +0 -0
  620. xrt-1.6.2/xrt/gui/commons/_images/offset0.png +0 -0
  621. xrt-1.6.2/xrt/gui/commons/_images/offset5000.png +0 -0
  622. xrt-1.6.2/xrt/gui/commons/_images/outline00.png +0 -0
  623. xrt-1.6.2/xrt/gui/commons/_images/outline05.png +0 -0
  624. xrt-1.6.2/xrt/gui/commons/_images/outline10.png +0 -0
  625. xrt-1.6.2/xrt/gui/commons/_images/qookSplash2.gif +0 -0
  626. xrt-1.6.2/xrt/gui/commons/_images/qookTutor01.png +0 -0
  627. xrt-1.6.2/xrt/gui/commons/_images/qookTutor02.png +0 -0
  628. xrt-1.6.2/xrt/gui/commons/_images/qookTutor03.png +0 -0
  629. xrt-1.6.2/xrt/gui/commons/_images/qookTutor04.png +0 -0
  630. xrt-1.6.2/xrt/gui/commons/_images/qookTutor05.png +0 -0
  631. xrt-1.6.2/xrt/gui/commons/_images/qookTutor06.png +0 -0
  632. xrt-1.6.2/xrt/gui/commons/_images/qookTutor07.png +0 -0
  633. xrt-1.6.2/xrt/gui/commons/_images/qookTutor08.png +0 -0
  634. xrt-1.6.2/xrt/gui/commons/_images/qookTutor09.png +0 -0
  635. xrt-1.6.2/xrt/gui/commons/_images/qookTutor10.png +0 -0
  636. xrt-1.6.2/xrt/gui/commons/_images/qookTutor11.png +0 -0
  637. xrt-1.6.2/xrt/gui/commons/_themes/qook/layout.html +18 -0
  638. xrt-1.6.2/xrt/gui/commons/_themes/qook/page.html +23 -0
  639. xrt-1.6.2/xrt/gui/commons/_themes/qook/static/default.css_t +342 -0
  640. xrt-1.6.2/xrt/gui/commons/_themes/qook/static/jquery.js +2 -0
  641. xrt-1.6.2/xrt/gui/commons/_themes/qook/static/math_config_win32.js +0 -0
  642. xrt-1.6.2/xrt/gui/commons/_themes/qook/static/utils.js +34 -0
  643. xrt-1.6.2/xrt/gui/commons/_themes/qook/theme.conf +31 -0
  644. xrt-1.6.2/xrt/gui/commons/conf.py +130 -0
  645. xrt-1.6.2/xrt/gui/commons/ext.py +125 -0
  646. xrt-1.6.2/xrt/gui/commons/gl.py +45 -0
  647. xrt-1.6.2/xrt/gui/commons/qt.py +186 -0
  648. xrt-1.6.2/xrt/gui/xrtBentXtal.py +1383 -0
  649. xrt-1.6.2/xrt/gui/xrtGlow/__init__.py +4679 -0
  650. xrt-1.6.2/xrt/gui/xrtGlow/_icons/icon-GLow.ico +0 -0
  651. xrt-1.6.2/xrt/gui/xrtGlow/notes.py +115 -0
  652. xrt-1.6.2/xrt/gui/xrtQook/__init__.py +3943 -0
  653. xrt-1.6.2/xrt/gui/xrtQook/_icons/3dg_256.png +0 -0
  654. xrt-1.6.2/xrt/gui/xrtQook/_icons/GPU4.png +0 -0
  655. xrt-1.6.2/xrt/gui/xrtQook/_icons/add1.png +0 -0
  656. xrt-1.6.2/xrt/gui/xrtQook/_icons/add2.png +0 -0
  657. xrt-1.6.2/xrt/gui/xrtQook/_icons/add3.png +0 -0
  658. xrt-1.6.2/xrt/gui/xrtQook/_icons/add4.png +0 -0
  659. xrt-1.6.2/xrt/gui/xrtQook/_icons/add5.png +0 -0
  660. xrt-1.6.2/xrt/gui/xrtQook/_icons/add6.png +0 -0
  661. xrt-1.6.2/xrt/gui/xrtQook/_icons/dialog-information.png +0 -0
  662. xrt-1.6.2/xrt/gui/xrtQook/_icons/dialog-question.png +0 -0
  663. xrt-1.6.2/xrt/gui/xrtQook/_icons/eyeglasses7_128.png +0 -0
  664. xrt-1.6.2/xrt/gui/xrtQook/_icons/filenew.png +0 -0
  665. xrt-1.6.2/xrt/gui/xrtQook/_icons/fileopen.png +0 -0
  666. xrt-1.6.2/xrt/gui/xrtQook/_icons/filesave.png +0 -0
  667. xrt-1.6.2/xrt/gui/xrtQook/_icons/filesaveas.png +0 -0
  668. xrt-1.6.2/xrt/gui/xrtQook/_icons/home.png +0 -0
  669. xrt-1.6.2/xrt/gui/xrtQook/_icons/index.txt +13 -0
  670. xrt-1.6.2/xrt/gui/xrtQook/_icons/light_bulb.png +0 -0
  671. xrt-1.6.2/xrt/gui/xrtQook/_icons/logo-xrtQt.png +0 -0
  672. xrt-1.6.2/xrt/gui/xrtQook/_icons/pythonscript.png +0 -0
  673. xrt-1.6.2/xrt/gui/xrtQook/_icons/pythonscriptsave.png +0 -0
  674. xrt-1.6.2/xrt/gui/xrtQook/_icons/pythonscriptsaveas.png +0 -0
  675. xrt-1.6.2/xrt/gui/xrtQook/_icons/readme.png +0 -0
  676. xrt-1.6.2/xrt/gui/xrtQook/_icons/run.png +0 -0
  677. xrt-1.6.2/xrt/gui/xrtQook/_icons/xbcc.ico +0 -0
  678. xrt-1.6.2/xrt/gui/xrtQook/_icons/xbcc.png +0 -0
  679. xrt-1.6.2/xrt/gui/xrtQook/_icons/xrQt1.ico +0 -0
  680. xrt-1.6.2/xrt/gui/xrtQook/tutorial.py +121 -0
  681. xrt-1.6.2/xrt/gui/xrtQookStart.py +53 -0
  682. xrt-1.6.2/xrt/gui/xrtQookStart.pyw +52 -0
  683. xrt-1.6.2/xrt/kde.py +298 -0
  684. xrt-1.6.2/xrt/multipro.py +379 -0
  685. xrt-1.6.2/xrt/plotter.py +2024 -0
  686. xrt-1.6.2/xrt/runner.py +651 -0
  687. xrt-1.6.2/xrt/version.py +4 -0
  688. xrt-1.6.2/xrt/xrt_logo.ico +0 -0
  689. xrt-1.6.2/xrt.egg-info/PKG-INFO +203 -0
  690. xrt-1.6.2/xrt.egg-info/SOURCES.txt +716 -0
  691. xrt-1.6.2/xrt.egg-info/dependency_links.txt +1 -0
  692. xrt-1.6.2/xrt.egg-info/not-zip-safe +1 -0
  693. xrt-1.6.2/xrt.egg-info/requires.txt +15 -0
  694. xrt-1.6.2/xrt.egg-info/top_level.txt +1 -0
xrt-1.6.2/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License
2
+ ---------------
3
+
4
+ Copyright (c) 2014 Konstantin Klementiev, Roman Chernikov
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
xrt-1.6.2/MANIFEST.in ADDED
@@ -0,0 +1,39 @@
1
+ include README.txt
2
+ include LICENSE.txt
3
+ include xrt\xrt_logo.ico
4
+ include examples\__init__.py
5
+ include examples\withDummy\logo-python.png
6
+ recursive-include examples\withDummy *.py
7
+ include examples\withRaycing\__init__.py
8
+ recursive-include examples\withRaycing\_QookBeamlines *
9
+ recursive-include examples\withRaycing\00_xRayCalculator *.py
10
+ recursive-include examples\withRaycing\01_SynchrotronSources *.py B*.xlsx b*.dc0 *.gz
11
+ recursive-include examples\withRaycing\02_Balder_BL *.py
12
+ recursive-include examples\withRaycing\03_LaueMono *.py
13
+ recursive-include examples\withRaycing\04_Lenses *.py
14
+ recursive-include examples\withRaycing\05_QWP *.py
15
+ recursive-include examples\withRaycing\06_AnalyzerBent1D *.py
16
+ recursive-include examples\withRaycing\07_AnalyzerBent2D *.py
17
+ recursive-include examples\withRaycing\08_CLAESS_BL *.py
18
+ recursive-include examples\withRaycing\09_Gratings *.py *.txt
19
+ recursive-include examples\withRaycing\10_MultipleReflect *.py
20
+ recursive-include examples\withRaycing\11_Waves *.py *.dat
21
+ recursive-include examples\withRaycing\12_Multilayer *.py
22
+ recursive-include examples\withRaycing\13_Warping *.py *.dat
23
+ recursive-include examples\withRaycing\14_SoftiMAX *.py
24
+ recursive-include examples\withRaycing\15_XRD *
25
+ recursive-include examples\withRaycing\16_ParametricOptimization *.py
26
+ include examples\withShadow\__init__.py
27
+ recursive-include examples\withShadow\00_02 *.py
28
+ recursive-include examples\withShadow\00_02\tmp0 *
29
+ recursive-include examples\withShadow\03 *.py
30
+ recursive-include examples\withShadow\03\tmp0 *
31
+ recursive-include examples\withShadow\04_06 *.py
32
+ recursive-include examples\withShadow\04_06\tmp0 *
33
+ recursive-include tests *.py
34
+ recursive-include tests\raycing\CXRO-Reflectivities *
35
+ recursive-include tests\raycing\IR *
36
+ recursive-include tests\raycing\misc *
37
+ recursive-include tests\raycing\RemoteOpenCLCalculation *
38
+ recursive-include tests\raycing\XOP-Reflectivities *
39
+ recursive-include tests\raycing\XOP-RockingCurves *
xrt-1.6.2/PKG-INFO ADDED
@@ -0,0 +1,203 @@
1
+ Metadata-Version: 2.4
2
+ Name: xrt
3
+ Version: 1.6.2
4
+ Summary: Ray tracing and wave propagation in x-ray regime, primarily meant for modeling synchrotron sources, beamlines and beamline elements. Includes a GUI for creating a beamline and viewing it in 3D.
5
+ Home-page: http://xrt.readthedocs.io
6
+ Author: Konstantin Klementiev, Roman Chernikov
7
+ Author-email: konstantin.klementiev@gmail.com, rchernikov@gmail.com
8
+ License: MIT License
9
+ Platform: OS Independent
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Natural Language :: English
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 2
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Topic :: Scientific/Engineering :: Physics
18
+ Classifier: Topic :: Scientific/Engineering :: Visualization
19
+ Description-Content-Type: text/x-rst
20
+ License-File: LICENSE.txt
21
+ Requires-Dist: numpy>=1.8.0
22
+ Requires-Dist: scipy>=0.17.0
23
+ Requires-Dist: matplotlib>=2.0.0
24
+ Requires-Dist: sphinx>=1.6.2
25
+ Requires-Dist: sphinxcontrib-jquery
26
+ Requires-Dist: distro
27
+ Requires-Dist: sphinx-tabs>=3.4.7
28
+ Requires-Dist: colorama
29
+ Requires-Dist: pyopencl
30
+ Requires-Dist: pyopengl
31
+ Requires-Dist: siphash24
32
+ Provides-Extra: pyqt5
33
+ Requires-Dist: pyqt5; extra == "pyqt5"
34
+ Requires-Dist: PyQtWebEngine; extra == "pyqt5"
35
+ Dynamic: author
36
+ Dynamic: author-email
37
+ Dynamic: classifier
38
+ Dynamic: description
39
+ Dynamic: description-content-type
40
+ Dynamic: home-page
41
+ Dynamic: keywords
42
+ Dynamic: license
43
+ Dynamic: license-file
44
+ Dynamic: platform
45
+ Dynamic: provides-extra
46
+ Dynamic: requires-dist
47
+ Dynamic: summary
48
+
49
+
50
+ Package xrt is a python software library for ray tracing and wave propagation
51
+ in x-ray regime. It is primarily meant for modeling synchrotron sources,
52
+ beamlines and beamline elements. Includes a GUI for creating a beamline and
53
+ interactively viewing it in 3D.
54
+
55
+ Features of xrt
56
+ ---------------
57
+
58
+ * *Rays and waves*. Classical ray tracing and wave propagation via Kirchhoff
59
+ integrals, also freely intermixed. No further approximations, such as thin
60
+ lens or paraxial. The optical surfaces may have figure errors, analytical or
61
+ measured. In wave propagation, partially coherent radiation is treated by
62
+ incoherent addition of coherently diffracted fields generated per electron.
63
+ Propagation of _individual_ coherent source modes is possible as waves,
64
+ hybrid waves (i.e. partially as rays and then as waves) and only rays.
65
+
66
+ * *Publication quality graphics*. 1D and 2D position histograms are
67
+ *simultaneously* coded by hue and brightness. Typically, colors represent
68
+ energy and brightness represents beam intensity. The user may select other
69
+ quantities to be encoded by colors: angular and positional distributions,
70
+ various polarization properties, beam categories, number of reflections,
71
+ incidence angle etc. Brightness can also encode partial flux for a selected
72
+ polarization and incident or absorbed power. Publication quality plots are
73
+ provided by matplotlib with image formats PNG, PostScript, PDF and SVG.
74
+
75
+ * *Unlimited number of rays*. The colored histograms are *cumulative*. The
76
+ accumulation can be stopped and resumed.
77
+
78
+ * *Parallel execution*. xrt can be run in parallel in several threads or
79
+ processes (can be opted), which accelerates the execution on multi-core
80
+ computers. Alternatively, xrt can use the power of GPUs via OpenCL for
81
+ running special tasks such as the calculation of an undulator source or
82
+ performing wave propagation.
83
+
84
+ * *Scripting in Python*. xrt can be run within Python scripts to generate a
85
+ series of images under changing geometrical or physical parameters. The image
86
+ brightness and 1D histograms can be normalized to the global maximum
87
+ throughout the series.
88
+
89
+ * *Synchrotron sources*. Bending magnet, wiggler, undulator and elliptic
90
+ undulator are calculated internally within xrt. Please look the section
91
+ "Comparison of synchrotron source codes" for the comparison other popular
92
+ codes. If the photon source is one of the synchrotron sources, the total flux
93
+ in the beam is reported not just in number of rays but in physical units of
94
+ ph/s. The total power or absorbed power can be opted instead of flux and is
95
+ reported in W. The power density can be visualized by isolines. The magnetic
96
+ gap of undulators can be tapered. Undulators can be calculated in near field.
97
+ Custom magnetic field is also possible. Undulators can be calculated on GPU,
98
+ with a high gain in computation speed, which is important for tapering and
99
+ near field calculations.
100
+
101
+ * *Shapes*. There are several predefined shapes of optical elements implemented
102
+ as python classes. The python inheritance mechanism simplifies creation of
103
+ other shapes: the user specifies methods for surface height and surface
104
+ normal. The surface and the normal are defined either in local Cartesian
105
+ coordinates or in user-defined parametric coordinates. Parametric
106
+ representation enables closed shapes such as capillaries or wave guides. It
107
+ also enables exact solutions for complex shapes (e.g. a logarithmic spiral or
108
+ an ellipsoid) without any expansion. The methods of finding the intersections
109
+ of rays with the surface are very robust and can cope with pathological cases
110
+ such as sharp surface kinks. Notice that the search for intersection points
111
+ does not involve any approximation and has only numerical inaccuracy which is
112
+ set by default as 1 fm. Any surface can be combined with a (differently and
113
+ variably oriented) crystal structure and/or (variable) grating vector.
114
+ Surfaces can be faceted.
115
+
116
+ * *Energy dispersive elements*. Implemented are crystals in dynamical
117
+ diffraction, gratings (also with efficiency calculations), Fresnel zone
118
+ plates, Bragg-Fresnel optics and multilayers in dynamical diffraction.
119
+ Crystals can work in Bragg or Laue cases, in reflection or in transmission.
120
+ The two-field polarization phenomena are fully preserved, also within the
121
+ Darwin diffraction plateau, thus enabling the ray tracing of crystal-based
122
+ phase retarders.
123
+
124
+ * *Materials*. The material properties are incorporated using three different
125
+ tabulations of the scattering factors, with differently wide and differently
126
+ dense energy meshes. Refractive index and absorption coefficient are
127
+ calculated from the scattering factors. Two-surface bodies, such as plates or
128
+ refractive lenses, are treated with both refraction and absorption.
129
+
130
+ * *Multiple reflections*. xrt can trace multiple reflections in a single
131
+ optical element. This is useful, for example in 'whispering gallery' optics
132
+ or in Montel or Wolter mirrors.
133
+
134
+ * *Non-sequential optics*. xrt can trace non-sequential optics where different
135
+ parts of the incoming beam meet different surfaces. Examples of such optics
136
+ are poly-capillaries and Wolter mirrors.
137
+
138
+ * *Singular optics*. xrt correctly propagates vortex beams, which can be used
139
+ for studying the creation of vortex beams by transmissive or reflective
140
+ optics.
141
+
142
+ * *Global coordinate system*. The optical elements are positioned in a global
143
+ coordinate system. This is convenient for modeling a real synchrotron
144
+ beamline. The coordinates in this system can be directly taken from a CAD
145
+ library. The optical surfaces are defined in their local systems for the
146
+ user's convenience.
147
+
148
+ * *Beam categories*. xrt discriminates rays by several categories: `good`,
149
+ `out`, `over` and `dead`. This distinction simplifies the adjustment of
150
+ entrance and exit slits. An alarm is triggered if the fraction of dead rays
151
+ exceeds a specified level.
152
+
153
+ * *Portability*. xrt runs on Windows and Unix-like platforms, wherever you can
154
+ run python.
155
+
156
+ * *Examples*. xrt comes with many examples; see the galleries, the links are at
157
+ the top bar.
158
+
159
+ xrtQook -- a GUI for creating scripts
160
+ -------------------------------------
161
+
162
+ The main interface to xrt is through a python script. Many examples of such
163
+ scripts can be found in the supplied folders 'examples' and 'tests'. The script
164
+ imports the modules of xrt, instantiates beamline parts, such as synchrotron or
165
+ geometric sources, various optical elements, apertures and screens, specifies
166
+ required materials for reflection, refraction or diffraction, defines plots and
167
+ sets job parameters.
168
+
169
+ The Qt tool xrtQook takes these ingredients as GUI elements and prepares a
170
+ ready to use script that can be run within the tool itself or in an external
171
+ Python context. xrtQook has a parallelly updated help panel that provides a
172
+ complete list of parameters for the used objects. xrtQook writes/reads the
173
+ recipes of beamlines into/from xml files.
174
+
175
+ xrtGlow -- an interactive 3D beamline viewer
176
+ --------------------------------------------
177
+
178
+ The beamline created in xrtQook can be interactively viewed in an OpenGL based
179
+ widget xrtGlow. It visualizes beams, footprints, surfaces, apertures and
180
+ screens. The brightness represents intensity and the color represents an
181
+ auxiliary user-selected distribution, typically energy. A virtual screen can be
182
+ put at any position and dragged by mouse with simultaneous observation of the
183
+ beam distribution on it.
184
+
185
+ The primary purpose of xrtGlow is to demonstrate the alignment correctness
186
+ given the fact that xrtQook can automatically calculate several positional and
187
+ angular parameters.
188
+
189
+ Installation
190
+ ------------
191
+
192
+ Install it by pip or conda or get xrt from `GitHub` and use it with or without
193
+ installation.
194
+
195
+ The distribution archive also includes tests and examples. The complete
196
+ documentation is available online on `Read the Docs` and offline as zip file on
197
+ GitHub`.
198
+
199
+ Get help
200
+ --------
201
+
202
+ For getting help and/or reporting a bug please use `GitHub xrt Issues`.
203
+
xrt-1.6.2/README.txt ADDED
@@ -0,0 +1,15 @@
1
+ Installation
2
+ ------------
3
+
4
+ Unzip the .zip file into a suitable directory and use
5
+ sys.path.append(path-to-xrt)
6
+ in your script. You can also install xrt to the standard location by running
7
+ python setup.py install from the directory where you have unzipped the archive,
8
+ which is less convenient if you try different versions of xrt and/or different
9
+ versions of python.
10
+
11
+ To run xrtQook, simply start xrtQookStart.pyw from xrt/gui or, if you have
12
+ installed xrt by running setup.py, type `xrtQookStart.pyw` from any location.
13
+
14
+ Note that python-64-bit is by ~20% faster than the 32-bit version (tested with
15
+ WinPython).
@@ -0,0 +1 @@
1
+ pass
@@ -0,0 +1,27 @@
1
+ r"""
2
+ Logo
3
+ ----
4
+
5
+ Uses :mod:`dummy` backend.
6
+ File: `\\examples\\withDummy\\logo_xrt.py`
7
+
8
+ :mod:`xrt` logo (on the right, in two versions) created from a "flat" python
9
+ logo (on the left).
10
+
11
+ +------------------+------------------+------------------+
12
+ | |ini_image| | |logo_image| | |logo_image_inv| |
13
+ +------------------+------------------+------------------+
14
+
15
+ .. |ini_image| imagezoom:: _images/logo-python.*
16
+ :alt:  "flat" python logo
17
+ :scale: 50 %
18
+ .. |logo_image| imagezoom:: _images/logo-xrt.*
19
+ :alt:  xrt logo with white background
20
+ :scale: 50 %
21
+ .. |logo_image_inv| imagezoom:: _images/logo-xrt-inv.*
22
+ :alt:  xrt logo with black background
23
+ :scale: 50 %
24
+ :loc: upper-right-corner
25
+
26
+ """
27
+ pass
@@ -0,0 +1,93 @@
1
+ __author__ = "Konstantin Klementiev"
2
+ __date__ = "1 Mar 2012"
3
+
4
+ import sys
5
+ sys.path.append(r"c:\Ray-tracing")
6
+ #sys.path.append(r"/media/sf_Ray-tracing")
7
+ import numpy as np
8
+ #import matplotlib as mpl
9
+ #mpl.use('agg')
10
+ import matplotlib.pyplot as plt
11
+
12
+ import xrt.plotter as xrtp
13
+ import xrt.runner as xrtr
14
+ import xrt.backends.dummy as dummy
15
+ import copy
16
+
17
+
18
+ def main():
19
+ logo = plt.imread('logo-python.png') # load 2D template
20
+ # logo = plt.imread('logo_test0.png') # load 2D template
21
+ logo_mono = logo[:, :, 0] + logo[:, :, 1] + logo[:, :, 2]*2
22
+ logo_blue = copy.deepcopy(logo_mono)
23
+ logo_blue[logo[:, :, 2] < 0.4] = 0
24
+ logo_yellow = copy.deepcopy(logo_mono)
25
+ logo_yellow[logo[:, :, 0] < 0.4] = 0
26
+ xrtp.height1d = 64
27
+ xrtp.heightE1d = 64
28
+ xrtp.xspace1dtoE1d = 4
29
+ xrtp.xOrigin2d = 4
30
+ xrtp.yOrigin2d = 4
31
+ xrtp.xSpaceExtra = 6
32
+ xrtp.ySpaceExtra = 4
33
+
34
+ # make "ray-tracing" arrays: x, y, intensity and cData
35
+ locNrays = logo.shape[0] * logo.shape[1]
36
+ xy = np.mgrid[0:logo.shape[1], 0:logo.shape[0]]
37
+ x = xy[0, ...].flatten()
38
+ y = logo.shape[0] - xy[1, ...].flatten()
39
+ print(logo.shape)
40
+ intensity = logo_mono.T.flatten()
41
+ cData = y * np.log(abs(x)+1.5)
42
+ cDatamax = np.max(cData)
43
+
44
+ def local_output():
45
+ return x, y, intensity, cData, locNrays
46
+ dummy.run_process = local_output # invoked by pyXRayTrcaer to get the rays
47
+
48
+ blue_area = logo_blue.T.flatten() > 0.1
49
+ cData[blue_area] = cDatamax*0.5 + (y[blue_area] - logo.shape[0]*0.5)*1.2
50
+ yellow_area = logo_yellow.T.flatten() > 0.1
51
+ cData[yellow_area] = cDatamax*0.15 - \
52
+ (y[yellow_area] - logo.shape[0]*0.5)*1.2
53
+ intensity[~blue_area & ~yellow_area] = 0.
54
+
55
+ plot1 = xrtp.XYCPlot(
56
+ 'dummy',
57
+ saveName=['logo-xrt.png', 'logo_xrt.pdf'],
58
+ # saveName=['logo-xrt-inv.png', 'logo_xrt-inv.pdf'],
59
+ xaxis=xrtp.XYCAxis('', '', fwhmFormatStr=None, bins=logo.shape[1],
60
+ ppb=1, limits=[0.5, logo.shape[1]+0.5]),
61
+ yaxis=xrtp.XYCAxis('', '', fwhmFormatStr=None, bins=logo.shape[0],
62
+ ppb=1, limits=[0.5, logo.shape[0]+0.5]),
63
+ caxis=xrtp.XYCAxis(
64
+ '', '', fwhmFormatStr=None, bins=logo.shape[0]/2, ppb=2,
65
+ limits=[10, cDatamax*0.8]),
66
+ negative=True, invertColorMap=True,
67
+ aspect='auto')
68
+ plot1.textPanel = plot1.fig.text(
69
+ 0.75, 0.74, 'xrt', transform=plot1.fig.transFigure, size=70, color='r',
70
+ ha='center', fontname='times new roman', weight=660)
71
+ # with no labels:
72
+ plot1.textNrays = None
73
+ plot1.textGoodrays = None
74
+ plot1.textI = None
75
+ # ... and no tick labels:
76
+ plt.setp(
77
+ plot1.ax1dHistEbar.get_yticklabels() +
78
+ plot1.ax2dHist.get_xticklabels() + plot1.ax2dHist.get_yticklabels(),
79
+ visible=False)
80
+ # ... and no ticks:
81
+ allAxes = [plot1.ax1dHistX, plot1.ax1dHistY, plot1.ax2dHist,
82
+ plot1.ax1dHistE, plot1.ax1dHistEbar]
83
+ for ax in allAxes:
84
+ for axXY in (ax.xaxis, ax.yaxis):
85
+ plt.setp(axXY.get_ticklines(), visible=False)
86
+ # end of no ticks:
87
+
88
+ xrtr.run_ray_tracing(plot1, repeats=2, backend='dummy')
89
+
90
+ #this is necessary to use multiprocessing in Windows, otherwise the new Python
91
+ #contexts cannot be initialized:
92
+ if __name__ == '__main__':
93
+ main()
@@ -0,0 +1,61 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Module :mod:`demo` represents the simplest example of xrt. Its main objective
4
+ is to demonstrate the output graphics, where the user can play with several
5
+ options given by the parameters of :class:`XYCPlot` constructors. The default
6
+ ray distributions provided by the 'dummy' backend have no physical meaning but
7
+ can be changed in module :mod:`dummy`.
8
+ """
9
+ #import matplotlib as mpl
10
+ #mpl.use('wx')
11
+ import sys
12
+ sys.path.append(r"c:\Ray-tracing")
13
+
14
+ import xrt.plotter as plotter
15
+ import xrt.runner as runner
16
+
17
+
18
+ def demo():
19
+ """The main body of demo."""
20
+ plots = []
21
+
22
+ #create a plot...
23
+ plot = plotter.XYCPlot(title='normal energy distribution')
24
+ #notice the energy offset and how it is displayed
25
+ plot.caxis.offset = 5000
26
+ # plot1.persistentName='01.pickle' #for saving and restoring
27
+ plot.xaxis.limits = [-2.5, 2.5]
28
+ plot.yaxis.limits = [-2.5, 2.5]
29
+ filename = 'offset5000'
30
+ plot.saveName = [filename + '.pdf', filename + '.png']
31
+ #an example of creating a label:
32
+ #the first 2 values are x and y in figure coordinates
33
+ plot.textPanel = plot.fig.text(
34
+ 0.76, 0.8, '', transform=plot.fig.transFigure, size=12, color='r')
35
+ plot.caxis.fwhmFormatStr = '%.1f'
36
+ plots.append(plot)
37
+
38
+ #... and another plot. The 2nd plot is negative and of inverted colors (i.e.
39
+ #the energy color map is inverted back to that of plot1 after making the graph
40
+ #negative)
41
+ plot = plotter.XYCPlot(
42
+ invertColorMap=True, negative=True, title='normal energy distribution,\
43
+ negative+{inverted colors}')
44
+ plot.xaxis.limits = [-1, 1]
45
+ plot.yaxis.limits = [-1, 1]
46
+ #an example of creating a label:
47
+ plot.textPanel = plot.fig.text(
48
+ 0.76, 0.8, '', transform=plot.fig.transFigure, size=12, color='b')
49
+ plot.xaxis.fwhmFormatStr = '%.1f'
50
+ plots.append(plot)
51
+
52
+ #a dummy text:
53
+ for plot in plots:
54
+ plot.textPanel.set_text(
55
+ 'test label1 = {0}\ntest label2 = {1}'.format(0.1, r'$e^{i\pi}$'))
56
+
57
+ runner.run_ray_tracing(
58
+ plots, repeats=40, updateEvery=2, backend='dummy', processes='all')
59
+
60
+ if __name__ == '__main__':
61
+ demo()
@@ -0,0 +1,177 @@
1
+ # -*- coding: utf-8 -*-
2
+ r"""
3
+ .. _calc:
4
+
5
+ Using xrt as x-ray calculator
6
+ -----------------------------
7
+
8
+ xrt can be used as a library for calculations of synchrotron sources and
9
+ material properties related to x-ray scattering, diffraction and propagation:
10
+ reflectivity, transmittivity, refractive index, absorption coefficient etc.
11
+
12
+ See the scripts in ``\examples\withRaycing\00_xRayCalculator\``.
13
+ Each script consists of:
14
+
15
+ 1) imports, with possibly defining a path to xrt if it is installed in a
16
+ non-standard location,
17
+ 2) a definition of a source or a material object,
18
+ 3) invocation of a corresponding method of interest for a specified range of
19
+ energy, angles etc. and
20
+ 4) plotting.
21
+
22
+ Example 1a: Undulator
23
+ ~~~~~~~~~~~~~~~~~~~~~
24
+
25
+ .. imagezoomhover:: _images/calc_undulator.png
26
+ :align: right
27
+
28
+ .. code-block:: python
29
+ :emphasize-lines: 6,7,12
30
+
31
+ import numpy as np
32
+ import matplotlib.pyplot as plt
33
+ import sys; sys.path.append(r"c:\Ray-tracing")
34
+ import xrt.backends.raycing.sources as rs
35
+
36
+ source = rs.Undulator(eE=3.0, eI=0.5, eEpsilonX=0.263, eEpsilonZ=0.008,
37
+ betaX=9.539, betaZ=1.982, period=18.5, n=108, K=0.52, distE='BW')
38
+
39
+ energy = np.linspace(3850, 4150, 601)
40
+ theta = np.linspace(-1, 1, 51) * 30e-6
41
+ psi = np.linspace(-1, 1, 51) * 30e-6
42
+ I0, l1, l2, l3 = source.intensities_on_mesh(energy, theta, psi)
43
+ dtheta, dpsi = theta[1] - theta[0], psi[1] - psi[0]
44
+ flux = I0.sum(axis=(1, 2)) * dtheta * dpsi
45
+
46
+ plt.plot(energy, flux)
47
+ plt.show()
48
+
49
+ Example 1b: Undulator, tuning curves
50
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51
+
52
+ .. imagezoomhover:: _images/calc_undulator_tune.png
53
+ :align: right
54
+
55
+ .. code-block:: python
56
+
57
+ tunesE, tunesF = source.tuning_curves(energy, theta, psi, harmonics, Ks)
58
+
59
+ See the script
60
+ ``\examples\withRaycing\00_xRayCalculator\calc_undulator_tune.py``.
61
+
62
+ .. raw:: html
63
+
64
+ <div class="clearer"> </div>
65
+
66
+ Example 2a: Crystal reflectivity
67
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68
+
69
+ .. imagezoomhover:: _images/calc_crystal.png
70
+ :align: right
71
+
72
+ .. code-block:: python
73
+ :emphasize-lines: 6,11
74
+
75
+ import numpy as np
76
+ import matplotlib.pyplot as plt
77
+ import sys; sys.path.append(r"c:\Ray-tracing")
78
+ import xrt.backends.raycing.materials as rm
79
+
80
+ crystal = rm.CrystalSi(hkl=(1, 1, 1))
81
+
82
+ E = 9000
83
+ dtheta = np.linspace(-20, 80, 501)
84
+ theta = crystal.get_Bragg_angle(E) + dtheta*1e-6
85
+ curS, curP = crystal.get_amplitude(E, np.sin(theta))
86
+
87
+ plt.plot(dtheta, abs(curS)**2, 'r', dtheta, abs(curP)**2, 'b')
88
+ plt.show()
89
+
90
+ .. raw:: html
91
+
92
+ <div class="clearer"> </div>
93
+
94
+ Example 2b: Crystal reflectivity: Single and double crystal
95
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96
+
97
+ .. imagezoomhover:: _images/calc_crystal_rocking_curve.png
98
+
99
+ See the script
100
+ ``\examples\withRaycing\00_xRayCalculator\calc_crystal_rocking_curve.py``.
101
+
102
+ .. raw:: html
103
+
104
+ <div class="clearer"> </div>
105
+
106
+ Example 3: Multilayer reflectivity
107
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
108
+
109
+ .. imagezoomhover:: _images/calc_multilayer.png
110
+ :align: right
111
+
112
+ .. code-block:: python
113
+ :emphasize-lines: 1,2,3,7
114
+
115
+ mSi = rm.Material('Si', rho=2.33)
116
+ mW = rm.Material('W', rho=19.3)
117
+ mL = rm.Multilayer(mSi, 27, mW, 18, 40, mSi)
118
+
119
+ E = 10000
120
+ theta = np.linspace(0, 2.0, 1001) # degrees
121
+ rs, rp = mL.get_amplitude(E, np.sin(np.deg2rad(theta)))[0:2]
122
+
123
+ plt.plot(theta, abs(rs)**2, 'r', theta, abs(rp)**2, 'b')
124
+ plt.show()
125
+
126
+ .. raw:: html
127
+
128
+ <div class="clearer"> </div>
129
+
130
+ Example 4: Mirror reflectivity
131
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
132
+
133
+ .. imagezoomhover:: _images/calc_mirror.png
134
+ :align: right
135
+
136
+ .. code-block:: python
137
+ :emphasize-lines: 1,5
138
+
139
+ stripe = rm.Material(('Si', 'O'), quantities=(1, 2), rho=2.2)
140
+
141
+ E = np.logspace(1 + np.log10(3), 4 + np.log10(5), 501)
142
+ theta = 7e-3
143
+ rs, rp = stripe.get_amplitude(E, np.sin(theta))[0:2]
144
+
145
+ plt.semilogx(E, abs(rs)**2, 'r', E, abs(rp)**2, 'b')
146
+ plt.gca().set_xlim(E[0], E[-1])
147
+ plt.show()
148
+
149
+ .. raw:: html
150
+
151
+ <div class="clearer"> </div>
152
+
153
+ Example 5: Material absorption
154
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
155
+
156
+ .. imagezoomhover:: _images/calc_absorption.png
157
+ :align: right
158
+ :loc: lower-right-corner
159
+
160
+ .. code-block:: python
161
+ :emphasize-lines: 1,4
162
+
163
+ mat = rm.Material('Be', rho=1.848)
164
+
165
+ E = np.logspace(1, 4 + np.log10(3), 501)
166
+ mu = mat.get_absorption_coefficient(E)
167
+
168
+ plt.loglog(E, mu)
169
+ plt.gca().set_xlim(E[0], E[-1])
170
+ plt.show()
171
+
172
+ .. raw:: html
173
+
174
+ <div class="clearer"> </div>
175
+
176
+ """
177
+ pass
@@ -0,0 +1,17 @@
1
+ # -*- coding: utf-8 -*-
2
+ __author__ = "Konstantin Klementiev, Roman Chernikov"
3
+ __date__ = "5 Jun 2018"
4
+ import numpy as np
5
+ import matplotlib.pyplot as plt
6
+ # path to xrt:
7
+ import os, sys; sys.path.append(os.path.join(*['..']*3)) # analysis:ignore
8
+ import xrt.backends.raycing.materials as rm
9
+
10
+ E = np.logspace(1, 4 + np.log10(5), 501)
11
+ for table in ['Chantler', 'Chantler total']:
12
+ mat = rm.Material('Be', rho=1.848, table=table)
13
+ mu = mat.get_absorption_coefficient(E)
14
+ plt.loglog(E, mu)
15
+
16
+ plt.gca().set_xlim(E[0], E[-1])
17
+ plt.show()