xtrack 0.77.1__tar.gz → 0.78.0__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 (272) hide show
  1. {xtrack-0.77.1/xtrack.egg-info → xtrack-0.78.0}/PKG-INFO +1 -1
  2. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_radiation_equilibrium_emittances.py +11 -0
  3. xtrack-0.78.0/xtrack/_version.py +1 -0
  4. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/environment.py +1 -1
  5. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/line.py +2 -1
  6. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/twiss.py +168 -1
  7. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/twissplot.py +4 -0
  8. {xtrack-0.77.1 → xtrack-0.78.0/xtrack.egg-info}/PKG-INFO +1 -1
  9. xtrack-0.77.1/xtrack/_version.py +0 -1
  10. {xtrack-0.77.1 → xtrack-0.78.0}/LICENSE +0 -0
  11. {xtrack-0.77.1 → xtrack-0.78.0}/MANIFEST.in +0 -0
  12. {xtrack-0.77.1 → xtrack-0.78.0}/README.md +0 -0
  13. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/__init__.py +0 -0
  14. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/base_classes.py +0 -0
  15. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/BB6D.py +0 -0
  16. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/BB6Ddata.py +0 -0
  17. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/__init__.py +0 -0
  18. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/beambeam.py +0 -0
  19. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/boost.py +0 -0
  20. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/gaussian_fields.py +0 -0
  21. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/propagate_sigma_matrix.py +0 -0
  22. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/qgauss.py +0 -0
  23. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/slicing.py +0 -0
  24. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/be_beamfields/spacecharge.py +0 -0
  25. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/elements.py +0 -0
  26. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/line.py +0 -0
  27. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/mathlibs.py +0 -0
  28. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/particles.py +0 -0
  29. {xtrack-0.77.1 → xtrack-0.78.0}/ducktrack/temp_pyparticles.py +0 -0
  30. {xtrack-0.77.1 → xtrack-0.78.0}/pyproject.toml +0 -0
  31. {xtrack-0.77.1 → xtrack-0.78.0}/setup.cfg +0 -0
  32. {xtrack-0.77.1 → xtrack-0.78.0}/setup.py +0 -0
  33. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_acceleration.py +0 -0
  34. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_amplitude_detuning.py +0 -0
  35. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_aperture_turn_ele_and_monitor.py +0 -0
  36. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_apertures.py +0 -0
  37. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_attr_replicas_and_slices.py +0 -0
  38. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_bucket_with_ref_energy_change.py +0 -0
  39. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_cavity_absolute_time.py +0 -0
  40. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_chromatic_functions_vs_madx.py +0 -0
  41. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_coasting.py +0 -0
  42. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_collective_tracker.py +0 -0
  43. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_collimation.py +0 -0
  44. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_element_characterization_functions.py +0 -0
  45. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_element_internal_record.py +0 -0
  46. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_elements.py +0 -0
  47. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_elements_classflags.py +0 -0
  48. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_elements_thick.py +0 -0
  49. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_environment.py +0 -0
  50. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_fcc_ee_solenoid_correction.py +0 -0
  51. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_fcc_ee_solenoid_correction_new_optimize_api.py +0 -0
  52. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_footprint.py +0 -0
  53. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_freeze_longitudinal.py +0 -0
  54. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_full_rings.py +0 -0
  55. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_h6_sps_beamline.py +0 -0
  56. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_hvkick.py +0 -0
  57. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_ions.py +0 -0
  58. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_legacy_multiline_to_env.py +0 -0
  59. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_lhc_env.py +0 -0
  60. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_lhc_match_phase_15.py +0 -0
  61. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_line.py +0 -0
  62. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_lumi.py +0 -0
  63. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_mad_writer.py +0 -0
  64. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_madloader.py +0 -0
  65. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_madnginterface.py +0 -0
  66. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_match_and_track_from_element.py +0 -0
  67. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_match_coupling_knob.py +0 -0
  68. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_match_nested.py +0 -0
  69. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_match_optics_and_ip_knob.py +0 -0
  70. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_match_optics_and_ip_knob_new_optimize_api.py +0 -0
  71. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_match_orbit_bump.py +0 -0
  72. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_match_tune_chroma_cminus.py +0 -0
  73. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_monitor.py +0 -0
  74. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_multi_bunch_gauss.py +0 -0
  75. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_multiline.py +0 -0
  76. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_multisetter.py +0 -0
  77. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_multispecies.py +0 -0
  78. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_native_madloader.py +0 -0
  79. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_particles.py +0 -0
  80. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_periodic_symmetric_twiss_and_match.py +0 -0
  81. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_pipeline.py +0 -0
  82. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_prebuild_kernels.py +0 -0
  83. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_ps_against_ptc.py +0 -0
  84. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_ps_multiturn_twiss.py +0 -0
  85. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_psb_chicane.py +0 -0
  86. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_pyht_interface.py +0 -0
  87. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_radial_steering.py +0 -0
  88. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_radiation.py +0 -0
  89. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_random_gen.py +0 -0
  90. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_random_gen_exp.py +0 -0
  91. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_random_gen_gauss.py +0 -0
  92. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_random_gen_ruth.py +0 -0
  93. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_rbend_rbarc.py +0 -0
  94. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_rf_track.py +0 -0
  95. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_rotation_signs.py +0 -0
  96. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_second_order_taylor_map.py +0 -0
  97. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_seeds.py +0 -0
  98. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_slice_and_insert_with_replicas.py +0 -0
  99. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_slice_elements.py +0 -0
  100. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_slicing.py +0 -0
  101. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_solenoid_bz_map_vs_boris.py +0 -0
  102. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_spacecharge_in_ring.py +0 -0
  103. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_sps_thick.py +0 -0
  104. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_survey.py +0 -0
  105. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_tapering.py +0 -0
  106. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_thick_lhc.py +0 -0
  107. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_tilt_shifts.py +0 -0
  108. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_tracker.py +0 -0
  109. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_trajectory_correcton.py +0 -0
  110. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_twiss.py +0 -0
  111. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_twiss_vs_madx_psb.py +0 -0
  112. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_vs_madx.py +0 -0
  113. {xtrack-0.77.1 → xtrack-0.78.0}/tests/test_xmask_orbit_correction.py +0 -0
  114. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/__init__.py +0 -0
  115. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/__init__.py +0 -0
  116. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/boris_and_solenoid_map/__init__.py +0 -0
  117. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/boris_and_solenoid_map/boris.h +0 -0
  118. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/boris_and_solenoid_map/solenoid_field.py +0 -0
  119. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/lhc_match/__init__.py +0 -0
  120. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/lhc_match/gen_madx_optics_file.py +0 -0
  121. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/lhc_match/lhc_match.py +0 -0
  122. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/_temp/lhc_match/var_limits.py +0 -0
  123. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/base_element.py +0 -0
  124. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/__init__.py +0 -0
  125. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/apertures.py +0 -0
  126. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/apertures_src/limitellipse.h +0 -0
  127. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/apertures_src/limitpolygon.h +0 -0
  128. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/apertures_src/limitracetrack.h +0 -0
  129. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/apertures_src/limitrect.h +0 -0
  130. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/apertures_src/limitrectellipse.h +0 -0
  131. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/apertures_src/longitudinallimitrect.h +0 -0
  132. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/beam_interaction.py +0 -0
  133. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements.py +0 -0
  134. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/bend.h +0 -0
  135. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/cavity.h +0 -0
  136. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/dipole_fringe.h +0 -0
  137. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/dipoleedge.h +0 -0
  138. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift.h +0 -0
  139. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift_elem.h +0 -0
  140. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift_slice.h +0 -0
  141. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift_slice_bend.h +0 -0
  142. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift_slice_octupole.h +0 -0
  143. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift_slice_quadrupole.h +0 -0
  144. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift_slice_rbend.h +0 -0
  145. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/drift_slice_sextupole.h +0 -0
  146. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/elens.h +0 -0
  147. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/exciter.h +0 -0
  148. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/firstordertaylormap.h +0 -0
  149. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/linesegmentmap.h +0 -0
  150. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/multipole.h +0 -0
  151. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/nonlinearlens.h +0 -0
  152. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/octupole.h +0 -0
  153. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/quadrupole.h +0 -0
  154. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/rbend.h +0 -0
  155. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/referenceenergyincrease.h +0 -0
  156. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/rfmultipole.h +0 -0
  157. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/second_order_taylor_map.h +0 -0
  158. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/sextupole.h +0 -0
  159. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/simplethinbend.h +0 -0
  160. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/simplethinquadrupole.h +0 -0
  161. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/solenoid.h +0 -0
  162. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/srotation.h +0 -0
  163. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thick_slice_bend.h +0 -0
  164. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thick_slice_drift.h +0 -0
  165. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thick_slice_octupole.h +0 -0
  166. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thick_slice_quadrupole.h +0 -0
  167. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thick_slice_rbend.h +0 -0
  168. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thick_slice_sextupole.h +0 -0
  169. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thick_slice_solenoid.h +0 -0
  170. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_bend.h +0 -0
  171. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_bend_entry.h +0 -0
  172. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_bend_exit.h +0 -0
  173. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_octupole.h +0 -0
  174. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_quadrupole.h +0 -0
  175. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_rbend.h +0 -0
  176. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_rbend_entry.h +0 -0
  177. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_rbend_exit.h +0 -0
  178. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/thin_slice_sextupole.h +0 -0
  179. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_bend.h +0 -0
  180. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_dipole_edge_linear.h +0 -0
  181. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_dipole_edge_nonlinear.h +0 -0
  182. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_dipole_fringe.h +0 -0
  183. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_mult_fringe.h +0 -0
  184. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_multipolar_components.h +0 -0
  185. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_multipole.h +0 -0
  186. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_quadrupole.h +0 -0
  187. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_solenoid.h +0 -0
  188. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_srotation.h +0 -0
  189. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_thick_bend.h +0 -0
  190. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_thick_cfd.h +0 -0
  191. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_wedge.h +0 -0
  192. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_xrotation.h +0 -0
  193. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/track_yrotation.h +0 -0
  194. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/wedge.h +0 -0
  195. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/wire.h +0 -0
  196. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/xrotation.h +0 -0
  197. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/xyshift.h +0 -0
  198. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/yrotation.h +0 -0
  199. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/elements_src/zetashift.h +0 -0
  200. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/exciter.py +0 -0
  201. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/rft_element.py +0 -0
  202. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/slice_elements.py +0 -0
  203. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/beam_elements/slice_elements_thick.py +0 -0
  204. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/footprint.py +0 -0
  205. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/general.py +0 -0
  206. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/headers/atomicadd.h +0 -0
  207. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/headers/checks.h +0 -0
  208. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/headers/constants.h +0 -0
  209. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/headers/particle_states.h +0 -0
  210. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/headers/synrad_spectrum.h +0 -0
  211. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/internal_record.py +0 -0
  212. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/json.py +0 -0
  213. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/linear_normal_form.py +0 -0
  214. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/loss_location_refinement/__init__.py +0 -0
  215. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/loss_location_refinement/loss_location_refinement.py +0 -0
  216. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/lumi.py +0 -0
  217. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/mad_loader.py +0 -0
  218. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/mad_parser/__init__.py +0 -0
  219. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/mad_parser/loader.py +0 -0
  220. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/mad_parser/madx.lark +0 -0
  221. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/mad_parser/parse.py +0 -0
  222. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/mad_writer.py +0 -0
  223. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/madng_interface.py +0 -0
  224. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/match.py +0 -0
  225. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/__init__.py +0 -0
  226. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/beam_position_monitor.h +0 -0
  227. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/beam_position_monitor.py +0 -0
  228. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/beam_profile_monitor.h +0 -0
  229. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/beam_profile_monitor.py +0 -0
  230. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/beam_size_monitor.h +0 -0
  231. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/beam_size_monitor.py +0 -0
  232. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/last_turns_monitor.h +0 -0
  233. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/last_turns_monitor.py +0 -0
  234. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/particles_monitor.h +0 -0
  235. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/monitors/particles_monitor.py +0 -0
  236. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/multiline.py +0 -0
  237. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/multiline_legacy/__init__.py +0 -0
  238. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/multiline_legacy/multiline_legacy.py +0 -0
  239. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/multiline_legacy/shared_knobs.py +0 -0
  240. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/multisetter/__init__.py +0 -0
  241. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/multisetter/multisetter.py +0 -0
  242. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/particles/__init__.py +0 -0
  243. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/particles/constants.py +0 -0
  244. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/particles/particles.py +0 -0
  245. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/particles/rng_src/base_rng.h +0 -0
  246. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/particles/rng_src/particles_rng.h +0 -0
  247. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/pipeline/__init__.py +0 -0
  248. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/pipeline/core.py +0 -0
  249. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/pipeline/manager.py +0 -0
  250. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/pipeline/multitracker.py +0 -0
  251. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/progress_indicator.py +0 -0
  252. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/__init__.py +0 -0
  253. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/random_generators.py +0 -0
  254. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/random_src/exponential.h +0 -0
  255. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/random_src/exponential_integral_Ei.h +0 -0
  256. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/random_src/normal.h +0 -0
  257. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/random_src/rutherford.h +0 -0
  258. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/random_src/uniform.h +0 -0
  259. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/random/random_src/uniform_accurate.h +0 -0
  260. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/slicing.py +0 -0
  261. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/survey.py +0 -0
  262. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/synctime.py +0 -0
  263. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/tapering.py +0 -0
  264. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/targets.py +0 -0
  265. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/tracker.py +0 -0
  266. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/tracker_data.py +0 -0
  267. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/tracker_src/tracker.h +0 -0
  268. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack/trajectory_correction.py +0 -0
  269. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack.egg-info/SOURCES.txt +0 -0
  270. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack.egg-info/dependency_links.txt +0 -0
  271. {xtrack-0.77.1 → xtrack-0.78.0}/xtrack.egg-info/requires.txt +0 -0
  272. {xtrack-0.77.1 → xtrack-0.78.0}/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.77.1
3
+ Version: 0.78.0
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
@@ -156,6 +156,17 @@ def test_eq_emitt(conf):
156
156
 
157
157
  assert checked
158
158
 
159
+ # Check radiation integrals
160
+ tw_integ = line.twiss(radiation_integrals=True)
161
+ xo.assert_allclose(tw_integ.rad_int_damping_constant_x_s,
162
+ tw_rad.damping_constants_s[0], rtol=0.02, atol=0)
163
+ xo.assert_allclose(tw_integ.rad_int_damping_constant_y_s,
164
+ tw_rad.damping_constants_s[1], rtol=0.02, atol=0)
165
+ xo.assert_allclose(tw_integ.rad_int_damping_constant_zeta_s,
166
+ tw_rad.damping_constants_s[2], rtol=0.02, atol=0)
167
+ xo.assert_allclose(tw_integ.rad_int_eq_gemitt_x, ex, rtol=0.1, atol=1e-14)
168
+ xo.assert_allclose(tw_integ.rad_int_eq_gemitt_y, ey, rtol=0.1, atol=1e-14)
169
+
159
170
  tw_rad2 = line.twiss(eneloss_and_damping=True, method='6d',
160
171
  radiation_method='full',
161
172
  compute_lattice_functions=False,
@@ -0,0 +1 @@
1
+ __version__ = '0.78.0'
@@ -1185,7 +1185,7 @@ def _sort_places(tt_unsorted, s_tol=1e-10, allow_non_existent_from=False):
1185
1185
 
1186
1186
  return tt_sorted
1187
1187
 
1188
- def _generate_element_names_with_drifts(env, tt_sorted, length=None, s_tol=1e-10):
1188
+ def _generate_element_names_with_drifts(env, tt_sorted, length=None, s_tol=1e-6):
1189
1189
 
1190
1190
  names_with_drifts = []
1191
1191
  # Create drifts
@@ -1265,6 +1265,7 @@ class Line:
1265
1265
  values_at_element_exit=None,
1266
1266
  radiation_method=None,
1267
1267
  eneloss_and_damping=None,
1268
+ radiation_integrals=None,
1268
1269
  start=None, end=None, init=None,
1269
1270
  num_turns=None,
1270
1271
  skip_global_quantities=None,
@@ -2994,7 +2995,7 @@ class Line:
2994
2995
  self._bhabha_model = None
2995
2996
 
2996
2997
  for kk, ee in self.element_dict.items():
2997
- if isinstance (ee, (xt.Quadrupole, xt.Bend)):
2998
+ if isinstance (ee, (xt.Quadrupole, xt.Bend, xt.RBend)):
2998
2999
  continue
2999
3000
  if hasattr(ee, 'radiation_flag'):
3000
3001
  ee.radiation_flag = radiation_flag
@@ -14,6 +14,7 @@ from scipy.constants import hbar
14
14
  from scipy.constants import epsilon_0
15
15
  from scipy.constants import e as qe
16
16
  from scipy.special import factorial
17
+ from scipy.constants import electron_volt
17
18
 
18
19
  if hasattr(np, 'trapezoid'): # numpy >= 2.0
19
20
  trapz = np.trapezoid
@@ -76,6 +77,7 @@ def twiss_line(line, particle_ref=None, method=None,
76
77
  values_at_element_exit=None,
77
78
  radiation_method=None,
78
79
  eneloss_and_damping=None,
80
+ radiation_integrals=None,
79
81
  start=None, end=None, init=None,
80
82
  num_turns=None,
81
83
  skip_global_quantities=None,
@@ -147,6 +149,8 @@ def twiss_line(line, particle_ref=None, method=None,
147
149
  code to analysis" is used. If 'kick_as_co' all particles receive the same
148
150
  radiation kicks as the closed orbit. If 'scale_as_co' all particles
149
151
  momenta are scaled by radiation as much as the closed orbit.
152
+ radiation_integrals : bool, optional
153
+ If True, the radiation integrals are computed.
150
154
  eneloss_and_damping : bool, optional
151
155
  If True, the energy loss and radiation damping constants are computed.
152
156
  strengths : bool, optional
@@ -315,6 +319,7 @@ def twiss_line(line, particle_ref=None, method=None,
315
319
  continue_on_closed_orbit_error=(continue_on_closed_orbit_error or False)
316
320
  freeze_longitudinal=(freeze_longitudinal or False)
317
321
  radiation_method=(radiation_method or None)
322
+ radiation_integrals=(radiation_integrals or False)
318
323
  eneloss_and_damping=(eneloss_and_damping or False)
319
324
  symplectify=(symplectify or False)
320
325
  reverse=(reverse or False)
@@ -785,9 +790,12 @@ def twiss_line(line, particle_ref=None, method=None,
785
790
  else:
786
791
  twiss_res._data['values_at'] = 'entry'
787
792
 
788
- if strengths:
793
+ if strengths or radiation_integrals:
789
794
  _add_strengths_to_twiss_res(twiss_res, line)
790
795
 
796
+ if radiation_integrals:
797
+ twiss_res._compute_radiation_integrals(add_to_tw=True)
798
+
791
799
  twiss_res._data['method'] = method
792
800
  twiss_res._data['radiation_method'] = radiation_method
793
801
  twiss_res._data['reference_frame'] = 'proper'
@@ -3581,6 +3589,163 @@ class TwissTable(Table):
3581
3589
 
3582
3590
  return pl
3583
3591
 
3592
+ def _compute_radiation_integrals(self, add_to_tw=False):
3593
+
3594
+ angle_rad = self['angle_rad']
3595
+ rot_s_rad = self['rot_s_rad']
3596
+ x = self['x']
3597
+ y = self['y']
3598
+ kin_px = self['kin_px']
3599
+ kin_py = self['kin_py']
3600
+ delta = self['delta']
3601
+ length = self['length']
3602
+
3603
+ betx = self['betx'] # Twiss beta function x
3604
+ alfx = self['alfx'] # Twiss alpha x
3605
+ gamx = self['gamx'] # Twiss gamma x
3606
+ bety = self['bety'] # Twiss beta function y
3607
+ alfy = self['alfy'] # Twiss alpha y
3608
+ gamy = self['gamy'] # Twiss gamma y
3609
+ dx = self['dx'] # Dispersion x
3610
+ dy = self['dy'] # Dispersion y
3611
+ dpx = self['dpx'] # Dispersion px
3612
+ dpy = self['dpy'] # Dispersion py
3613
+
3614
+ mass0 = self.particle_on_co.mass0
3615
+ r0 = self.particle_on_co.get_classical_particle_radius0()
3616
+ gamma0 = self.gamma0
3617
+
3618
+ dxprime = dpx * (1 - delta) - kin_px
3619
+ dyprime = dpy * (1 - delta) - kin_py
3620
+
3621
+ # Curvature of the reference trajectory
3622
+ mask = length != 0
3623
+ kappa0_x = 0 * angle_rad
3624
+ kappa0_y = 0 * angle_rad
3625
+ kappa0_x[mask] = angle_rad[mask] * np.cos(rot_s_rad[mask]) / length[mask]
3626
+ kappa0_y[mask] = angle_rad[mask] * np.sin(rot_s_rad[mask]) / length[mask]
3627
+ kappa0 = np.sqrt(kappa0_x**2 + kappa0_y**2)
3628
+
3629
+ # Field index
3630
+ fieldindex = 0 * angle_rad
3631
+ k1 = 0 * angle_rad
3632
+ k1[mask] = self.k1l[mask] / length[mask]
3633
+ mask_k0 = kappa0 > 0
3634
+ fieldindex[mask_k0] = -1. / kappa0[mask_k0]**2 * k1[mask_k0]
3635
+
3636
+ # Compute x', y', x'', y''
3637
+ ps = np.sqrt((1 + delta)**2 - kin_px**2 - kin_py**2)
3638
+ xp = kin_px / ps
3639
+ yp = kin_py / ps
3640
+ xp_ele = xp * 0
3641
+ yp_ele = yp * 0
3642
+ xp_ele[:-1] = (xp[:-1] + xp[1:]) / 2
3643
+ yp_ele[:-1] = (yp[:-1] + yp[1:]) / 2
3644
+
3645
+ mask_length = length != 0
3646
+ xpp_ele = xp_ele * 0
3647
+ ypp_ele = yp_ele * 0
3648
+ xpp_ele[mask_length] = np.diff(xp, append=0)[mask_length] / length[mask_length]
3649
+ ypp_ele[mask_length] = np.diff(yp, append=0)[mask_length] / length[mask_length]
3650
+
3651
+ # Curvature of the particle trajectory
3652
+ hhh = 1 + kappa0_x * x + kappa0_y * y
3653
+ hprime = kappa0_x * xp_ele + kappa0_y * yp_ele
3654
+ mask1 = xpp_ele**2 + hhh**2 != 0
3655
+ mask2 = xpp_ele**2 + hhh**2 != 0
3656
+ kappa_x = (-(hhh * (xpp_ele - hhh * kappa0_x) - 2 * hprime * xp_ele)[mask1]
3657
+ / (xp_ele**2 + hhh**2)[mask1]**(3/2))
3658
+ kappa_y = (-(hhh * (ypp_ele - hhh * kappa0_y) - 2 * hprime * yp_ele)[mask2]
3659
+ / (yp_ele**2 + hhh**2)[mask2]**(3/2))
3660
+ kappa = np.sqrt(kappa_x**2 + kappa_y**2)
3661
+
3662
+ # Curly H
3663
+ Hx_rad = gamx * dx**2 + 2*alfx * dx * dxprime + betx * dxprime**2
3664
+ Hy_rad = gamy * dy**2 + 2*alfy * dy * dyprime + bety * dyprime**2
3665
+
3666
+ # Integrands
3667
+ i1x_integrand = kappa * dx
3668
+ i1y_integrand = kappa * dy
3669
+
3670
+ i2x_integrand = kappa * kappa
3671
+ i2y_integrand = kappa * kappa
3672
+
3673
+ i3x_integrand = kappa * kappa * kappa
3674
+ i3y_integrand = kappa * kappa * kappa
3675
+
3676
+ i4x_integrand = kappa * kappa * kappa * dx * (1 - 2 * fieldindex)
3677
+ i4y_integrand = kappa * kappa * kappa * dy * (1 - 2 * fieldindex)
3678
+
3679
+ i5x_integrand = np.abs(kappa * kappa * kappa) * Hx_rad
3680
+ i5y_integrand = np.abs(kappa * kappa * kappa) * Hy_rad
3681
+
3682
+ # Integrate
3683
+ i1x = np.sum(i1x_integrand * length)
3684
+ i1y = np.sum(i1y_integrand * length)
3685
+ i2x = np.sum(i2x_integrand * length)
3686
+ i2y = np.sum(i2y_integrand * length)
3687
+ i3x = np.sum(i3x_integrand * length)
3688
+ i3y = np.sum(i3y_integrand * length)
3689
+ i4x = np.sum(i4x_integrand * length)
3690
+ i4y = np.sum(i4y_integrand * length)
3691
+ i5x = np.sum(i5x_integrand * length)
3692
+ i5y = np.sum(i5y_integrand * length)
3693
+
3694
+ # Emittances
3695
+ eq_gemitt_x = (55/(32 * 3**(1/2)) * hbar / electron_volt * clight
3696
+ / mass0 * gamma0**2 * i5x / (i2x - i4x))
3697
+ eq_gemitt_y = (55/(32 * 3**(1/2)) * hbar / electron_volt * clight
3698
+ / mass0 * gamma0**2 * i5y / (i2y - i4y))
3699
+
3700
+ # Damping constants
3701
+ damping_constant_x_s = r0/3 * gamma0**3 * clight/self.circumference * (i2x - i4x)
3702
+ damping_constant_y_s = r0/3 * gamma0**3 * clight/self.circumference * (i2y - i4y)
3703
+ damping_constant_zeta_s = r0/3 * gamma0**3 * clight/self.circumference * ((i2x + i2y) + i4x + i4y)
3704
+
3705
+ cols = {
3706
+ 'rad_int_kappax': kappa_x,
3707
+ 'rad_int_kappay': kappa_y,
3708
+ 'rad_int_hx': Hx_rad,
3709
+ 'rad_int_hy': Hy_rad,
3710
+ 'rad_int_i1x_integrand': i1x_integrand,
3711
+ 'rad_int_i1y_integrand': i1y_integrand,
3712
+ 'rad_int_i2x_integrand': i2x_integrand,
3713
+ 'rad_int_i2y_integrand': i2y_integrand,
3714
+ 'rad_int_i3x_integrand': i3x_integrand,
3715
+ 'rad_int_i3y_integrand': i3y_integrand,
3716
+ 'rad_int_i4x_integrand': i4x_integrand,
3717
+ 'rad_int_i4y_integrand': i4y_integrand,
3718
+ 'rad_int_i5x_integrand': i5x_integrand,
3719
+ 'rad_int_i5y_integrand': i5y_integrand,
3720
+ }
3721
+
3722
+ scalars = {
3723
+ 'rad_int_i1x': i1x,
3724
+ 'rad_int_i1y': i1y,
3725
+ 'rad_int_i2x': i2x,
3726
+ 'rad_int_i2y': i2y,
3727
+ 'rad_int_i3x': i3x,
3728
+ 'rad_int_i3y': i3y,
3729
+ 'rad_int_i4x': i4x,
3730
+ 'rad_int_i4y': i4y,
3731
+ 'rad_int_i5x': i5x,
3732
+ 'rad_int_i5y': i5y,
3733
+ 'rad_int_eq_gemitt_x': eq_gemitt_x,
3734
+ 'rad_int_eq_gemitt_y': eq_gemitt_y,
3735
+ 'rad_int_damping_constant_x_s': damping_constant_x_s,
3736
+ 'rad_int_damping_constant_y_s': damping_constant_y_s,
3737
+ 'rad_int_damping_constant_zeta_s': damping_constant_zeta_s,
3738
+ }
3739
+
3740
+ out = Table({'name': self.name, 's': self.s, 'length':self.length} | cols)
3741
+ out._data.update(scalars)
3742
+
3743
+ if add_to_tw:
3744
+ for ncc, cc in cols.items():
3745
+ self[ncc] = cc
3746
+ self._data.update(scalars)
3747
+
3748
+ return out
3584
3749
 
3585
3750
  def _complete_twiss_init(start, end, init_at, init,
3586
3751
  line, reverse,
@@ -4023,3 +4188,5 @@ def _add_strengths_to_twiss_res(twiss_res, line):
4023
4188
  + OTHER_FIELDS_FROM_ATTR + OTHER_FIELDS_FROM_TABLE):
4024
4189
  twiss_res._col_names.append(kk)
4025
4190
  twiss_res._data[kk] = tt[kk].copy()
4191
+
4192
+
@@ -30,6 +30,8 @@ class TwissPlot(object):
30
30
  "sigy": r"$\sigma_y=\sqrt{\beta_y \epsilon}$",
31
31
  "sigdx": r"$\sigma_{D_x}=D_x \delta$",
32
32
  "n1": r"Aperture [$\sigma$]",
33
+ "rad_int_hx": r"$\mathcal{H}_{x}$",
34
+ "rad_int_hy": r"$\mathcal{H}_{y}$",
33
35
  }
34
36
 
35
37
  axlabel = {
@@ -53,6 +55,8 @@ class TwissPlot(object):
53
55
  "wx_chrom": "$W$",
54
56
  "wy_chrom": "$W$",
55
57
  "n1": r"Aperture [$\sigma$]",
58
+ "rad_int_hx": r"$\mathcal{H}$",
59
+ "rad_int_hy": r"$\mathcal{H}$",
56
60
  }
57
61
  autoupdate = []
58
62
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtrack
3
- Version: 0.77.1
3
+ Version: 0.78.0
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.77.1'
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