xtrack 0.84.7__tar.gz → 0.84.8__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 (309) hide show
  1. {xtrack-0.84.7/xtrack.egg-info → xtrack-0.84.8}/PKG-INFO +1 -1
  2. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_trajectory_correcton.py +49 -0
  3. xtrack-0.84.8/xtrack/_version.py +1 -0
  4. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/environment.py +7 -2
  5. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/trajectory_correction.py +5 -5
  6. {xtrack-0.84.7 → xtrack-0.84.8/xtrack.egg-info}/PKG-INFO +1 -1
  7. xtrack-0.84.7/xtrack/_version.py +0 -1
  8. {xtrack-0.84.7 → xtrack-0.84.8}/LICENSE +0 -0
  9. {xtrack-0.84.7 → xtrack-0.84.8}/MANIFEST.in +0 -0
  10. {xtrack-0.84.7 → xtrack-0.84.8}/README.md +0 -0
  11. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/__init__.py +0 -0
  12. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/base_classes.py +0 -0
  13. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/BB6D.py +0 -0
  14. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/BB6Ddata.py +0 -0
  15. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/__init__.py +0 -0
  16. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/beambeam.py +0 -0
  17. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/boost.py +0 -0
  18. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/gaussian_fields.py +0 -0
  19. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/propagate_sigma_matrix.py +0 -0
  20. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/qgauss.py +0 -0
  21. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/slicing.py +0 -0
  22. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/spacecharge.py +0 -0
  23. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/elements.py +0 -0
  24. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/line.py +0 -0
  25. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/mathlibs.py +0 -0
  26. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/particles.py +0 -0
  27. {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/temp_pyparticles.py +0 -0
  28. {xtrack-0.84.7 → xtrack-0.84.8}/pyproject.toml +0 -0
  29. {xtrack-0.84.7 → xtrack-0.84.8}/setup.cfg +0 -0
  30. {xtrack-0.84.7 → xtrack-0.84.8}/setup.py +0 -0
  31. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_acceleration.py +0 -0
  32. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_amplitude_detuning.py +0 -0
  33. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_aperture_table.py +0 -0
  34. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_aperture_turn_ele_and_monitor.py +0 -0
  35. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_apertures.py +0 -0
  36. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_attr_replicas_and_slices.py +0 -0
  37. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_bucket_with_ref_energy_change.py +0 -0
  38. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_cavity_absolute_time.py +0 -0
  39. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_chromatic_functions_vs_madx.py +0 -0
  40. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_coasting.py +0 -0
  41. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_collective_tracker.py +0 -0
  42. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_collimation.py +0 -0
  43. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_electron_cooler.py +0 -0
  44. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_element_characterization_functions.py +0 -0
  45. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_element_internal_record.py +0 -0
  46. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_elements.py +0 -0
  47. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_elements_classflags.py +0 -0
  48. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_elements_thick.py +0 -0
  49. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_environment.py +0 -0
  50. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_fcc_ee_solenoid_correction.py +0 -0
  51. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_fcc_ee_solenoid_correction_new_optimize_api.py +0 -0
  52. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_footprint.py +0 -0
  53. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_freeze_longitudinal.py +0 -0
  54. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_full_rings.py +0 -0
  55. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_h6_sps_beamline.py +0 -0
  56. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_hvkick.py +0 -0
  57. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_ions.py +0 -0
  58. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_legacy_multiline_to_env.py +0 -0
  59. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_lhc_env.py +0 -0
  60. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_lhc_match_phase_15.py +0 -0
  61. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_line.py +0 -0
  62. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_lumi.py +0 -0
  63. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_mad_writer.py +0 -0
  64. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_madloader.py +0 -0
  65. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_madnginterface.py +0 -0
  66. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_magnet.py +0 -0
  67. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_and_track_from_element.py +0 -0
  68. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_coupling_knob.py +0 -0
  69. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_nested.py +0 -0
  70. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_optics_and_ip_knob.py +0 -0
  71. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_optics_and_ip_knob_new_optimize_api.py +0 -0
  72. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_orbit_bump.py +0 -0
  73. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_tune_chroma_cminus.py +0 -0
  74. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_monitor.py +0 -0
  75. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multi_bunch_gauss.py +0 -0
  76. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multiline.py +0 -0
  77. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multisetter.py +0 -0
  78. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multispecies.py +0 -0
  79. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_native_madloader.py +0 -0
  80. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_optimize_for_tracking.py +0 -0
  81. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_particles.py +0 -0
  82. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_particles_basics.py +0 -0
  83. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_particles_pdg.py +0 -0
  84. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_periodic_symmetric_twiss_and_match.py +0 -0
  85. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_pipeline.py +0 -0
  86. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_prebuild_kernels.py +0 -0
  87. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_ps_against_ptc.py +0 -0
  88. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_ps_multiturn_twiss.py +0 -0
  89. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_psb_chicane.py +0 -0
  90. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_pyht_interface.py +0 -0
  91. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radial_steering.py +0 -0
  92. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation.py +0 -0
  93. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation_equilibrium_emittances.py +0 -0
  94. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation_equilibrium_emittances_thick.py +0 -0
  95. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation_integrals.py +0 -0
  96. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen.py +0 -0
  97. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen_exp.py +0 -0
  98. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen_gauss.py +0 -0
  99. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen_ruth.py +0 -0
  100. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_rbend_rbarc.py +0 -0
  101. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_rf_track.py +0 -0
  102. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_rotation_signs.py +0 -0
  103. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_second_order_taylor_map.py +0 -0
  104. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_seeds.py +0 -0
  105. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_slice_and_insert_with_replicas.py +0 -0
  106. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_slice_elements.py +0 -0
  107. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_slicing.py +0 -0
  108. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_solenoid_bz_map_vs_boris.py +0 -0
  109. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_spacecharge_in_ring.py +0 -0
  110. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_spin.py +0 -0
  111. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_sps_thick.py +0 -0
  112. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_survey.py +0 -0
  113. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_tapering.py +0 -0
  114. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_thick_lhc.py +0 -0
  115. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_tilt_shifts.py +0 -0
  116. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_tracker.py +0 -0
  117. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_twiss.py +0 -0
  118. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_twiss_vs_madx_psb.py +0 -0
  119. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_vs_madx.py +0 -0
  120. {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_xmask_orbit_correction.py +0 -0
  121. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/__init__.py +0 -0
  122. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/__init__.py +0 -0
  123. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/boris_and_solenoid_map/__init__.py +0 -0
  124. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/boris_and_solenoid_map/boris.h +0 -0
  125. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/boris_and_solenoid_map/solenoid_field.py +0 -0
  126. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/__init__.py +0 -0
  127. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/gen_madx_optics_file.py +0 -0
  128. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/lhc_match.py +0 -0
  129. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/var_limits.py +0 -0
  130. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/aperture_meas.py +0 -0
  131. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/base_element.py +0 -0
  132. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/__init__.py +0 -0
  133. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures.py +0 -0
  134. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitellipse.h +0 -0
  135. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitpolygon.h +0 -0
  136. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitracetrack.h +0 -0
  137. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitrect.h +0 -0
  138. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitrectellipse.h +0 -0
  139. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/longitudinallimitrect.h +0 -0
  140. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/beam_interaction.py +0 -0
  141. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements.py +0 -0
  142. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/bend.h +0 -0
  143. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/cavity.h +0 -0
  144. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/dipole_fringe.h +0 -0
  145. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/dipoleedge.h +0 -0
  146. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift.h +0 -0
  147. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice.h +0 -0
  148. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_bend.h +0 -0
  149. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_octupole.h +0 -0
  150. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_quadrupole.h +0 -0
  151. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_rbend.h +0 -0
  152. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_sextupole.h +0 -0
  153. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/electroncooler.h +0 -0
  154. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/elens.h +0 -0
  155. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/exciter.h +0 -0
  156. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/firstordertaylormap.h +0 -0
  157. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/linesegmentmap.h +0 -0
  158. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet.h +0 -0
  159. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet_drift.h +0 -0
  160. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet_edge.h +0 -0
  161. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet_kick.h +0 -0
  162. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/marker.h +0 -0
  163. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/multipole.h +0 -0
  164. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/multipoleedge.h +0 -0
  165. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/nonlinearlens.h +0 -0
  166. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/octupole.h +0 -0
  167. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/quadrupole.h +0 -0
  168. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/rbend.h +0 -0
  169. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/referenceenergyincrease.h +0 -0
  170. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/rfmultipole.h +0 -0
  171. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/second_order_taylor_map.h +0 -0
  172. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/sextupole.h +0 -0
  173. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/simplethinbend.h +0 -0
  174. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/simplethinquadrupole.h +0 -0
  175. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/solenoid.h +0 -0
  176. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/srotation.h +0 -0
  177. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_bend.h +0 -0
  178. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_drift.h +0 -0
  179. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_octupole.h +0 -0
  180. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_quadrupole.h +0 -0
  181. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_rbend.h +0 -0
  182. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_sextupole.h +0 -0
  183. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_solenoid.h +0 -0
  184. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_bend.h +0 -0
  185. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_bend_entry.h +0 -0
  186. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_bend_exit.h +0 -0
  187. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_octupole.h +0 -0
  188. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_octupole_entry.h +0 -0
  189. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_octupole_exit.h +0 -0
  190. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_quadrupole.h +0 -0
  191. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_quadrupole_entry.h +0 -0
  192. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_quadrupole_exit.h +0 -0
  193. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_rbend.h +0 -0
  194. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_rbend_entry.h +0 -0
  195. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_rbend_exit.h +0 -0
  196. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_sextupole.h +0 -0
  197. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_sextupole_entry.h +0 -0
  198. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_sextupole_exit.h +0 -0
  199. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_bend.h +0 -0
  200. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_cavity.h +0 -0
  201. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_dipole_edge_linear.h +0 -0
  202. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_dipole_edge_nonlinear.h +0 -0
  203. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_dipole_fringe.h +0 -0
  204. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_drift.h +0 -0
  205. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet.h +0 -0
  206. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_drift.h +0 -0
  207. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_edge.h +0 -0
  208. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_kick.h +0 -0
  209. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_radiation.h +0 -0
  210. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_mult_fringe.h +0 -0
  211. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_multipolar_components.h +0 -0
  212. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_multipole.h +0 -0
  213. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_quadrupole.h +0 -0
  214. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_solenoid.h +0 -0
  215. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_srotation.h +0 -0
  216. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_thick_bend.h +0 -0
  217. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_thick_cfd.h +0 -0
  218. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_wedge.h +0 -0
  219. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_xrotation.h +0 -0
  220. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_yrotation.h +0 -0
  221. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/wedge.h +0 -0
  222. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/wire.h +0 -0
  223. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/xrotation.h +0 -0
  224. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/xyshift.h +0 -0
  225. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/yrotation.h +0 -0
  226. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/zetashift.h +0 -0
  227. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/exciter.py +0 -0
  228. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/magnets.py +0 -0
  229. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/rft_element.py +0 -0
  230. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/slice_elements.py +0 -0
  231. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/slice_elements_thick.py +0 -0
  232. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/footprint.py +0 -0
  233. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/general.py +0 -0
  234. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/atomicadd.h +0 -0
  235. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/checks.h +0 -0
  236. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/constants.h +0 -0
  237. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/particle_states.h +0 -0
  238. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/synrad_spectrum.h +0 -0
  239. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/track.h +0 -0
  240. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/internal_record.py +0 -0
  241. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/json.py +0 -0
  242. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/line.py +0 -0
  243. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/linear_normal_form.py +0 -0
  244. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/loss_location_refinement/__init__.py +0 -0
  245. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/loss_location_refinement/loss_location_refinement.py +0 -0
  246. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/lumi.py +0 -0
  247. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_loader.py +0 -0
  248. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/__init__.py +0 -0
  249. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/loader.py +0 -0
  250. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/madx.lark +0 -0
  251. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/parse.py +0 -0
  252. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_writer.py +0 -0
  253. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/madng_interface.py +0 -0
  254. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/match.py +0 -0
  255. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/__init__.py +0 -0
  256. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_position_monitor.h +0 -0
  257. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_position_monitor.py +0 -0
  258. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_profile_monitor.h +0 -0
  259. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_profile_monitor.py +0 -0
  260. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_size_monitor.h +0 -0
  261. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_size_monitor.py +0 -0
  262. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/last_turns_monitor.h +0 -0
  263. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/last_turns_monitor.py +0 -0
  264. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/particles_monitor.h +0 -0
  265. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/particles_monitor.py +0 -0
  266. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline.py +0 -0
  267. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline_legacy/__init__.py +0 -0
  268. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline_legacy/multiline_legacy.py +0 -0
  269. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline_legacy/shared_knobs.py +0 -0
  270. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multisetter/__init__.py +0 -0
  271. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multisetter/multisetter.py +0 -0
  272. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/__init__.py +0 -0
  273. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/constants.py +0 -0
  274. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/masses.py +0 -0
  275. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/particles.py +0 -0
  276. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/pdg.py +0 -0
  277. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/rng_src/base_rng.h +0 -0
  278. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/rng_src/particles_rng.h +0 -0
  279. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/__init__.py +0 -0
  280. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/core.py +0 -0
  281. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/manager.py +0 -0
  282. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/multitracker.py +0 -0
  283. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/progress_indicator.py +0 -0
  284. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/__init__.py +0 -0
  285. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_generators.py +0 -0
  286. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/exponential.h +0 -0
  287. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/exponential_integral_Ei.h +0 -0
  288. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/normal.h +0 -0
  289. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/rutherford.h +0 -0
  290. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/uniform.h +0 -0
  291. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/uniform_accurate.h +0 -0
  292. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/slicing.py +0 -0
  293. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/survey.py +0 -0
  294. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/__init__.py +0 -0
  295. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/parser.py +0 -0
  296. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/path.py +0 -0
  297. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/svgutils.py +0 -0
  298. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/synctime.py +0 -0
  299. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tapering.py +0 -0
  300. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/targets.py +0 -0
  301. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tracker.py +0 -0
  302. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tracker_data.py +0 -0
  303. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tracker_src/tracker.h +0 -0
  304. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/twiss.py +0 -0
  305. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/twissplot.py +0 -0
  306. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/SOURCES.txt +0 -0
  307. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/dependency_links.txt +0 -0
  308. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/requires.txt +0 -0
  309. {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtrack
3
- Version: 0.84.7
3
+ Version: 0.84.8
4
4
  Summary: Tracking library for particle accelerators
5
5
  Home-page: https://xsuite.readthedocs.io/
6
6
  Download-URL: https://pypi.python.org/pypi/xtrack
@@ -637,3 +637,52 @@ def test_orbit_correction_with_limits():
637
637
  # Basic method should use more correctors
638
638
  assert np.sum(np.abs(kicks_x_basic) > 1e-10) > n_micado
639
639
  assert np.sum(np.abs(kicks_y_basic) > 1e-10) > n_micado
640
+
641
+
642
+ def test_orbit_correction_with_delta_zero():
643
+
644
+ line = xt.Line.from_json(test_data_folder
645
+ / 'hllhc15_thick/lhc_thick_with_knobs.json')
646
+ tt = line.get_table()
647
+
648
+ # Define elements to be used as monitors for orbit correction
649
+ # (for LHC all element names starting by "bpm" and not ending by "_entry" or "_exit")
650
+ tt_monitors = tt.rows['bpm.*'].rows['.*(?<!_entry)$'].rows['.*(?<!_exit)$']
651
+ line.steering_monitors_x = tt_monitors.name
652
+ line.steering_monitors_y = tt_monitors.name
653
+
654
+ # Define elements to be used as correctors for orbit correction
655
+ # (for LHC all element namesstarting by "mcb.", containing "h." or "v.")
656
+ tt_h_correctors = tt.rows['mcb.*'].rows[r'.*h\..*']
657
+ line.steering_correctors_x = tt_h_correctors.name
658
+ tt_v_correctors = tt.rows['mcb.*'].rows[r'.*v\..*']
659
+ line.steering_correctors_y = tt_v_correctors.name
660
+
661
+ # Reference twiss (no misalignments)
662
+ tw_ref = line.twiss4d()
663
+
664
+ # Create orbit correction object without running the correction
665
+ orbit_correction = line.correct_trajectory(twiss_table=tw_ref, run=False,
666
+ n_singular_values=250)
667
+
668
+ delta0 = 1e-4
669
+
670
+ # Twiss before correction
671
+ tw_before = line.twiss4d(delta0=delta0)
672
+ assert tw_before.x.std() > 7e-5
673
+ assert tw_before.y.std() < 1e-10
674
+
675
+ # Correct
676
+ orbit_correction.correct(delta0=delta0)
677
+
678
+ # Twiss after correction
679
+ tw_after = line.twiss4d(delta0=delta0)
680
+ assert tw_after.x.std() < 2e-5
681
+ assert tw_after.y.std() < 1e-10
682
+
683
+ # Extract correction strength
684
+ kicks_x = orbit_correction.x_correction.get_kick_values()
685
+ kicks_y = orbit_correction.y_correction.get_kick_values()
686
+
687
+ assert np.abs(kicks_x).max() < 2.5e-6
688
+ assert np.abs(kicks_y).max() < 1e-15
@@ -0,0 +1 @@
1
+ __version__ = '0.84.8'
@@ -263,10 +263,15 @@ class Environment:
263
263
 
264
264
  _eval = self._xdeps_eval.eval
265
265
 
266
- assert isinstance(parent, str) or parent in _ALLOWED_ELEMENT_TYPES_IN_NEW, (
266
+ if not (isinstance(parent, str) or parent in _ALLOWED_ELEMENT_TYPES_IN_NEW):
267
+ raise ValueError(
267
268
  'Only '
268
269
  + _STR_ALLOWED_ELEMENT_TYPES_IN_NEW
269
- + ' elements are allowed in `new` for now.')
270
+ + ' elements are allowed in `new` for now. In this case it is possible '
271
+ + 'to create a new element using the class and add it to the environment '
272
+ + ' using `env.elements`. For example:\n\n'
273
+ + '`env.elements["myname"] = MyClass(...)`\n'
274
+ )
270
275
 
271
276
  needs_instantiation = True
272
277
  parent_element = None
@@ -314,7 +314,7 @@ class OrbitCorrectionSinglePlane:
314
314
  else:
315
315
  self._position_after = None
316
316
 
317
- def _compute_tw_orbit(self):
317
+ def _compute_tw_orbit(self, delta0=None):
318
318
  if self.mode == 'open':
319
319
  # Initialized with betx=1, bety=1 (use W_matrix to avoid compilation)
320
320
  twinit = xt.TwissInit(W_matrix=np.eye(6),
@@ -326,7 +326,7 @@ class OrbitCorrectionSinglePlane:
326
326
  else:
327
327
  twinit = None
328
328
  tw_orbit = self.line.twiss4d(only_orbit=True, start=self.start, end=self.end,
329
- init=twinit, reverse=False)
329
+ init=twinit, reverse=False, delta0=delta0)
330
330
  return tw_orbit
331
331
 
332
332
  def _measure_position(self, tw_orbit=None):
@@ -542,7 +542,7 @@ class TrajectoryCorrection:
542
542
 
543
543
  def correct(self, planes=None, n_micado=None, n_singular_values=None,
544
544
  rcond=None, n_iter='auto', verbose=True, stop_iter_factor=0.1,
545
- tol_position_std=1e-10):
545
+ tol_position_std=1e-10, delta0=None):
546
546
 
547
547
  '''
548
548
  Correct the trajectory in the horizontal and/or vertical plane.
@@ -609,7 +609,7 @@ class TrajectoryCorrection:
609
609
  if self.y_correction is not None:
610
610
  a_correction = self.y_correction
611
611
 
612
- tw_orbit = a_correction._compute_tw_orbit()
612
+ tw_orbit = a_correction._compute_tw_orbit(delta0=delta0)
613
613
 
614
614
  if self.x_correction is not None:
615
615
  relative_limits_x = self.x_correction.corrector_limits
@@ -633,7 +633,7 @@ class TrajectoryCorrection:
633
633
  corrector_limits=relative_limits_y)
634
634
 
635
635
  tw_orbit_prev = tw_orbit
636
- tw_orbit = a_correction._compute_tw_orbit()
636
+ tw_orbit = a_correction._compute_tw_orbit(delta0=delta0)
637
637
 
638
638
  if n_iter == 'auto' and self.x_correction is not None and 'x' in planes:
639
639
  new_position = self.x_correction._measure_position(tw_orbit)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtrack
3
- Version: 0.84.7
3
+ Version: 0.84.8
4
4
  Summary: Tracking library for particle accelerators
5
5
  Home-page: https://xsuite.readthedocs.io/
6
6
  Download-URL: https://pypi.python.org/pypi/xtrack
@@ -1 +0,0 @@
1
- __version__ = '0.84.7'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes