OASYS2-SHADOW4 0.0.10__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 (138) hide show
  1. oasys2_shadow4-0.0.10/LICENSE +21 -0
  2. oasys2_shadow4-0.0.10/MANIFEST.in +9 -0
  3. oasys2_shadow4-0.0.10/OASYS2_SHADOW4.egg-info/PKG-INFO +54 -0
  4. oasys2_shadow4-0.0.10/OASYS2_SHADOW4.egg-info/SOURCES.txt +143 -0
  5. oasys2_shadow4-0.0.10/OASYS2_SHADOW4.egg-info/dependency_links.txt +1 -0
  6. oasys2_shadow4-0.0.10/OASYS2_SHADOW4.egg-info/entry_points.txt +12 -0
  7. oasys2_shadow4-0.0.10/OASYS2_SHADOW4.egg-info/not-zip-safe +1 -0
  8. oasys2_shadow4-0.0.10/OASYS2_SHADOW4.egg-info/requires.txt +3 -0
  9. oasys2_shadow4-0.0.10/OASYS2_SHADOW4.egg-info/top_level.txt +1 -0
  10. oasys2_shadow4-0.0.10/PKG-INFO +54 -0
  11. oasys2_shadow4-0.0.10/README.md +19 -0
  12. oasys2_shadow4-0.0.10/orangecontrib/__init__.py +0 -0
  13. oasys2_shadow4-0.0.10/orangecontrib/shadow4/__init__.py +0 -0
  14. oasys2_shadow4-0.0.10/orangecontrib/shadow4/menu/__init__.py +3 -0
  15. oasys2_shadow4-0.0.10/orangecontrib/shadow4/menu/ow_shadow4_menu.py +104 -0
  16. oasys2_shadow4-0.0.10/orangecontrib/shadow4/util/__init__.py +4 -0
  17. oasys2_shadow4-0.0.10/orangecontrib/shadow4/util/python_script.py +275 -0
  18. oasys2_shadow4-0.0.10/orangecontrib/shadow4/util/scanning.py +466 -0
  19. oasys2_shadow4-0.0.10/orangecontrib/shadow4/util/shadow4_objects.py +235 -0
  20. oasys2_shadow4-0.0.10/orangecontrib/shadow4/util/shadow4_util.py +1766 -0
  21. oasys2_shadow4-0.0.10/orangecontrib/shadow4/util/srw.py +46 -0
  22. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/__init__.py +0 -0
  23. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/__init__.py +0 -0
  24. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_abstract_lens.py +177 -0
  25. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_automatic_element.py +45 -0
  26. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_electron_beam.py +263 -0
  27. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_generic_element.py +227 -0
  28. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_optical_element.py +352 -0
  29. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_optical_element_with_surface_shape.py +859 -0
  30. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_optical_element_with_surface_shape_render.py +356 -0
  31. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/ow_synchrotron_source.py +202 -0
  32. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/gui/plots.py +238 -0
  33. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/__init__.py +9 -0
  34. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/icons/beam_accumulating.png +0 -0
  35. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/icons/cycle.png +0 -0
  36. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/icons/histogram_scan.png +0 -0
  37. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/icons/loops.png +0 -0
  38. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/ow_accumulating_node_point.py +183 -0
  39. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/ow_histogram_scan.py +702 -0
  40. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/loops/ow_seed_node_point.py +218 -0
  41. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/__init__.py +13 -0
  42. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/absorber.png +0 -0
  43. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/aperture_absorber.png +0 -0
  44. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/aperture_only.png +0 -0
  45. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/beam_movement.png +0 -0
  46. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_crystal.png +0 -0
  47. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_grating.png +0 -0
  48. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_mirror.png +0 -0
  49. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_multilayer.png +0 -0
  50. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/crl.png +0 -0
  51. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/ellipsoid_crystal.png +0 -0
  52. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/ellipsoid_grating.png +0 -0
  53. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/ellipsoid_mirror.png +0 -0
  54. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/ellipsoid_multilayer.png +0 -0
  55. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/empty_element.png +0 -0
  56. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/generic_beam_stopper.png +0 -0
  57. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/hyperboloid_crystal.png +0 -0
  58. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/hyperboloid_grating.png +0 -0
  59. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/hyperboloid_mirror.png +0 -0
  60. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/hyperboloid_multilayer.png +0 -0
  61. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/ideal_fzp.png +0 -0
  62. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/ideal_lens.png +0 -0
  63. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/interface.png +0 -0
  64. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/lens.png +0 -0
  65. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/obstruction_absorber.png +0 -0
  66. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/obstruction_only.png +0 -0
  67. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/optical_elements.png +0 -0
  68. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/paraboloid_crystal.png +0 -0
  69. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/paraboloid_grating.png +0 -0
  70. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/paraboloid_mirror.png +0 -0
  71. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/paraboloid_multilayer.png +0 -0
  72. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/plane_crystal.png +0 -0
  73. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/plane_grating.png +0 -0
  74. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/plane_mirror.png +0 -0
  75. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/plane_multilayer.png +0 -0
  76. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/screen.png +0 -0
  77. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/spherical_crystal.png +0 -0
  78. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/spherical_grating.png +0 -0
  79. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/spherical_mirror.png +0 -0
  80. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/spherical_multilayer.png +0 -0
  81. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/toroidal_crystal.png +0 -0
  82. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/toroidal_grating.png +0 -0
  83. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/toroidal_mirror.png +0 -0
  84. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/toroidal_multilayer.png +0 -0
  85. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/icons/transfocator.png +0 -0
  86. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_beam_movements.py +280 -0
  87. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_crl.py +123 -0
  88. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_crystal.py +584 -0
  89. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_empty_element.py +18 -0
  90. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_grating.py +362 -0
  91. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_ideal_fzp.py +110 -0
  92. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_ideal_lens.py +161 -0
  93. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_lens.py +108 -0
  94. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_mirror.py +501 -0
  95. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_multilayer.py +369 -0
  96. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_refractive_interface.py +215 -0
  97. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_screen_slits.py +210 -0
  98. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/optics/ow_transfocator.py +914 -0
  99. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/__init__.py +13 -0
  100. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/icons/bragg.png +0 -0
  101. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/icons/ingranaggio.png +0 -0
  102. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/icons/premlayer.png +0 -0
  103. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/icons/prerefl.png +0 -0
  104. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/icons/vls_pgm.png +0 -0
  105. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/ow_bragg.py +474 -0
  106. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/ow_mlayer.py +584 -0
  107. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/ow_prerefl.py +380 -0
  108. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/preprocessors/vls_pgm_coefficients_calculator.py +464 -0
  109. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/__init__.py +13 -0
  110. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/icons/bending_magnet.png +0 -0
  111. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/icons/geometrical.png +0 -0
  112. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/icons/grid.png +0 -0
  113. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/icons/source.png +0 -0
  114. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/icons/ugaussian.png +0 -0
  115. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/icons/undulator.png +0 -0
  116. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/icons/wiggler.png +0 -0
  117. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/ow_bending_magnet.py +168 -0
  118. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/ow_geometrical.py +761 -0
  119. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/ow_grid.py +326 -0
  120. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/ow_undulator.py +426 -0
  121. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/ow_undulator_gaussian.py +252 -0
  122. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/sources/ow_wiggler.py +323 -0
  123. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/__init__.py +13 -0
  124. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/icons/focnew.png +0 -0
  125. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/icons/footprint.png +0 -0
  126. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/icons/histogram.png +0 -0
  127. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/icons/info.png +0 -0
  128. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/icons/plot_scatter.png +0 -0
  129. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/icons/plot_xy.png +0 -0
  130. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/icons/utility.png +0 -0
  131. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/ow_focnew.py +393 -0
  132. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/ow_histogram.py +554 -0
  133. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/ow_info.py +409 -0
  134. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/ow_plot_scatter.py +707 -0
  135. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/ow_plot_xy.py +674 -0
  136. oasys2_shadow4-0.0.10/orangecontrib/shadow4/widgets/tools/ow_plot_xy_footprint.py +114 -0
  137. oasys2_shadow4-0.0.10/setup.cfg +4 -0
  138. oasys2_shadow4-0.0.10/setup.py +139 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019-now Manuel Sanchez del Rio, Luca Rebuffi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,9 @@
1
+ recursive-include orangecontrib *.pyx
2
+ recursive-include orangecontrib *.py
3
+
4
+ recursive-include orangecontrib/shadow4/widgets/sources *.png *.svg *.ico *.jpg *.bmp
5
+ recursive-include orangecontrib/shadow4/widgets/optics *.png *.svg *.ico *.jpg *.bmp
6
+ recursive-include orangecontrib/shadow4/widgets/tools *.png *.svg *.ico *.jpg *.bmp
7
+ recursive-include orangecontrib/shadow4/widgets/compatibility *.png *.svg *.ico *.jpg *.bmp
8
+
9
+ include README.md
@@ -0,0 +1,54 @@
1
+ Metadata-Version: 2.4
2
+ Name: OASYS2-SHADOW4
3
+ Version: 0.0.10
4
+ Summary: oasys2-shadow4: Oasys 2 widgets for shadow4
5
+ Home-page: https://github.com/oasys-kit/OASYS2-SHADOW4
6
+ Download-URL: https://github.com/oasys-kit/OASYS2-SHADOW4
7
+ Author: M. Sanchez del Rio, L. Rebuffi
8
+ Author-email: srio@esrf.eu
9
+ License: BSD3
10
+ Keywords: ray tracing,x-ray optics,oasys2
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: X11 Applications :: Qt
13
+ Classifier: Environment :: Console
14
+ Classifier: Environment :: Plugins
15
+ Classifier: Programming Language :: Python
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Intended Audience :: Science/Research
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: oasys2>=0.0.12
21
+ Requires-Dist: shadow4>=0.1.66
22
+ Requires-Dist: xoppylib>=1.0.43
23
+ Dynamic: author
24
+ Dynamic: author-email
25
+ Dynamic: classifier
26
+ Dynamic: description
27
+ Dynamic: description-content-type
28
+ Dynamic: download-url
29
+ Dynamic: home-page
30
+ Dynamic: keywords
31
+ Dynamic: license
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: summary
35
+
36
+ # OASYS2-SHADOW4
37
+
38
+ This is the official user interface for SHADOW4 (https://github.com/oasys-kit/shadow4). It is presented as an OASYS 2.0 add-on.
39
+
40
+ ## OASYS2-shadow4 installation as user
41
+
42
+ To install the add-on as user:
43
+
44
+ + In the Oasys window, open "Options->Add-ons..."
45
+ + Check the options "Shadow4" and "Shadow4 Avdanced". Click "OK"
46
+ + Restart Oasys.
47
+
48
+
49
+ ## beta tests
50
+ A collection of workspaces are being created containing parallel branches of simulations with shadow3 and shadow4. They are in the repository https://github.com/oasys-kit/shadow4workspaces
51
+
52
+ Please report issues in https://github.com/oasys-kit/shadow4/issues
53
+
54
+
@@ -0,0 +1,143 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ setup.py
5
+ OASYS2_SHADOW4.egg-info/PKG-INFO
6
+ OASYS2_SHADOW4.egg-info/SOURCES.txt
7
+ OASYS2_SHADOW4.egg-info/dependency_links.txt
8
+ OASYS2_SHADOW4.egg-info/entry_points.txt
9
+ OASYS2_SHADOW4.egg-info/not-zip-safe
10
+ OASYS2_SHADOW4.egg-info/requires.txt
11
+ OASYS2_SHADOW4.egg-info/top_level.txt
12
+ OASYS2_shadow4.egg-info/PKG-INFO
13
+ OASYS2_shadow4.egg-info/SOURCES.txt
14
+ OASYS2_shadow4.egg-info/dependency_links.txt
15
+ OASYS2_shadow4.egg-info/entry_points.txt
16
+ OASYS2_shadow4.egg-info/not-zip-safe
17
+ OASYS2_shadow4.egg-info/requires.txt
18
+ OASYS2_shadow4.egg-info/top_level.txt
19
+ orangecontrib/__init__.py
20
+ orangecontrib/shadow4/__init__.py
21
+ orangecontrib/shadow4/menu/__init__.py
22
+ orangecontrib/shadow4/menu/ow_shadow4_menu.py
23
+ orangecontrib/shadow4/util/__init__.py
24
+ orangecontrib/shadow4/util/python_script.py
25
+ orangecontrib/shadow4/util/scanning.py
26
+ orangecontrib/shadow4/util/shadow4_objects.py
27
+ orangecontrib/shadow4/util/shadow4_util.py
28
+ orangecontrib/shadow4/util/srw.py
29
+ orangecontrib/shadow4/widgets/__init__.py
30
+ orangecontrib/shadow4/widgets/gui/__init__.py
31
+ orangecontrib/shadow4/widgets/gui/ow_abstract_lens.py
32
+ orangecontrib/shadow4/widgets/gui/ow_automatic_element.py
33
+ orangecontrib/shadow4/widgets/gui/ow_electron_beam.py
34
+ orangecontrib/shadow4/widgets/gui/ow_generic_element.py
35
+ orangecontrib/shadow4/widgets/gui/ow_optical_element.py
36
+ orangecontrib/shadow4/widgets/gui/ow_optical_element_with_surface_shape.py
37
+ orangecontrib/shadow4/widgets/gui/ow_optical_element_with_surface_shape_render.py
38
+ orangecontrib/shadow4/widgets/gui/ow_synchrotron_source.py
39
+ orangecontrib/shadow4/widgets/gui/plots.py
40
+ orangecontrib/shadow4/widgets/loops/__init__.py
41
+ orangecontrib/shadow4/widgets/loops/ow_accumulating_node_point.py
42
+ orangecontrib/shadow4/widgets/loops/ow_histogram_scan.py
43
+ orangecontrib/shadow4/widgets/loops/ow_seed_node_point.py
44
+ orangecontrib/shadow4/widgets/loops/icons/beam_accumulating.png
45
+ orangecontrib/shadow4/widgets/loops/icons/cycle.png
46
+ orangecontrib/shadow4/widgets/loops/icons/histogram_scan.png
47
+ orangecontrib/shadow4/widgets/loops/icons/loops.png
48
+ orangecontrib/shadow4/widgets/optics/__init__.py
49
+ orangecontrib/shadow4/widgets/optics/ow_beam_movements.py
50
+ orangecontrib/shadow4/widgets/optics/ow_crl.py
51
+ orangecontrib/shadow4/widgets/optics/ow_crystal.py
52
+ orangecontrib/shadow4/widgets/optics/ow_empty_element.py
53
+ orangecontrib/shadow4/widgets/optics/ow_grating.py
54
+ orangecontrib/shadow4/widgets/optics/ow_ideal_fzp.py
55
+ orangecontrib/shadow4/widgets/optics/ow_ideal_lens.py
56
+ orangecontrib/shadow4/widgets/optics/ow_lens.py
57
+ orangecontrib/shadow4/widgets/optics/ow_mirror.py
58
+ orangecontrib/shadow4/widgets/optics/ow_multilayer.py
59
+ orangecontrib/shadow4/widgets/optics/ow_refractive_interface.py
60
+ orangecontrib/shadow4/widgets/optics/ow_screen_slits.py
61
+ orangecontrib/shadow4/widgets/optics/ow_transfocator.py
62
+ orangecontrib/shadow4/widgets/optics/icons/absorber.png
63
+ orangecontrib/shadow4/widgets/optics/icons/aperture_absorber.png
64
+ orangecontrib/shadow4/widgets/optics/icons/aperture_only.png
65
+ orangecontrib/shadow4/widgets/optics/icons/beam_movement.png
66
+ orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_crystal.png
67
+ orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_grating.png
68
+ orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_mirror.png
69
+ orangecontrib/shadow4/widgets/optics/icons/conic_coefficients_multilayer.png
70
+ orangecontrib/shadow4/widgets/optics/icons/crl.png
71
+ orangecontrib/shadow4/widgets/optics/icons/ellipsoid_crystal.png
72
+ orangecontrib/shadow4/widgets/optics/icons/ellipsoid_grating.png
73
+ orangecontrib/shadow4/widgets/optics/icons/ellipsoid_mirror.png
74
+ orangecontrib/shadow4/widgets/optics/icons/ellipsoid_multilayer.png
75
+ orangecontrib/shadow4/widgets/optics/icons/empty_element.png
76
+ orangecontrib/shadow4/widgets/optics/icons/generic_beam_stopper.png
77
+ orangecontrib/shadow4/widgets/optics/icons/hyperboloid_crystal.png
78
+ orangecontrib/shadow4/widgets/optics/icons/hyperboloid_grating.png
79
+ orangecontrib/shadow4/widgets/optics/icons/hyperboloid_mirror.png
80
+ orangecontrib/shadow4/widgets/optics/icons/hyperboloid_multilayer.png
81
+ orangecontrib/shadow4/widgets/optics/icons/ideal_fzp.png
82
+ orangecontrib/shadow4/widgets/optics/icons/ideal_lens.png
83
+ orangecontrib/shadow4/widgets/optics/icons/interface.png
84
+ orangecontrib/shadow4/widgets/optics/icons/lens.png
85
+ orangecontrib/shadow4/widgets/optics/icons/obstruction_absorber.png
86
+ orangecontrib/shadow4/widgets/optics/icons/obstruction_only.png
87
+ orangecontrib/shadow4/widgets/optics/icons/optical_elements.png
88
+ orangecontrib/shadow4/widgets/optics/icons/paraboloid_crystal.png
89
+ orangecontrib/shadow4/widgets/optics/icons/paraboloid_grating.png
90
+ orangecontrib/shadow4/widgets/optics/icons/paraboloid_mirror.png
91
+ orangecontrib/shadow4/widgets/optics/icons/paraboloid_multilayer.png
92
+ orangecontrib/shadow4/widgets/optics/icons/plane_crystal.png
93
+ orangecontrib/shadow4/widgets/optics/icons/plane_grating.png
94
+ orangecontrib/shadow4/widgets/optics/icons/plane_mirror.png
95
+ orangecontrib/shadow4/widgets/optics/icons/plane_multilayer.png
96
+ orangecontrib/shadow4/widgets/optics/icons/screen.png
97
+ orangecontrib/shadow4/widgets/optics/icons/spherical_crystal.png
98
+ orangecontrib/shadow4/widgets/optics/icons/spherical_grating.png
99
+ orangecontrib/shadow4/widgets/optics/icons/spherical_mirror.png
100
+ orangecontrib/shadow4/widgets/optics/icons/spherical_multilayer.png
101
+ orangecontrib/shadow4/widgets/optics/icons/toroidal_crystal.png
102
+ orangecontrib/shadow4/widgets/optics/icons/toroidal_grating.png
103
+ orangecontrib/shadow4/widgets/optics/icons/toroidal_mirror.png
104
+ orangecontrib/shadow4/widgets/optics/icons/toroidal_multilayer.png
105
+ orangecontrib/shadow4/widgets/optics/icons/transfocator.png
106
+ orangecontrib/shadow4/widgets/preprocessors/__init__.py
107
+ orangecontrib/shadow4/widgets/preprocessors/ow_bragg.py
108
+ orangecontrib/shadow4/widgets/preprocessors/ow_mlayer.py
109
+ orangecontrib/shadow4/widgets/preprocessors/ow_prerefl.py
110
+ orangecontrib/shadow4/widgets/preprocessors/vls_pgm_coefficients_calculator.py
111
+ orangecontrib/shadow4/widgets/preprocessors/icons/bragg.png
112
+ orangecontrib/shadow4/widgets/preprocessors/icons/ingranaggio.png
113
+ orangecontrib/shadow4/widgets/preprocessors/icons/premlayer.png
114
+ orangecontrib/shadow4/widgets/preprocessors/icons/prerefl.png
115
+ orangecontrib/shadow4/widgets/preprocessors/icons/vls_pgm.png
116
+ orangecontrib/shadow4/widgets/sources/__init__.py
117
+ orangecontrib/shadow4/widgets/sources/ow_bending_magnet.py
118
+ orangecontrib/shadow4/widgets/sources/ow_geometrical.py
119
+ orangecontrib/shadow4/widgets/sources/ow_grid.py
120
+ orangecontrib/shadow4/widgets/sources/ow_undulator.py
121
+ orangecontrib/shadow4/widgets/sources/ow_undulator_gaussian.py
122
+ orangecontrib/shadow4/widgets/sources/ow_wiggler.py
123
+ orangecontrib/shadow4/widgets/sources/icons/bending_magnet.png
124
+ orangecontrib/shadow4/widgets/sources/icons/geometrical.png
125
+ orangecontrib/shadow4/widgets/sources/icons/grid.png
126
+ orangecontrib/shadow4/widgets/sources/icons/source.png
127
+ orangecontrib/shadow4/widgets/sources/icons/ugaussian.png
128
+ orangecontrib/shadow4/widgets/sources/icons/undulator.png
129
+ orangecontrib/shadow4/widgets/sources/icons/wiggler.png
130
+ orangecontrib/shadow4/widgets/tools/__init__.py
131
+ orangecontrib/shadow4/widgets/tools/ow_focnew.py
132
+ orangecontrib/shadow4/widgets/tools/ow_histogram.py
133
+ orangecontrib/shadow4/widgets/tools/ow_info.py
134
+ orangecontrib/shadow4/widgets/tools/ow_plot_scatter.py
135
+ orangecontrib/shadow4/widgets/tools/ow_plot_xy.py
136
+ orangecontrib/shadow4/widgets/tools/ow_plot_xy_footprint.py
137
+ orangecontrib/shadow4/widgets/tools/icons/focnew.png
138
+ orangecontrib/shadow4/widgets/tools/icons/footprint.png
139
+ orangecontrib/shadow4/widgets/tools/icons/histogram.png
140
+ orangecontrib/shadow4/widgets/tools/icons/info.png
141
+ orangecontrib/shadow4/widgets/tools/icons/plot_scatter.png
142
+ orangecontrib/shadow4/widgets/tools/icons/plot_xy.png
143
+ orangecontrib/shadow4/widgets/tools/icons/utility.png
@@ -0,0 +1,12 @@
1
+ [oasys2.addons]
2
+ SHADOW4 = orangecontrib.shadow4
3
+
4
+ [oasys2.menus]
5
+ shadow4menu = orangecontrib.shadow4.menu
6
+
7
+ [oasys2.widgets]
8
+ SHADOW4 Loops = orangecontrib.shadow4.widgets.loops
9
+ SHADOW4 Optics = orangecontrib.shadow4.widgets.optics
10
+ SHADOW4 Preprocessors = orangecontrib.shadow4.widgets.preprocessors
11
+ SHADOW4 Sources = orangecontrib.shadow4.widgets.sources
12
+ SHADOW4 Tools = orangecontrib.shadow4.widgets.tools
@@ -0,0 +1,3 @@
1
+ oasys2>=0.0.12
2
+ shadow4>=0.1.66
3
+ xoppylib>=1.0.43
@@ -0,0 +1 @@
1
+ orangecontrib
@@ -0,0 +1,54 @@
1
+ Metadata-Version: 2.4
2
+ Name: OASYS2-SHADOW4
3
+ Version: 0.0.10
4
+ Summary: oasys2-shadow4: Oasys 2 widgets for shadow4
5
+ Home-page: https://github.com/oasys-kit/OASYS2-SHADOW4
6
+ Download-URL: https://github.com/oasys-kit/OASYS2-SHADOW4
7
+ Author: M. Sanchez del Rio, L. Rebuffi
8
+ Author-email: srio@esrf.eu
9
+ License: BSD3
10
+ Keywords: ray tracing,x-ray optics,oasys2
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: X11 Applications :: Qt
13
+ Classifier: Environment :: Console
14
+ Classifier: Environment :: Plugins
15
+ Classifier: Programming Language :: Python
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Intended Audience :: Science/Research
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: oasys2>=0.0.12
21
+ Requires-Dist: shadow4>=0.1.66
22
+ Requires-Dist: xoppylib>=1.0.43
23
+ Dynamic: author
24
+ Dynamic: author-email
25
+ Dynamic: classifier
26
+ Dynamic: description
27
+ Dynamic: description-content-type
28
+ Dynamic: download-url
29
+ Dynamic: home-page
30
+ Dynamic: keywords
31
+ Dynamic: license
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: summary
35
+
36
+ # OASYS2-SHADOW4
37
+
38
+ This is the official user interface for SHADOW4 (https://github.com/oasys-kit/shadow4). It is presented as an OASYS 2.0 add-on.
39
+
40
+ ## OASYS2-shadow4 installation as user
41
+
42
+ To install the add-on as user:
43
+
44
+ + In the Oasys window, open "Options->Add-ons..."
45
+ + Check the options "Shadow4" and "Shadow4 Avdanced". Click "OK"
46
+ + Restart Oasys.
47
+
48
+
49
+ ## beta tests
50
+ A collection of workspaces are being created containing parallel branches of simulations with shadow3 and shadow4. They are in the repository https://github.com/oasys-kit/shadow4workspaces
51
+
52
+ Please report issues in https://github.com/oasys-kit/shadow4/issues
53
+
54
+
@@ -0,0 +1,19 @@
1
+ # OASYS2-SHADOW4
2
+
3
+ This is the official user interface for SHADOW4 (https://github.com/oasys-kit/shadow4). It is presented as an OASYS 2.0 add-on.
4
+
5
+ ## OASYS2-shadow4 installation as user
6
+
7
+ To install the add-on as user:
8
+
9
+ + In the Oasys window, open "Options->Add-ons..."
10
+ + Check the options "Shadow4" and "Shadow4 Avdanced". Click "OK"
11
+ + Restart Oasys.
12
+
13
+
14
+ ## beta tests
15
+ A collection of workspaces are being created containing parallel branches of simulations with shadow3 and shadow4. They are in the repository https://github.com/oasys-kit/shadow4workspaces
16
+
17
+ Please report issues in https://github.com/oasys-kit/shadow4/issues
18
+
19
+
File without changes
@@ -0,0 +1,3 @@
1
+ __author__ = 'labx'
2
+
3
+ MENU = "SHADOW4 MENUS"
@@ -0,0 +1,104 @@
1
+ __author__ = 'L. Rebuffi'
2
+
3
+ import webbrowser
4
+ from oasys2.canvas.menus.menu import OMenu
5
+
6
+ from orangecontrib.shadow4.widgets.gui.ow_automatic_element import AutomaticElement
7
+ from orangecontrib.shadow4.widgets.gui.ow_generic_element import GenericElement
8
+
9
+ try:
10
+ from orangecontrib.shadow4.widgets.tools.ow_plot_xy import PlotXY
11
+ from orangecontrib.shadow4.widgets.tools.ow_histogram import Histogram
12
+
13
+ from orangecontrib.shadow4.widgets.preprocessors.ow_bragg import OWBragg
14
+ from orangecontrib.shadow4.widgets.preprocessors.ow_prerefl import OWPrerefl
15
+ from orangecontrib.shadow4.widgets.preprocessors.vls_pgm_coefficients_calculator import OWVlsPgmCoefficientsCalculator
16
+ except:
17
+ pass
18
+
19
+ class Shadow4Menu(OMenu):
20
+ def __init__(self):
21
+ super().__init__(name="Shadow4")
22
+
23
+ self.openContainer()
24
+ self.addContainer("Plotting")
25
+ self.addSubMenu("Select Detailed Plots on all Source and O.E. widgets")
26
+ self.addSubMenu("Select Preview Plots on all Source and O.E. widgets")
27
+ self.addSubMenu("Select No Plots on all Source and O.E. widgets")
28
+ self.addSeparator()
29
+ self.addSubMenu("Enable all the Plotting widgets")
30
+ self.addSubMenu("Disable all the Plotting widgets")
31
+ self.addSeparator()
32
+ self.addSubMenu("Clear all the cumulated plots")
33
+ self.closeContainer()
34
+ self.addSubMenu("Execute all the Preprocessor widgets")
35
+ self.addSeparator()
36
+ self.addSubMenu("Shadow4 Documentation")
37
+
38
+ def __set_plot_visibility(self, vt, pg):
39
+ try:
40
+ for node in self.canvas_main_window.current_document().scheme().nodes:
41
+ widget = self.canvas_main_window.current_document().scheme().widget_for_node(node)
42
+
43
+ if isinstance(widget, GenericElement):
44
+ if hasattr(widget, "view_type") and hasattr(widget, "_set_plot_quality"):
45
+ widget.view_type = vt
46
+ widget._set_plot_quality()
47
+
48
+ if hasattr(widget, "plot_undulator_graph") and hasattr(widget, "refresh_specific_undulator_plots"):
49
+ widget.plot_undulator_graph = pg
50
+ widget.refresh_specific_undulator_plots()
51
+ elif hasattr(widget, "plot_bm_graph") and hasattr(widget, "refresh_specific_bm_plots"):
52
+ widget.plot_bm_graph = pg
53
+ widget.refresh_specific_bm_plots()
54
+ elif hasattr(widget, "plot_wiggler_graph") and hasattr(widget, "refresh_specific_wiggler_plots"):
55
+ widget.plot_wiggler_graph = pg
56
+ widget.refresh_specific_wiggler_plots()
57
+
58
+ except Exception as exception:
59
+ super(Shadow4Menu, self).showCriticalMessage(message=exception.args[0])
60
+
61
+ def executeAction_1(self, action): self.__set_plot_visibility(0, 1)
62
+
63
+ def executeAction_2(self, action): self.__set_plot_visibility(1, 1)
64
+
65
+ def executeAction_3(self, action): self.__set_plot_visibility(2, 0)
66
+
67
+ def __set_preprocessor_enabled(self, enabled):
68
+ try:
69
+ for link in self.canvas_main_window.current_document().scheme().links:
70
+ if link.enabled != enabled:
71
+ widget = self.canvas_main_window.current_document().scheme().widget_for_node(link.sink_node)
72
+ if isinstance(widget, (PlotXY, Histogram)): link.set_enabled(enabled)
73
+ except Exception as exception:
74
+ super(Shadow4Menu, self).showCriticalMessage(message=exception.args[0])
75
+
76
+ #ENABLE PLOTS
77
+ def executeAction_4(self, action): self.__set_preprocessor_enabled(True)
78
+
79
+ def executeAction_5(self, action): self.__set_preprocessor_enabled(False)
80
+
81
+ def executeAction_6(self, action):
82
+ try:
83
+ for node in self.canvas_main_window.current_document().scheme().nodes:
84
+ widget = self.canvas_main_window.current_document().scheme().widget_for_node(node)
85
+
86
+ if isinstance(widget, AutomaticElement) and hasattr(widget, "clear_results"):
87
+ widget.clear_results(interactive=False)
88
+ except Exception as exception:
89
+ super(Shadow4Menu, self).showCriticalMessage(message=exception.args[0])
90
+
91
+ def executeAction_7(self, action):
92
+ try:
93
+ for node in self.canvas_main_window.current_document().scheme().nodes:
94
+ widget = self.canvas_main_window.current_document().scheme().widget_for_node(node)
95
+ if isinstance(widget, (OWBragg, OWVlsPgmCoefficientsCalculator, OWPrerefl)): widget.compute()
96
+ except Exception as exception:
97
+ super(Shadow4Menu, self).showCriticalMessage(message=exception.args[0])
98
+
99
+ def executeAction_8(self, action):
100
+ try:
101
+ webbrowser.open("https://github.com/oasys-kit/shadow4")
102
+ except Exception as exception:
103
+ super(Shadow4Menu, self).showCriticalMessage(message=exception.args[0])
104
+
@@ -0,0 +1,4 @@
1
+ from dabax.dabax_xraylib import DabaxXraylib
2
+ materials_library = DabaxXraylib()
3
+
4
+ # OASYS2 Shadow4 do not use Xraylib