xcoll 0.5.5__tar.gz → 0.5.7__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.

Potentially problematic release.


This version of xcoll might be problematic. Click here for more details.

Files changed (415) hide show
  1. {xcoll-0.5.5 → xcoll-0.5.7}/PKG-INFO +1 -1
  2. {xcoll-0.5.5 → xcoll-0.5.7}/pyproject.toml +7 -7
  3. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/__init__.py +12 -3
  4. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/__init__.py +0 -3
  5. xcoll-0.5.7/xcoll/beam_elements/__init__.py.orig +34 -0
  6. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/base.py +28 -3
  7. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/colldb.py +4 -5
  8. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/general.py +1 -1
  9. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/initial_distribution.py +7 -8
  10. xcoll-0.5.7/xcoll/install.py +35 -0
  11. xcoll-0.5.7/xcoll/line_tools.py +311 -0
  12. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/lossmap.py +3 -3
  13. xcoll-0.5.5/xcoll/install.py +0 -179
  14. xcoll-0.5.5/xcoll/line_tools.py +0 -134
  15. xcoll-0.5.5/xcoll/scattering_routines/geometry/temp.c +0 -953
  16. {xcoll-0.5.5 → xcoll-0.5.7}/LICENSE +0 -0
  17. {xcoll-0.5.5 → xcoll-0.5.7}/NOTICE +0 -0
  18. {xcoll-0.5.5 → xcoll-0.5.7}/README.md +0 -0
  19. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/_manager.py +0 -0
  20. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/absorber.py +0 -0
  21. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/blowup.py +0 -0
  22. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/elements_src/black_absorber.h +0 -0
  23. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/elements_src/black_crystal.h +0 -0
  24. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/elements_src/blowup.h +0 -0
  25. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/elements_src/emittance_monitor.h +0 -0
  26. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/elements_src/everest_block.h +0 -0
  27. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/elements_src/everest_collimator.h +0 -0
  28. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/elements_src/everest_crystal.h +0 -0
  29. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/everest.py +0 -0
  30. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/beam_elements/monitor.py +0 -0
  31. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/headers/checks.h +0 -0
  32. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/headers/particle_states.h +0 -0
  33. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/interaction_record/__init__.py +0 -0
  34. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/interaction_record/interaction_record.py +0 -0
  35. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/interaction_record/interaction_record_src/interaction_record.h +0 -0
  36. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/interaction_record/interaction_types.py +0 -0
  37. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/rf_sweep.py +0 -0
  38. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/__init__.py +0 -0
  39. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/amorphous.h +0 -0
  40. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/channeling.h +0 -0
  41. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/constants.h +0 -0
  42. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/crystal_parameters.h +0 -0
  43. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/everest.h +0 -0
  44. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/everest.py +0 -0
  45. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/jaw.h +0 -0
  46. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/materials.py +0 -0
  47. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/multiple_coulomb_scattering.h +0 -0
  48. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/nuclear_interaction.h +0 -0
  49. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/everest/properties.h +0 -0
  50. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/.git +0 -0
  51. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/.gitignore +0 -0
  52. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/CMakeLists.txt +0 -0
  53. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/ComponentMakefile +0 -0
  54. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/Makefile +0 -0
  55. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/README +0 -0
  56. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/Doxyfile +0 -0
  57. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO.asciidoc +0 -0
  58. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO.epub +0 -0
  59. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO.html +0 -0
  60. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO.pdf +0 -0
  61. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO__1.png +0 -0
  62. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO__2.png +0 -0
  63. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO__3.png +0 -0
  64. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO__4.png +0 -0
  65. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO__5.png +0 -0
  66. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO__6.png +0 -0
  67. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/FlukaIO__7.png +0 -0
  68. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/Makefile +0 -0
  69. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/doc/docbook.xsl +0 -0
  70. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/include/Connection.h +0 -0
  71. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/include/FlukaIO.h +0 -0
  72. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/include/FlukaIOServer.h +0 -0
  73. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/include/FortranFlukaIO.h +0 -0
  74. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/include/Message.h +0 -0
  75. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/include/ParticleInfo.h +0 -0
  76. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/lib/libFlukaIO64.a +0 -0
  77. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/lib/libFlukaIO64.so +0 -0
  78. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/samples/ClientTest.c +0 -0
  79. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/samples/ServerTest.c +0 -0
  80. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/samples/fclient.f +0 -0
  81. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/samples/fserver.f +0 -0
  82. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/Connection.c +0 -0
  83. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/Connection.d +0 -0
  84. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/Connection.o +0 -0
  85. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIO.c +0 -0
  86. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIO.d +0 -0
  87. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIO.o +0 -0
  88. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.c +0 -0
  89. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.d +0 -0
  90. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.h +0 -0
  91. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOHandshake.o +0 -0
  92. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer.c +0 -0
  93. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer.d +0 -0
  94. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer.o +0 -0
  95. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIOServer_private.h +0 -0
  96. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FlukaIO_private.h +0 -0
  97. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FortranFlukaIO.c +0 -0
  98. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FortranFlukaIO.d +0 -0
  99. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/FortranFlukaIO.o +0 -0
  100. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/NetIO.c +0 -0
  101. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/NetIO.d +0 -0
  102. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/NetIO.h +0 -0
  103. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/NetIO.o +0 -0
  104. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/src/tags +0 -0
  105. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/AllTests.cpp +0 -0
  106. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/CommonTest.h +0 -0
  107. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/ConnectionTest.cpp +0 -0
  108. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/FlukaIOServerTest.cpp +0 -0
  109. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/FlukaIOTest.cpp +0 -0
  110. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/FortranFlukaIOTest.cpp +0 -0
  111. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeConnection.c +0 -0
  112. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeConnection.h +0 -0
  113. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeFlukaIO.c +0 -0
  114. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeFlukaIO.h +0 -0
  115. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeFlukaIOHandshake.c +0 -0
  116. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeFlukaIOHandshake.h +0 -0
  117. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeFlukaIOServer.c +0 -0
  118. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeFlukaIOServer.h +0 -0
  119. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeFortranFlukaIO.h +0 -0
  120. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeNetIO.c +0 -0
  121. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/fluka/flukaio/tests/fakes/FakeNetIO.h +0 -0
  122. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/.git +0 -0
  123. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/.gitignore +0 -0
  124. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/.gitmodules +0 -0
  125. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/CMakeLists.txt +0 -0
  126. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/README.md +0 -0
  127. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/docs/Makefile +0 -0
  128. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/docs/make.bat +0 -0
  129. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/docs/source/collimasim.rst +0 -0
  130. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/docs/source/conf.py +0 -0
  131. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/docs/source/index.rst +0 -0
  132. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.appveyor.yml +0 -0
  133. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-format +0 -0
  134. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.clang-tidy +0 -0
  135. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.cmake-format.yaml +0 -0
  136. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.git +0 -0
  137. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CODEOWNERS +0 -0
  138. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/CONTRIBUTING.md +0 -0
  139. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  140. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -0
  141. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/dependabot.yml +0 -0
  142. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler.yml +0 -0
  143. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/labeler_merged.yml +0 -0
  144. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/pull_request_template.md +0 -0
  145. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/ci.yml +0 -0
  146. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/configure.yml +0 -0
  147. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/format.yml +0 -0
  148. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/labeler.yml +0 -0
  149. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.github/workflows/pip.yml +0 -0
  150. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.gitignore +0 -0
  151. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.pre-commit-config.yaml +0 -0
  152. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/.readthedocs.yml +0 -0
  153. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/CMakeLists.txt +0 -0
  154. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/LICENSE +0 -0
  155. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/MANIFEST.in +0 -0
  156. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/README.rst +0 -0
  157. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Doxyfile +0 -0
  158. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/Makefile +0 -0
  159. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/_static/theme_overrides.css +0 -0
  160. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/chrono.rst +0 -0
  161. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/custom.rst +0 -0
  162. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/eigen.rst +0 -0
  163. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/functional.rst +0 -0
  164. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/index.rst +0 -0
  165. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/overview.rst +0 -0
  166. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/stl.rst +0 -0
  167. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/cast/strings.rst +0 -0
  168. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/classes.rst +0 -0
  169. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/embedding.rst +0 -0
  170. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/exceptions.rst +0 -0
  171. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/functions.rst +0 -0
  172. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/misc.rst +0 -0
  173. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/index.rst +0 -0
  174. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/numpy.rst +0 -0
  175. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/object.rst +0 -0
  176. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/pycpp/utilities.rst +0 -0
  177. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/advanced/smart_ptrs.rst +0 -0
  178. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/basics.rst +0 -0
  179. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.py +0 -0
  180. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/benchmark.rst +0 -0
  181. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/changelog.rst +0 -0
  182. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/classes.rst +0 -0
  183. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/cmake/index.rst +0 -0
  184. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/compiling.rst +0 -0
  185. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/conf.py +0 -0
  186. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/faq.rst +0 -0
  187. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/index.rst +0 -0
  188. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/installing.rst +0 -0
  189. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/limitations.rst +0 -0
  190. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11-logo.png +0 -0
  191. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
  192. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python1.svg +0 -0
  193. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
  194. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/pybind11_vs_boost_python2.svg +0 -0
  195. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/reference.rst +0 -0
  196. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/release.rst +0 -0
  197. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/requirements.txt +0 -0
  198. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/docs/upgrade.rst +0 -0
  199. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/attr.h +0 -0
  200. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/buffer_info.h +0 -0
  201. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/cast.h +0 -0
  202. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/chrono.h +0 -0
  203. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/common.h +0 -0
  204. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/complex.h +0 -0
  205. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/class.h +0 -0
  206. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/common.h +0 -0
  207. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/descr.h +0 -0
  208. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/init.h +0 -0
  209. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/internals.h +0 -0
  210. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
  211. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/detail/typeid.h +0 -0
  212. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eigen.h +0 -0
  213. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/embed.h +0 -0
  214. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/eval.h +0 -0
  215. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/functional.h +0 -0
  216. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/gil.h +0 -0
  217. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/iostream.h +0 -0
  218. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/numpy.h +0 -0
  219. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/operators.h +0 -0
  220. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/options.h +0 -0
  221. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pybind11.h +0 -0
  222. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/pytypes.h +0 -0
  223. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl/filesystem.h +0 -0
  224. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl.h +0 -0
  225. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/include/pybind11/stl_bind.h +0 -0
  226. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/noxfile.py +0 -0
  227. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__init__.py +0 -0
  228. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/__main__.py +0 -0
  229. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.py +0 -0
  230. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/_version.pyi +0 -0
  231. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/commands.py +0 -0
  232. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/py.typed +0 -0
  233. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.py +0 -0
  234. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pybind11/setup_helpers.pyi +0 -0
  235. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/pyproject.toml +0 -0
  236. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.cfg +0 -0
  237. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/setup.py +0 -0
  238. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/CMakeLists.txt +0 -0
  239. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/conftest.py +0 -0
  240. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/constructor_stats.h +0 -0
  241. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/cross_module_gil_utils.cpp +0 -0
  242. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/env.py +0 -0
  243. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/pytest.ini +0 -0
  244. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_python_package/test_files.py +0 -0
  245. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/pytest.ini +0 -0
  246. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -0
  247. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/local_bindings.h +0 -0
  248. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/object.h +0 -0
  249. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_cross_module_tests.cpp +0 -0
  250. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.cpp +0 -0
  251. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pybind11_tests.h +0 -0
  252. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/pytest.ini +0 -0
  253. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/requirements.txt +0 -0
  254. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.cpp +0 -0
  255. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_async.py +0 -0
  256. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.cpp +0 -0
  257. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_buffers.py +0 -0
  258. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.cpp +0 -0
  259. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_builtin_casters.py +0 -0
  260. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.cpp +0 -0
  261. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_call_policies.py +0 -0
  262. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.cpp +0 -0
  263. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_callbacks.py +0 -0
  264. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.cpp +0 -0
  265. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_chrono.py +0 -0
  266. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.cpp +0 -0
  267. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_class.py +0 -0
  268. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -0
  269. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/embed.cpp +0 -0
  270. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -0
  271. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -0
  272. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -0
  273. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/main.cpp +0 -0
  274. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -0
  275. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -0
  276. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -0
  277. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_cmake_build/test.py +0 -0
  278. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.cpp +0 -0
  279. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_constants_and_functions.py +0 -0
  280. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.cpp +0 -0
  281. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_copy_move.py +0 -0
  282. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.cpp +0 -0
  283. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_casters.py +0 -0
  284. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.cpp +0 -0
  285. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_custom_type_setup.py +0 -0
  286. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.cpp +0 -0
  287. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_docstring_options.py +0 -0
  288. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.cpp +0 -0
  289. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eigen.py +0 -0
  290. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/CMakeLists.txt +0 -0
  291. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/catch.cpp +0 -0
  292. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/external_module.cpp +0 -0
  293. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.cpp +0 -0
  294. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_embed/test_interpreter.py +0 -0
  295. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.cpp +0 -0
  296. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_enum.py +0 -0
  297. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.cpp +0 -0
  298. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval.py +0 -0
  299. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_eval_call.py +0 -0
  300. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.cpp +0 -0
  301. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.h +0 -0
  302. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_exceptions.py +0 -0
  303. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.cpp +0 -0
  304. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_factory_constructors.py +0 -0
  305. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.cpp +0 -0
  306. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_gil_scoped.py +0 -0
  307. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.cpp +0 -0
  308. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_iostream.py +0 -0
  309. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.cpp +0 -0
  310. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_kwargs_and_defaults.py +0 -0
  311. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.cpp +0 -0
  312. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_local_bindings.py +0 -0
  313. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.cpp +0 -0
  314. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_methods_and_attributes.py +0 -0
  315. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.cpp +0 -0
  316. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_modules.py +0 -0
  317. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.cpp +0 -0
  318. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_multiple_inheritance.py +0 -0
  319. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.cpp +0 -0
  320. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_array.py +0 -0
  321. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.cpp +0 -0
  322. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_dtypes.py +0 -0
  323. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.cpp +0 -0
  324. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_numpy_vectorize.py +0 -0
  325. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.cpp +0 -0
  326. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_opaque_types.py +0 -0
  327. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.cpp +0 -0
  328. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_operator_overloading.py +0 -0
  329. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.cpp +0 -0
  330. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pickling.py +0 -0
  331. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.cpp +0 -0
  332. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_pytypes.py +0 -0
  333. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.cpp +0 -0
  334. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_sequences_and_iterators.py +0 -0
  335. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.cpp +0 -0
  336. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_smart_ptr.py +0 -0
  337. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.cpp +0 -0
  338. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl.py +0 -0
  339. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.cpp +0 -0
  340. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_stl_binders.py +0 -0
  341. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.cpp +0 -0
  342. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_tagbased_polymorphic.py +0 -0
  343. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.cpp +0 -0
  344. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_thread.py +0 -0
  345. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.cpp +0 -0
  346. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_union.py +0 -0
  347. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.cpp +0 -0
  348. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/test_virtual_functions.py +0 -0
  349. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-numpy-scipy.supp +0 -0
  350. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tests/valgrind-python.supp +0 -0
  351. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindCatch.cmake +0 -0
  352. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindEigen3.cmake +0 -0
  353. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/FindPythonLibsNew.cmake +0 -0
  354. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/check-style.sh +0 -0
  355. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/cmake_uninstall.cmake.in +0 -0
  356. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/libsize.py +0 -0
  357. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/make_changelog.py +0 -0
  358. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Common.cmake +0 -0
  359. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Config.cmake.in +0 -0
  360. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11NewTools.cmake +0 -0
  361. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pybind11Tools.cmake +0 -0
  362. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/pyproject.toml +0 -0
  363. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_global.py.in +0 -0
  364. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/lib/pybind11/tools/setup_main.py.in +0 -0
  365. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/pyproject.toml +0 -0
  366. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/setup.py +0 -0
  367. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.cpp +0 -0
  368. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSPyATInterface.hh +0 -0
  369. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.cpp +0 -0
  370. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/BDSXtrackInterface.hh +0 -0
  371. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/__init__.py +0 -0
  372. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/bindings.cpp +0 -0
  373. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/pyCollimatorPass.py +0 -0
  374. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim/xtrack_collimator.py +0 -0
  375. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/PKG-INFO +0 -0
  376. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/SOURCES.txt +0 -0
  377. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/dependency_links.txt +0 -0
  378. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/not-zip-safe +0 -0
  379. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/src/collimasim.egg-info/top_level.txt +0 -0
  380. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/README.md +0 -0
  381. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_forions.dat +0 -0
  382. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_new_example.dat +0 -0
  383. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_old_example.dat +0 -0
  384. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_testing.dat +0 -0
  385. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/CollDB_yaml_example.yaml +0 -0
  386. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps.dat +0 -0
  387. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/collgaps_pyat_test.dat +0 -0
  388. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/collonly_twiss_file_example.tfs +0 -0
  389. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/settings.gmad +0 -0
  390. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_black_absorber.gmad +0 -0
  391. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/settings_ions.gmad +0 -0
  392. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/resources/twiss_file_testing.tfs +0 -0
  393. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_pyat.py +0 -0
  394. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_passmethod.py +0 -0
  395. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_pyat_tracking.py +0 -0
  396. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack.py +0 -0
  397. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_angle.py +0 -0
  398. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_colldb_load.py +0 -0
  399. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction.py +0 -0
  400. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_interaction_ion.py +0 -0
  401. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_ions.py +0 -0
  402. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_lost_energy.py +0 -0
  403. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tilt.py +0 -0
  404. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking.py +0 -0
  405. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geant4/collimasim/tests/test_xtrack_tracking_ions.py +0 -0
  406. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/__init__.py +0 -0
  407. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/collimator_geometry.h +0 -0
  408. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/crystal_geometry.h +0 -0
  409. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/geometry.py +0 -0
  410. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/get_s.h +0 -0
  411. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/methods.h +0 -0
  412. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/objects.h +0 -0
  413. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/rotation.h +0 -0
  414. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/segments.h +0 -0
  415. {xcoll-0.5.5 → xcoll-0.5.7}/xcoll/scattering_routines/geometry/sort.h +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xcoll
3
- Version: 0.5.5
3
+ Version: 0.5.7
4
4
  Summary: Xsuite collimation package
5
5
  Home-page: https://github.com/xsuite/xcoll
6
6
  License: Apache 2.0
@@ -1,17 +1,19 @@
1
1
  [tool.poetry]
2
2
  name = "xcoll"
3
- version = "0.5.5"
3
+ version = "0.5.7"
4
4
  description = "Xsuite collimation package"
5
5
  homepage = "https://github.com/xsuite/xcoll"
6
6
  repository = "https://github.com/xsuite/xcoll"
7
7
  authors = [
8
8
  "Frederik F. Van der Veken <frederik@cern.ch>",
9
9
  "Simone O. Solstrand <simone.otelie.solstrand@cern.ch>",
10
- "Bjorn Lindstrom",
11
- "Andre Donadon Servelle",
10
+ "Björn Lindstrom <bjorn.lindstrom@cern.ch>",
11
+ "Giacomo Broggi <giacomo.broggi@cern.ch>",
12
+ "André Donadon Servelle <andre.donadon.servelle@cern.ch>",
13
+ "Dora E. Veres <dora.erzsebet.veres@cern.ch>",
12
14
  "Despina Demetriadou <despina.demetriadou@cern.ch>",
13
15
  "Andrey Abramov <andrey.abramov@cern.ch>",
14
- "Giovanni Iadorala <giovanni.iadorala@cern.ch>"
16
+ "Giovanni Iadarola <giovanni.iadarola@cern.ch>"
15
17
  ]
16
18
  readme = "README.md"
17
19
  license = "Apache 2.0"
@@ -42,9 +44,7 @@ build-backend = "poetry.core.masonry.api"
42
44
 
43
45
  # pyproject.toml
44
46
  [tool.pytest.ini_options]
45
- addopts = "-ra --durations=10 --durations-min=1 --junitxml=pytest_results.xml"
46
- junit_suite_name = "Xcoll"
47
- junit_duration_report = "call"
47
+ addopts = "-ra --durations=10 --durations-min=1"
48
48
  python_functions = ["test_"]
49
49
  testpaths = [
50
50
  "tests",
@@ -7,17 +7,26 @@ from .general import _pkg_root, __version__, citation
7
7
 
8
8
  from .beam_elements import BlackAbsorber, BlackCrystal, EverestBlock, EverestCollimator, EverestCrystal, \
9
9
  BlowUp, EmittanceMonitor, collimator_classes, crystal_classes, element_classes
10
- from .install import install_elements
11
- from .line_tools import assign_optics_to_collimators, open_collimators, send_to_parking, enable_scattering, disable_scattering
12
10
  from .scattering_routines.everest import materials, Material, CrystalMaterial
13
11
  from .colldb import CollimatorDatabase
14
12
  from .interaction_record import InteractionRecord
15
13
  from .rf_sweep import RFSweep
16
- from .initial_distribution import *
17
14
  from .lossmap import LossMap
18
15
 
19
16
  # Deprecated
20
17
  from ._manager import CollimatorManager
18
+ from .install import install_elements
19
+ from .line_tools import assign_optics_to_collimators, open_collimators, send_to_parking, enable_scattering, disable_scattering
20
+ def generate_pencil_on_collimator(line, name, *args, **kwargs):
21
+ from warnings import warn
22
+ warn("`xcoll.generate_pencil_on_collimator()` is deprecated and will be removed. Use "
23
+ + "`line[coll].generate_pencil()` instead.", FutureWarning)
24
+ return line[name].generate_pencil(*args, **kwargs)
25
+ def generate_delta_from_dispersion(line, at_element, *args, **kwargs):
26
+ from warnings import warn
27
+ warn("`xcoll.generate_delta_from_dispersion()` is deprecated and will be removed. Use "
28
+ + "`line[at_element].generate_delta()` instead.", FutureWarning)
29
+ return line[name].generate_delta(*args, **kwargs)
21
30
 
22
31
  # print("If you use Xcoll in your simulations, please cite us :-)")
23
32
  # print(citation)
@@ -20,6 +20,3 @@ crystal_classes = tuple(v for v in globals().values()
20
20
  if isinstance(v, type) and issubclass(v, BaseCrystal) and v != BaseCrystal)
21
21
 
22
22
  element_classes = block_classes + (BlowUp, EmittanceMonitor)
23
-
24
- _all_collimator_classes = collimator_classes
25
- _all_crystal_classes = crystal_classes
@@ -0,0 +1,34 @@
1
+ # copyright ############################### #
2
+ # This file is part of the Xcoll package. #
3
+ # Copyright (c) CERN, 2024. #
4
+ # ######################################### #
5
+
6
+ from .base import BaseBlock, BaseCollimator, BaseCrystal
7
+ from .absorber import BlackAbsorber, BlackCrystal
8
+ from .everest import EverestBlock, EverestCollimator, EverestCrystal
9
+ from .blowup import BlowUp
10
+ from .monitor import EmittanceMonitor
11
+
12
+ block_classes = tuple(v for v in globals().values()
13
+ if isinstance(v, type) and issubclass(v, BaseBlock) and v != BaseBlock
14
+ and v != BaseCollimator and v != BaseCrystal)
15
+ # Includes crystals
16
+ collimator_classes = tuple(v for v in globals().values()
17
+ if isinstance(v, type) and (issubclass(v, BaseCollimator) or issubclass(v, BaseCrystal))
18
+ and v != BaseCollimator and v != BaseCrystal)
19
+ crystal_classes = tuple(v for v in globals().values()
20
+ if isinstance(v, type) and issubclass(v, BaseCrystal) and v != BaseCrystal)
21
+
22
+ element_classes = block_classes + (BlowUp, EmittanceMonitor)
23
+
24
+ <<<<<<< HEAD
25
+ # These should not go into any of the classes lists
26
+ from .k2 import _K2Collimator, _K2Crystal
27
+ _all_collimator_classes = collimator_classes + (_K2Collimator, _K2Crystal)
28
+ _all_crystal_classes = crystal_classes + (_K2Crystal,)
29
+ =======
30
+ # For compatibility with _K2Collimators
31
+ _all_block_classes = block_classes
32
+ _all_collimator_classes = collimator_classes
33
+ _all_crystal_classes = crystal_classes
34
+ >>>>>>> release/v0.6.0
@@ -597,9 +597,6 @@ class BaseCollimator(BaseBlock):
597
597
 
598
598
  def assign_optics(self, *, nemitt_x=None, nemitt_y=None, beta_gamma_rel=None, name=None, twiss=None,
599
599
  twiss_upstream=None, twiss_downstream=None):
600
- from xcoll.beam_elements import _all_collimator_classes
601
- if not isinstance(self, _all_collimator_classes):
602
- raise ValueError("Please install collimator before assigning optics.")
603
600
  if nemitt_x is None:
604
601
  if self.nemitt_x is None:
605
602
  raise ValueError("Need to provide `nemitt_x`.")
@@ -922,6 +919,31 @@ class BaseCollimator(BaseBlock):
922
919
  # Methods
923
920
  # =======
924
921
 
922
+ def generate_pencil(self, num_particles, *, side='+-', pencil_spread=1e-6,
923
+ impact_parameter=0, sigma_z=7.61e-2, twiss=None, longitudinal=None,
924
+ longitudinal_betatron_cut=None, tw=None, **kwargs):
925
+ if not hasattr(self, '_line') or not hasattr(self, '_name'):
926
+ raise ValueError("Collimator is missing a pointer to the line. Install collimators "
927
+ + "with `line.collimators.install()` (or use "
928
+ + "`xcoll.initial_distribution.generate_pencil_on_collimator()`).")
929
+ from xcoll.initial_distribution import generate_pencil_on_collimator
930
+ return generate_pencil_on_collimator(line=self._line, name=self._name, side=side,
931
+ num_particles=num_particles, pencil_spread=pencil_spread, tw=tw,
932
+ impact_parameter=impact_parameter, sigma_z=sigma_z, twiss=twiss,
933
+ longitudinal=longitudinal, longitudinal_betatron_cut=longitudinal_betatron_cut,
934
+ **kwargs)
935
+
936
+ def generate_delta(self, *, plane, position_mm, nemitt_x, nemitt_y, betatron_cut=0,
937
+ match_at_front=True, twiss=None):
938
+ if not hasattr(self, '_line') or not hasattr(self, '_name'):
939
+ raise ValueError("Collimator is missing a pointer to the line. Install collimators "
940
+ + "with `line.collimators.install()` (or use "
941
+ + "`xcoll.initial_distribution.generate_delta_from_dispersion()`).")
942
+ from xcoll.initial_distribution import generate_delta_from_dispersion
943
+ return generate_delta_from_dispersion(line=self._line, at_element=self._name, plane=plane,
944
+ position_mm=position_mm, nemitt_x=nemitt_x, nemitt_y=nemitt_y, twiss=twiss,
945
+ betatron_cut=betatron_cut, match_at_front=match_at_front)
946
+
925
947
  def _verify_consistency(self):
926
948
  BaseBlock._verify_consistency(self)
927
949
  # Verify angles
@@ -1345,6 +1367,9 @@ class BaseCrystal(BaseBlock):
1345
1367
  # Methods
1346
1368
  # =======
1347
1369
 
1370
+ def generate_pencil(self, **kwargs):
1371
+ return BaseCollimator.generate_pencil(self, **kwargs)
1372
+
1348
1373
  def _verify_consistency(self):
1349
1374
  BaseBlock._verify_consistency(self)
1350
1375
  # Verify angles
@@ -13,8 +13,7 @@ from pathlib import Path
13
13
  import xtrack as xt
14
14
 
15
15
  from .beam_elements import BlackAbsorber, BlackCrystal, EverestCollimator, EverestCrystal, \
16
- BaseCollimator, BaseCrystal, _all_collimator_classes
17
- from .install import install_elements
16
+ BaseCollimator, BaseCrystal, collimator_classes
18
17
  from .scattering_routines.everest.materials import SixTrack_to_xcoll
19
18
 
20
19
 
@@ -527,7 +526,7 @@ class CollimatorDatabase:
527
526
  def _check_installed(self, line, name, collimator_class):
528
527
  # Check that collimator is not installed as different type
529
528
  # TODO: automatically replace collimator type and print warning
530
- if isinstance(line[name], _all_collimator_classes):
529
+ if isinstance(line[name], collimator_classes):
531
530
  raise ValueError(f"Trying to install {name} as {collimator_class.__name__}, "
532
531
  + f"but it is already installed as {line[name].__class__.__name__}!\n"
533
532
  + f"Please reconstruct the line.")
@@ -572,7 +571,7 @@ class CollimatorDatabase:
572
571
  else:
573
572
  self._create_crystal(line, BlackCrystal, name, verbose=verbose)
574
573
  elements = [self._elements[name] for name in names]
575
- install_elements(line, names, elements, need_apertures=need_apertures)
574
+ line.collimators.install(names, elements, need_apertures=need_apertures)
576
575
 
577
576
  def install_everest_collimators(self, line, *, names=None, families=None, verbose=False, need_apertures=True):
578
577
  names = self._get_names_from_line(line, names, families)
@@ -586,7 +585,7 @@ class CollimatorDatabase:
586
585
  lattice=self[name]['crystal'], verbose=verbose,
587
586
  miscut=self[name]['miscut'])
588
587
  elements = [self._elements[name] for name in names]
589
- install_elements(line, names, elements, need_apertures=need_apertures)
588
+ line.collimators.install(names, elements, need_apertures=need_apertures)
590
589
 
591
590
 
592
591
  # ==================================
@@ -12,5 +12,5 @@ citation = "F.F. Van der Veken, et al.: Recent Developments with the New Tools f
12
12
  # ======================
13
13
  # Do not change
14
14
  # ======================
15
- __version__ = '0.5.5'
15
+ __version__ = '0.5.7'
16
16
  # ======================
@@ -4,17 +4,18 @@
4
4
  # ######################################### #
5
5
 
6
6
  import numpy as np
7
+ from warnings import warn
7
8
 
8
9
  import xtrack as xt
9
10
  import xobjects as xo
10
11
  import xpart as xp
11
12
 
12
- from .beam_elements import _all_collimator_classes, EverestCrystal
13
+ from .beam_elements import collimator_classes, EverestCrystal
13
14
 
14
15
 
15
16
  def generate_pencil_on_collimator(line, name, num_particles, *, side='+-', pencil_spread=1e-6,
16
17
  impact_parameter=0, sigma_z=7.61e-2, twiss=None, longitudinal=None,
17
- longitudinal_betatron_cut=None, tw=None):
18
+ longitudinal_betatron_cut=None, tw=None, **kwargs):
18
19
  """
19
20
  Generate a pencil beam on a collimator.
20
21
  """
@@ -24,7 +25,7 @@ def generate_pencil_on_collimator(line, name, num_particles, *, side='+-', penci
24
25
 
25
26
  coll = line[name]
26
27
 
27
- if not isinstance(coll, tuple(_all_collimator_classes)):
28
+ if not isinstance(coll, tuple(collimator_classes)):
28
29
  raise ValueError("Need to provide a valid collimator!")
29
30
 
30
31
  if coll.optics is None:
@@ -49,7 +50,7 @@ def generate_pencil_on_collimator(line, name, num_particles, *, side='+-', penci
49
50
  raise NotImplementedError("Pencil beam on a skew collimator not yet supported!")
50
51
 
51
52
  if tw is not None:
52
- print("The argument tw is deprecated. Please use twiss instead.")
53
+ warn("The argument tw is deprecated. Please use twiss instead.", FutureWarning)
53
54
  if twiss is None:
54
55
  twiss = tw
55
56
 
@@ -129,15 +130,13 @@ def generate_pencil_on_collimator(line, name, num_particles, *, side='+-', penci
129
130
  part = xp.build_particles(
130
131
  x=pencil, px=p_pencil, y_norm=transverse_norm, py_norm=p_transverse_norm,
131
132
  zeta=zeta, delta=delta, nemitt_x=coll.nemitt_x, nemitt_y=coll.nemitt_y,
132
- line=line, at_element=at_element, #match_at_s=match_at_s,
133
- _context=coll._buffer.context
133
+ line=line, at_element=at_element, _context=coll._buffer.context, **kwargs
134
134
  )
135
135
  else:
136
136
  part = xp.build_particles(
137
137
  x_norm=transverse_norm, px_norm=p_transverse_norm, y=pencil, py=p_pencil,
138
138
  zeta=zeta, delta=delta, nemitt_x=coll.nemitt_x, nemitt_y=coll.nemitt_y,
139
- line=line, at_element=at_element, #match_at_s=match_at_s,
140
- _context=coll._buffer.context
139
+ line=line, at_element=at_element, _context=coll._buffer.context, **kwargs
141
140
  )
142
141
 
143
142
  part._init_random_number_generator()
@@ -0,0 +1,35 @@
1
+ # copyright ############################### #
2
+ # This file is part of the Xcoll package. #
3
+ # Copyright (c) CERN, 2024. #
4
+ # ######################################### #
5
+
6
+ from warnings import warn
7
+
8
+ # This file is deprecated and will be removed in the future.
9
+
10
+
11
+ def install_elements(line, names, elements, *, at_s=None, apertures=None, need_apertures=False, s_tol=1.e-6):
12
+ warn("The function xcoll.install_elements() is deprecated and will be removed in the future. "
13
+ + "Please use line.collimators.install() instead.", FutureWarning)
14
+ line.collimators.install(names=names, elements=elements, at_s=at_s, apertures=apertures,
15
+ need_apertures=need_apertures, s_tol=s_tol)
16
+
17
+ def check_element_position(line, name, s_start, s_end, at_s, length=None, s_tol=1.e-6):
18
+ warn("The function xcoll.check_element_position() is deprecated and will be removed "
19
+ + "in the future. Please use line.collimators.check_position() instead.", FutureWarning)
20
+ return line.collimators.check_position(name, s_start, s_end, at_s, length=length, s_tol=s_tol)
21
+
22
+ def get_apertures_at_s(tab, s, s_tol=1.e-6):
23
+ warn("The function xcoll.get_apertures_at_s() is deprecated and will be removed in the future. "
24
+ + "Please use line.collimators.get_apertures_at_s() instead.", FutureWarning)
25
+ return get_apertures_at_s(s, s_tol=s_tol)
26
+
27
+ def get_aperture_for_element(line, name, s_start, s_end, aperture=None, tab=None, s_tol=1.e-6):
28
+ warn("The function xcoll.get_aperture_for_element() is deprecated and will be removed in the future. "
29
+ + "Please use line.collimators.get_aperture() instead.", FutureWarning)
30
+ return line.get_aperture(name, s_start, s_end, aperture=aperture, tab=tab, s_tol=s_tol)
31
+
32
+ def prepare_space_for_element(line, name, s_start, s_end, tab=None, s_tol=1.e-6):
33
+ warn("The function xcoll.prepare_space_for_element() is deprecated and will be removed in the future. "
34
+ + "Please use line.collimators.prepare_space() instead.", FutureWarning)
35
+ return line.collimators.prepare_space(name, s_start, s_end, tab=tab, s_tol=s_tol)
@@ -0,0 +1,311 @@
1
+ # copyright ############################### #
2
+ # This file is part of the Xcoll package. #
3
+ # Copyright (c) CERN, 2024. #
4
+ # ######################################### #
5
+
6
+ import numpy as np
7
+ from warnings import warn
8
+
9
+ import xtrack as xt
10
+
11
+ from .beam_elements import element_classes, collimator_classes, block_classes
12
+
13
+
14
+ class XcollScatteringAPI:
15
+ def __init__(self, line):
16
+ self._line = line
17
+
18
+ @property
19
+ def line(self):
20
+ return self._line
21
+
22
+ def enable(self):
23
+ elements = self.line.get_elements_of_type(element_classes)[0]
24
+ if len(elements) == 0:
25
+ print("No xcoll elements found in line.")
26
+ else:
27
+ nemitt_x = None
28
+ nemitt_y = None
29
+ for el in elements:
30
+ if hasattr(el, 'optics') and el.optics is not None:
31
+ if nemitt_x is None:
32
+ nemitt_x = el.nemitt_x
33
+ if nemitt_y is None:
34
+ nemitt_y = el.nemitt_y
35
+ if not np.isclose(el.nemitt_x, nemitt_x) \
36
+ or not np.isclose(el.nemitt_x, nemitt_x):
37
+ raise ValueError("Not all collimators have the same "
38
+ + "emittance. This is not supported.")
39
+ if hasattr(el, 'enable_scattering'):
40
+ el.enable_scattering()
41
+
42
+ def disable(self):
43
+ elements = self.line.get_elements_of_type(element_classes)[0]
44
+ if len(elements) == 0:
45
+ print("No xcoll elements found in line.")
46
+ else:
47
+ for el in elements:
48
+ if hasattr(el, 'disable_scattering'):
49
+ el.disable_scattering()
50
+
51
+
52
+ class XcollCollimatorAPI:
53
+ def __init__(self, line):
54
+ self._line = line
55
+
56
+ @property
57
+ def line(self):
58
+ return self._line
59
+
60
+ def install(self, names, elements, *, at_s=None, apertures=None, need_apertures=False, s_tol=1.e-6):
61
+ if self.line._has_valid_tracker():
62
+ raise Exception("Tracker already built!\nPlease install collimators before building "
63
+ + "tracker!")
64
+
65
+ if not hasattr(names, '__iter__') or isinstance(names, str):
66
+ names = [names]
67
+ if not hasattr(elements, '__iter__') or isinstance(elements, str):
68
+ elements = [elements]
69
+ names = np.array(names)
70
+ length = np.array([coll.length for coll in elements])
71
+ assert len(length) == len(names)
72
+ if not hasattr(at_s, '__iter__'):
73
+ at_s = [at_s for _ in range(len(names))]
74
+ assert len(at_s) == len(names)
75
+ if isinstance(apertures, str) or not hasattr(apertures, '__iter__'):
76
+ apertures = [apertures for _ in range(len(names))]
77
+ assert len(apertures) == len(names)
78
+
79
+ # Verify elements
80
+ for el in elements:
81
+ print(el.__class__)
82
+ assert isinstance(el, block_classes)
83
+ el._tracking = False
84
+
85
+ # Get positions
86
+ tab = self.line.get_table()
87
+ tt = tab.rows[[name for name in names if name in self.line.element_names]]
88
+ s_start = []
89
+ for name, s, l in zip(names, at_s, length):
90
+ if s is None:
91
+ s_start.append(self._get_s_start(name, length=l, table=tt))
92
+ else:
93
+ s_start.append(s)
94
+ s_start = np.array(s_start)
95
+ s_end = s_start + length
96
+
97
+ # Check positions
98
+ l_line = self.line.get_length()
99
+ for s1, s2, name, s3 in zip(s_start, s_end, names, at_s):
100
+ self.check_position(name, s_start=s1, s_end=s2, at_s=s3, length=l_line, s_tol=s_tol)
101
+
102
+ # Look for apertures
103
+ aper_upstream = []
104
+ aper_downstream = []
105
+ for s1, s2, name, aper in zip(s_start, s_end, names, apertures):
106
+ if not need_apertures:
107
+ aper_upstream.append(None)
108
+ aper_downstream.append(None)
109
+ else:
110
+ aper1, aper2 = self.get_aperture(name, s_start=s1, s_end=s2, aperture=aper, table=tab, s_tol=s_tol)
111
+ aper_upstream.append(aper1)
112
+ aper_downstream.append(aper2)
113
+
114
+ # Remove elements at location of collimator (by changing them into markers)
115
+ for s1, s2, name, el in zip(s_start, s_end, names, elements):
116
+ self.prepare_space(name, s_start=s1, s_end=s2, table=tab, s_tol=s_tol)
117
+ el._line = self.line
118
+ el._name = name
119
+
120
+ # Install
121
+ self.line._insert_thick_elements_at_s(element_names=list(names), elements=elements, at_s=s_start, s_tol=s_tol)
122
+
123
+ # Install apertures
124
+ if need_apertures:
125
+ for s1, name, aper1, aper2 in zip(s_start, names, aper_upstream, aper_downstream):
126
+ self.line.insert_element(element=aper1, name=f'{name}_aper_upstream', at=name, s_tol=s_tol)
127
+ idx = self.line.element_names.index(name) + 1
128
+ self.line.insert_element(element=aper2, name=f'{name}_aper_downstream', at=idx, s_tol=s_tol)
129
+
130
+ def check_position(self, name, *, s_start, s_end, at_s, length=None, s_tol=1.e-6):
131
+ if at_s is None:
132
+ if name not in self.line.element_names:
133
+ raise ValueError(f"Element {name} not found in line. Provide `at_s`.")
134
+ elif name in self.line.element_names:
135
+ if at_s < s_start or at_s > s_end:
136
+ raise ValueError(f"Element {name} already exists in line at different "
137
+ + f"location: at_s = {at_s}, exists at [{s_start}, {s_end}].")
138
+ if length is None:
139
+ length = self.line.get_length()
140
+ if s_start <= s_tol:
141
+ raise ValueError(f"Position of {name} too close to start of line. Please cycle.")
142
+ if s_end >= length - s_tol:
143
+ raise ValueError(f"Position of {name} too close to end of line. Please cycle.")
144
+
145
+ def get_apertures_at_s(self, s, *, table=None, s_tol=1.e-6):
146
+ if table is None:
147
+ table = self.line.get_table()
148
+ tab_s = table.rows[s-s_tol:s+s_tol:'s']
149
+ aper = tab_s.rows[[cls.startswith('Limit') for cls in tab_s.element_type]]
150
+ if len(aper) == 0:
151
+ return None
152
+ elif len(aper) == 1:
153
+ return aper.name[0]
154
+ else:
155
+ raise ValueError(f"Multiple apertures found at location {s} with "
156
+ + f"tolerance {s_tol}: {aper.name}. Not supported.")
157
+
158
+ def get_aperture(self, name, *, s_start, s_end, aperture=None, table=None, s_tol=1.e-6):
159
+ if aperture is not None:
160
+ if isinstance(aperture, str):
161
+ aper1 = self.line[aperture]
162
+ aper2 = self.line[aperture]
163
+ elif hasattr(aperture, '__iter__'):
164
+ if len(aperture) != 2:
165
+ raise ValueError(f"The value `aperture` should be None or a list "
166
+ + f"[upstream, downstream].")
167
+ assert aperture[0] is not None and aperture[1] is not None
168
+ if isinstance(aperture[0], str):
169
+ aper1 = self.line[aperture[0]]
170
+ if isinstance(aperture[1], str):
171
+ aper2 = self.line[aperture[1]]
172
+ else:
173
+ aper1 = aperture
174
+ aper2 = aperture
175
+ if not xt.line._is_aperture(aper1, self.line):
176
+ raise ValueError(f"Not a valid aperture: {aper1}")
177
+ if not xt.line._is_aperture(aper2, self.line):
178
+ raise ValueError(f"Not a valid aperture: {aper2}")
179
+ return aper1.copy(), aper2.copy()
180
+ else:
181
+ if table is None:
182
+ table = self.line.get_table()
183
+ aper1 = self.get_apertures_at_s(s=s_start, table=table, s_tol=s_tol)
184
+ aper2 = self.get_apertures_at_s(s=s_end, table=table, s_tol=s_tol)
185
+ if aper1 is None and aper2 is not None:
186
+ aper1 = aper2
187
+ print(f"Warning: Could not find upstream aperture for {name}! "
188
+ + f"Used copy of downstream aperture. Proceed with caution.")
189
+ elif aper2 is None and aper1 is not None:
190
+ aper2 = aper1
191
+ print(f"Warning: Could not find downstream aperture for {name}! "
192
+ + f"Used copy of upstream aperture. Proceed with caution.")
193
+ elif aper1 is None and aper2 is None:
194
+ aper_mid = self.get_apertures_at_s(s=(s_start+s_end)/2, table=table, s_tol=s_tol)
195
+ if aper_mid is None:
196
+ raise ValueError(f"No aperture found for {name}! Please provide one.")
197
+ if self.line[aper_mid].allow_rot_and_shift \
198
+ and xt.base_element._tranformations_active(self.line[aper_mid]):
199
+ print(f"Warning: Using the centre aperture for {name}, but "
200
+ + f"transformations are present. Proceed with caution.")
201
+ aper1 = aper_mid
202
+ aper2 = aper_mid
203
+ return self.line[aper1].copy(), self.line[aper2].copy()
204
+
205
+ def prepare_space(self, name, *, s_start, s_end, table=None, s_tol=1.e-6):
206
+ if table is None:
207
+ table = self.line.get_table()
208
+ tt = table.rows[s_start-s_tol:s_end+s_tol:'s']
209
+ for element_name, element_type in zip(tt.name[:-1], tt.element_type[:-1]):
210
+ if element_type == 'Marker' or element_type.startswith('Drift'):
211
+ continue
212
+ if not element_type.startswith('Limit'):
213
+ print(f"Warning: Removed active element {element_name} "
214
+ + f"at location inside collimator {name}!")
215
+ length = self.line[element_name].length if hasattr(self.line[element_name], 'length') else 0
216
+ self.line.element_dict[element_name] = xt.Drift(length=length)
217
+
218
+ def get_optics_at(self, names, *, twiss=None, tw=None):
219
+ if tw is not None:
220
+ warn("The argument tw is deprecated. Please use twiss instead.", FutureWarning)
221
+ if twiss is None:
222
+ twiss = tw
223
+ if twiss is None:
224
+ if not self.line._has_valid_tracker():
225
+ raise Exception("Please build the tracker before computing the optics for the openings!")
226
+ twiss = self.line.twiss()
227
+ if not hasattr(names, '__iter__') and not isinstance(names, str):
228
+ names = [names]
229
+ coll_entry_indices = twiss.rows.indices[names]
230
+ tw_entry = twiss.rows[coll_entry_indices]
231
+ tw_exit = twiss.rows[coll_entry_indices+1]
232
+ tw_exit.name = tw_entry.name
233
+ return tw_entry, tw_exit
234
+
235
+ def assign_optics(self, *, nemitt_x=None, nemitt_y=None, twiss=None, tw=None):
236
+ if tw is not None:
237
+ warn("The argument tw is deprecated. Please use twiss instead.", FutureWarning)
238
+ if twiss is None:
239
+ twiss = tw
240
+ if not self.line._has_valid_tracker():
241
+ raise Exception("Please build tracker before setting the openings!")
242
+ names = self.line.get_elements_of_type(collimator_classes)[1]
243
+ tw_upstream, tw_downstream = self.get_optics_at(names, twiss=twiss)
244
+ beta_gamma_rel = self.line.particle_ref._xobject.gamma0[0]*self.line.particle_ref._xobject.beta0[0]
245
+ for coll in names:
246
+ self.line[coll].assign_optics(name=coll, nemitt_x=nemitt_x, nemitt_y=nemitt_x, twiss_upstream=tw_upstream,
247
+ twiss_downstream=tw_downstream, beta_gamma_rel=beta_gamma_rel)
248
+
249
+ def open(self, names=None):
250
+ if names is None:
251
+ names = self.line.get_elements_of_type(collimator_classes)[1]
252
+ if len(names) == 0:
253
+ print("No collimators found in line.")
254
+ else:
255
+ for coll in names:
256
+ self.line[coll].open_jaws(keep_tilts=False)
257
+ self.line[coll].gap = None
258
+
259
+ def to_parking(self, names=None):
260
+ if names is None:
261
+ names = self.line.get_elements_of_type(collimator_classes)[1]
262
+ if len(names) == 0:
263
+ print("No collimators found in line.")
264
+ else:
265
+ raise NotImplementedError("Need to move this to new type manager or so.")
266
+
267
+ def _get_s_start(self, name, *, length, table=None):
268
+ if table is None:
269
+ table = self.line.get_table()
270
+ if name in self.line.element_names and hasattr(self.line[name], 'length'):
271
+ existing_length = self.line[name].length
272
+ else:
273
+ existing_length = 0
274
+ if name not in table.name:
275
+ raise ValueError(f"Element {name} not found in line. Need to manually provide `at_s`.")
276
+ return table.rows[name].s[0] + existing_length/2. - length/2
277
+
278
+
279
+
280
+ # Deprecated; to be removed
281
+ # -------------------------
282
+
283
+ def assign_optics_to_collimators(line, nemitt_x=None, nemitt_y=None, twiss=None):
284
+ warn("The function xcoll.assign_optics_to_collimators() is deprecated and will be "
285
+ + "removed in the future. Please use line.scattering.assign_optics() instead.", FutureWarning)
286
+ line.collimators.assign_optics(nemitt_x=nemitt_x, nemitt_y=nemitt_y, twiss=twiss)
287
+
288
+ def get_optics_at(names, *, twiss=None, line=None):
289
+ warn("The function xcoll.get_optics_at() is deprecated and will be "
290
+ + "removed in the future. Please use line.scattering.get_optics_at() instead.", FutureWarning)
291
+ return line.collimators.get_optics_at(names=names, twiss=twiss)
292
+
293
+ def open_collimators(line, names=None):
294
+ warn("The function xcoll.open_collimators() is deprecated and will be "
295
+ + "removed in the future. Please use line.scattering.open_collimators() instead.", FutureWarning)
296
+ line.collimators.open(names=names)
297
+
298
+ def send_to_parking(line, names=None):
299
+ warn("The function xcoll.send_to_parking() is deprecated and will be "
300
+ + "removed in the future. Please use line.scattering.send_to_parking() instead.", FutureWarning)
301
+ line.collimators.to_parking(names=names)
302
+
303
+ def enable_scattering(line):
304
+ warn("The function xcoll.enable_scattering() is deprecated and will be "
305
+ + "removed in the future. Please use line.scattering.enable() instead.", FutureWarning)
306
+ line.scattering.enable()
307
+
308
+ def disable_scattering(line):
309
+ warn("The function xcoll.disable_scattering() is deprecated and will be "
310
+ + "removed in the future. Please use line.scattering.disable() instead.", FutureWarning)
311
+ line.scattering.disable()
@@ -12,7 +12,7 @@ import xtrack as xt
12
12
  import xpart as xp
13
13
  import xobjects as xo
14
14
 
15
- from .beam_elements import _all_collimator_classes, _all_crystal_classes
15
+ from .beam_elements import collimator_classes, crystal_classes
16
16
 
17
17
 
18
18
  class LossMap:
@@ -114,7 +114,7 @@ class LossMap:
114
114
  def _correct_absorbed(self, verbose=True):
115
115
  # Correct particles that are at an aperture directly after a collimator
116
116
  part = self._part
117
- coll_classes = list(set(_all_collimator_classes) - set(_all_crystal_classes))
117
+ coll_classes = list(set(collimator_classes) - set(crystal_classes))
118
118
  coll_elements = self._line.get_elements_of_type(coll_classes)[1]
119
119
  for idx, elem in enumerate(part.at_element):
120
120
  if part.state[idx] == 0:
@@ -156,7 +156,7 @@ class LossMap:
156
156
 
157
157
 
158
158
  def _make_coll_summary(self):
159
- collimator_names = self._line.get_elements_of_type(_all_collimator_classes)[1]
159
+ collimator_names = self._line.get_elements_of_type(collimator_classes)[1]
160
160
  coll_mask = (self._part.state <= -330) & (self._part.state >= -340)
161
161
  coll_losses = np.array([self._line.element_names[i]
162
162
  for i in self._part.at_element[coll_mask]])