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.
- {xtrack-0.84.7/xtrack.egg-info → xtrack-0.84.8}/PKG-INFO +1 -1
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_trajectory_correcton.py +49 -0
- xtrack-0.84.8/xtrack/_version.py +1 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/environment.py +7 -2
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/trajectory_correction.py +5 -5
- {xtrack-0.84.7 → xtrack-0.84.8/xtrack.egg-info}/PKG-INFO +1 -1
- xtrack-0.84.7/xtrack/_version.py +0 -1
- {xtrack-0.84.7 → xtrack-0.84.8}/LICENSE +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/MANIFEST.in +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/README.md +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/base_classes.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/BB6D.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/BB6Ddata.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/beambeam.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/boost.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/gaussian_fields.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/propagate_sigma_matrix.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/qgauss.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/slicing.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/be_beamfields/spacecharge.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/elements.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/line.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/mathlibs.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/particles.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/ducktrack/temp_pyparticles.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/pyproject.toml +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/setup.cfg +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/setup.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_acceleration.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_amplitude_detuning.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_aperture_table.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_aperture_turn_ele_and_monitor.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_apertures.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_attr_replicas_and_slices.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_bucket_with_ref_energy_change.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_cavity_absolute_time.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_chromatic_functions_vs_madx.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_coasting.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_collective_tracker.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_collimation.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_electron_cooler.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_element_characterization_functions.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_element_internal_record.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_elements.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_elements_classflags.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_elements_thick.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_environment.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_fcc_ee_solenoid_correction.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_fcc_ee_solenoid_correction_new_optimize_api.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_footprint.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_freeze_longitudinal.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_full_rings.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_h6_sps_beamline.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_hvkick.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_ions.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_legacy_multiline_to_env.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_lhc_env.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_lhc_match_phase_15.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_line.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_lumi.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_mad_writer.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_madloader.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_madnginterface.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_magnet.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_and_track_from_element.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_coupling_knob.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_nested.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_optics_and_ip_knob.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_optics_and_ip_knob_new_optimize_api.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_orbit_bump.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_match_tune_chroma_cminus.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_monitor.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multi_bunch_gauss.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multiline.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multisetter.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_multispecies.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_native_madloader.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_optimize_for_tracking.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_particles.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_particles_basics.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_particles_pdg.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_periodic_symmetric_twiss_and_match.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_pipeline.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_prebuild_kernels.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_ps_against_ptc.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_ps_multiturn_twiss.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_psb_chicane.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_pyht_interface.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radial_steering.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation_equilibrium_emittances.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation_equilibrium_emittances_thick.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_radiation_integrals.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen_exp.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen_gauss.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_random_gen_ruth.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_rbend_rbarc.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_rf_track.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_rotation_signs.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_second_order_taylor_map.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_seeds.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_slice_and_insert_with_replicas.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_slice_elements.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_slicing.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_solenoid_bz_map_vs_boris.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_spacecharge_in_ring.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_spin.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_sps_thick.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_survey.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_tapering.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_thick_lhc.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_tilt_shifts.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_tracker.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_twiss.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_twiss_vs_madx_psb.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_vs_madx.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/tests/test_xmask_orbit_correction.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/boris_and_solenoid_map/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/boris_and_solenoid_map/boris.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/boris_and_solenoid_map/solenoid_field.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/gen_madx_optics_file.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/lhc_match.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/_temp/lhc_match/var_limits.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/aperture_meas.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/base_element.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitellipse.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitpolygon.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitracetrack.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitrect.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/limitrectellipse.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/apertures_src/longitudinallimitrect.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/beam_interaction.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/bend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/cavity.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/dipole_fringe.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/dipoleedge.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_bend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_octupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_quadrupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_rbend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/drift_slice_sextupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/electroncooler.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/elens.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/exciter.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/firstordertaylormap.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/linesegmentmap.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet_drift.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet_edge.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/magnet_kick.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/marker.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/multipole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/multipoleedge.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/nonlinearlens.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/octupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/quadrupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/rbend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/referenceenergyincrease.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/rfmultipole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/second_order_taylor_map.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/sextupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/simplethinbend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/simplethinquadrupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/solenoid.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/srotation.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_bend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_drift.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_octupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_quadrupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_rbend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_sextupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thick_slice_solenoid.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_bend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_bend_entry.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_bend_exit.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_octupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_octupole_entry.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_octupole_exit.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_quadrupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_quadrupole_entry.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_quadrupole_exit.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_rbend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_rbend_entry.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_rbend_exit.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_sextupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_sextupole_entry.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/thin_slice_sextupole_exit.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_bend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_cavity.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_dipole_edge_linear.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_dipole_edge_nonlinear.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_dipole_fringe.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_drift.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_drift.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_edge.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_kick.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_magnet_radiation.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_mult_fringe.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_multipolar_components.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_multipole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_quadrupole.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_solenoid.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_srotation.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_thick_bend.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_thick_cfd.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_wedge.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_xrotation.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/track_yrotation.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/wedge.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/wire.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/xrotation.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/xyshift.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/yrotation.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/elements_src/zetashift.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/exciter.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/magnets.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/rft_element.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/slice_elements.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/beam_elements/slice_elements_thick.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/footprint.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/general.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/atomicadd.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/checks.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/constants.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/particle_states.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/synrad_spectrum.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/headers/track.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/internal_record.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/json.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/line.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/linear_normal_form.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/loss_location_refinement/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/loss_location_refinement/loss_location_refinement.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/lumi.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_loader.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/loader.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/madx.lark +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_parser/parse.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/mad_writer.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/madng_interface.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/match.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_position_monitor.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_position_monitor.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_profile_monitor.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_profile_monitor.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_size_monitor.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/beam_size_monitor.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/last_turns_monitor.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/last_turns_monitor.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/particles_monitor.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/monitors/particles_monitor.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline_legacy/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline_legacy/multiline_legacy.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multiline_legacy/shared_knobs.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multisetter/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/multisetter/multisetter.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/constants.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/masses.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/particles.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/pdg.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/rng_src/base_rng.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/particles/rng_src/particles_rng.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/core.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/manager.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/pipeline/multitracker.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/progress_indicator.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_generators.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/exponential.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/exponential_integral_Ei.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/normal.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/rutherford.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/uniform.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/random/random_src/uniform_accurate.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/slicing.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/survey.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/__init__.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/parser.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/path.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/svgutils/svgutils.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/synctime.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tapering.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/targets.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tracker.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tracker_data.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/tracker_src/tracker.h +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/twiss.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack/twissplot.py +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/SOURCES.txt +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/dependency_links.txt +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/requires.txt +0 -0
- {xtrack-0.84.7 → xtrack-0.84.8}/xtrack.egg-info/top_level.txt +0 -0
@@ -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
|
-
|
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)
|
xtrack-0.84.7/xtrack/_version.py
DELETED
@@ -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
|
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
|
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
|
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
|
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
|