xtrack 0.73.4__tar.gz → 0.73.5__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.73.4/xtrack.egg-info → xtrack-0.73.5}/PKG-INFO +1 -1
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_line.py +157 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_new_madloader.py +2 -0
- xtrack-0.73.5/xtrack/_version.py +1 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements.py +0 -9
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/line.py +44 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/mad_parser/loader.py +2 -2
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/mad_parser/madx.lark +1 -1
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/mad_writer.py +2 -2
- {xtrack-0.73.4 → xtrack-0.73.5/xtrack.egg-info}/PKG-INFO +1 -1
- xtrack-0.73.4/xtrack/_version.py +0 -1
- {xtrack-0.73.4 → xtrack-0.73.5}/LICENSE +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/MANIFEST.in +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/README.md +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/base_classes.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/BB6D.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/BB6Ddata.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/beambeam.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/boost.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/gaussian_fields.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/propagate_sigma_matrix.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/qgauss.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/slicing.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/be_beamfields/spacecharge.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/elements.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/line.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/mathlibs.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/particles.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/ducktrack/temp_pyparticles.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/pyproject.toml +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/setup.cfg +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/setup.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_acceleration.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_amplitude_detuning.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_aperture_turn_ele_and_monitor.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_apertures.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_attr_replicas_and_slices.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_cavity_absolute_time.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_chromatic_functions_vs_madx.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_coasting.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_collective_tracker.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_collimation.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_element_characterization_functions.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_element_internal_record.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_elements.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_elements_classflags.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_elements_thick.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_environment.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_fcc_ee_solenoid_correction.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_fcc_ee_solenoid_correction_new_optimize_api.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_footprint.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_freeze_longitudinal.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_full_rings.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_h6_sps_beamline.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_hvkick.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_ions.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_legacy_multiline_to_env.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_lhc_env.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_lhc_match_phase_15.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_lumi.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_mad_writer.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_madloader.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_madnginterface.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_match_and_track_from_element.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_match_coupling_knob.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_match_nested.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_match_optics_and_ip_knob.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_match_optics_and_ip_knob_new_optimize_api.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_match_orbit_bump.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_match_tune_chroma_cminus.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_monitor.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_multiline.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_multisetter.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_multispecies.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_particles_api.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_periodic_symmetric_twiss_and_match.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_pipeline.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_prebuild_kernels.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_ps_against_ptc.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_ps_multiturn_twiss.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_psb_chicane.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_pyht_interface.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_radial_steering.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_radiation.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_radiation_equilibrium_emittances.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_random_gen.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_random_gen_exp.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_random_gen_gauss.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_random_gen_ruth.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_rbend_rbarc.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_rf_track.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_rotation_signs.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_second_order_taylor_map.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_seeds.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_slice_and_insert_with_replicas.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_slice_elements.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_slicing.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_solenoid_bz_map_vs_boris.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_spacecharge_in_ring.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_sps_thick.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_survey.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_tapering.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_thick_lhc.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_tilt_shifts.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_tracker.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_trajectory_correcton.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_twiss.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_twiss_vs_madx_psb.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_vs_madx.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/tests/test_xmask_orbit_correction.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/boris_and_solenoid_map/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/boris_and_solenoid_map/boris.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/boris_and_solenoid_map/solenoid_field.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/lhc_match/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/lhc_match/gen_madx_optics_file.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/lhc_match/lhc_match.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/_temp/lhc_match/var_limits.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/base_element.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/apertures.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/apertures_src/limitellipse.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/apertures_src/limitpolygon.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/apertures_src/limitracetrack.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/apertures_src/limitrect.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/apertures_src/limitrectellipse.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/apertures_src/longitudinallimitrect.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/beam_interaction.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/bend.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/cavity.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/dipole_fringe.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/dipoleedge.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/drift.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/drift_elem.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/drift_slice.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/drift_slice_bend.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/drift_slice_octupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/drift_slice_quadrupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/drift_slice_sextupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/elens.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/exciter.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/firstordertaylormap.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/linesegmentmap.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/multipole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/nonlinearlens.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/octupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/quadrupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/referenceenergyincrease.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/rfmultipole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/second_order_taylor_map.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/sextupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/simplethinbend.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/simplethinquadrupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/solenoid.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/srotation.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thick_slice_bend.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thick_slice_drift.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thick_slice_octupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thick_slice_quadrupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thick_slice_sextupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thick_slice_solenoid.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thin_slice_bend.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thin_slice_bend_entry.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thin_slice_bend_exit.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thin_slice_octupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thin_slice_quadrupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/thin_slice_sextupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_bend.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_dipole_edge_linear.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_dipole_edge_nonlinear.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_dipole_fringe.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_mult_fringe.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_multipolar_components.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_multipole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_quadrupole.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_solenoid.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_srotation.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_thick_bend.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_thick_cfd.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_wedge.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_xrotation.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/track_yrotation.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/wedge.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/wire.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/xrotation.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/xyshift.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/yrotation.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/elements_src/zetashift.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/exciter.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/rft_element.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/slice_elements.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/beam_elements/slice_elements_thick.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/environment.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/footprint.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/general.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/headers/atomicadd.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/headers/checks.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/headers/constants.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/headers/particle_states.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/headers/synrad_spectrum.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/internal_record.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/json.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/linear_normal_form.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/loss_location_refinement/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/loss_location_refinement/loss_location_refinement.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/lumi.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/mad_loader.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/mad_parser/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/mad_parser/env_writer.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/mad_parser/parse.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/madng_interface.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/match.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/beam_position_monitor.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/beam_position_monitor.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/beam_profile_monitor.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/beam_profile_monitor.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/beam_size_monitor.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/beam_size_monitor.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/last_turns_monitor.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/last_turns_monitor.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/particles_monitor.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/monitors/particles_monitor.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/multiline.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/multiline_legacy/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/multiline_legacy/multiline_legacy.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/multiline_legacy/shared_knobs.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/multisetter/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/multisetter/multisetter.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/particles/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/particles/constants.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/particles/particles.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/particles/rng_src/base_rng.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/particles/rng_src/particles_rng.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/pipeline/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/pipeline/core.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/pipeline/manager.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/pipeline/multitracker.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/progress_indicator.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/__init__.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/random_generators.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/random_src/exponential.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/random_src/exponential_integral_Ei.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/random_src/normal.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/random_src/rutherford.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/random_src/uniform.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/random/random_src/uniform_accurate.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/slicing.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/survey.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/synctime.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/tapering.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/targets.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/tracker.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/tracker_data.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/tracker_src/tracker.h +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/trajectory_correction.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/twiss.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack/twissplot.py +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack.egg-info/SOURCES.txt +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack.egg-info/dependency_links.txt +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack.egg-info/requires.txt +0 -0
- {xtrack-0.73.4 → xtrack-0.73.5}/xtrack.egg-info/top_level.txt +0 -0
@@ -5,6 +5,7 @@
|
|
5
5
|
|
6
6
|
import pathlib
|
7
7
|
import pickle
|
8
|
+
import math
|
8
9
|
|
9
10
|
import numpy as np
|
10
11
|
import pytest
|
@@ -1138,3 +1139,159 @@ def test_line_table_unique_names():
|
|
1138
1139
|
if name == '_end_point': continue
|
1139
1140
|
assert line[name] == line[env_name]
|
1140
1141
|
|
1142
|
+
|
1143
|
+
def test_extend_knl_ksl():
|
1144
|
+
|
1145
|
+
classes_to_check = ['Bend', 'Quadrupole', 'Sextupole', 'Octupole', 'Solenoid',
|
1146
|
+
'Multipole']
|
1147
|
+
|
1148
|
+
for cc in classes_to_check:
|
1149
|
+
|
1150
|
+
nn1 = 'test1_'+cc.lower()
|
1151
|
+
nn2 = 'test2_'+cc.lower()
|
1152
|
+
env = xt.Environment()
|
1153
|
+
env.new(nn1, cc, length=10, knl=[
|
1154
|
+
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ksl=[3, 2, 1])
|
1155
|
+
env.new(nn2, cc, length=10, ksl=[
|
1156
|
+
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], knl=[3, 2, 1], order=11)
|
1157
|
+
|
1158
|
+
assert env[nn1].__class__.__name__ == cc
|
1159
|
+
assert env[nn1].order == 11
|
1160
|
+
assert len(env[nn1].knl) == 12
|
1161
|
+
assert len(env[nn1].ksl) == 12
|
1162
|
+
xo.assert_allclose(env[nn1].knl, [1, 2, 3, 4, 5,
|
1163
|
+
6, 7, 8, 9, 10, 11, 12], rtol=0, atol=1e-15)
|
1164
|
+
xo.assert_allclose(env[nn1].ksl, [3, 2, 1, 0, 0,
|
1165
|
+
0, 0, 0, 0, 0, 0, 0], rtol=0, atol=1e-15)
|
1166
|
+
xo.assert_allclose(env[nn1].inv_factorial_order,
|
1167
|
+
1/math.factorial(11), rtol=0, atol=1e-15)
|
1168
|
+
|
1169
|
+
assert env[nn2].__class__.__name__ == cc
|
1170
|
+
assert env[nn2].order == 11
|
1171
|
+
assert len(env[nn2].ksl) == 12
|
1172
|
+
assert len(env[nn2].knl) == 12
|
1173
|
+
xo.assert_allclose(env[nn2].ksl, [1, 2, 3, 4, 5,
|
1174
|
+
6, 7, 8, 9, 10, 11, 12], rtol=0, atol=1e-15)
|
1175
|
+
xo.assert_allclose(env[nn2].knl, [3, 2, 1, 0, 0,
|
1176
|
+
0, 0, 0, 0, 0, 0, 0], rtol=0, atol=1e-15)
|
1177
|
+
xo.assert_allclose(env[nn2].inv_factorial_order,
|
1178
|
+
1/math.factorial(11), rtol=0, atol=1e-15)
|
1179
|
+
|
1180
|
+
env.vars.default_to_zero = True
|
1181
|
+
line = env.new_line(components=[
|
1182
|
+
env.new('b1', xt.Bend, length=1, knl=[
|
1183
|
+
'a', 'b', 'c'], ksl=['d', 'e', 'f']),
|
1184
|
+
env.new('q1', xt.Quadrupole, length=1, knl=[
|
1185
|
+
'a', 'b', 'c'], ksl=['d', 'e', 'f']),
|
1186
|
+
env.new('s1', xt.Sextupole, length=1, knl=[
|
1187
|
+
'a', 'b', 'c'], ksl=['d', 'e', 'f']),
|
1188
|
+
env.new('o1', xt.Octupole, length=1, knl=[
|
1189
|
+
'a', 'b', 'c'], ksl=['d', 'e', 'f']),
|
1190
|
+
env.new('s2', xt.Solenoid, length=1, knl=[
|
1191
|
+
'a', 'b', 'c'], ksl=['d', 'e', 'f']),
|
1192
|
+
env.new('m1', xt.Multipole, length=1, knl=[
|
1193
|
+
'a', 'b', 'c'], ksl=['d', 'e', 'f']),
|
1194
|
+
])
|
1195
|
+
|
1196
|
+
env['a'] = 3.
|
1197
|
+
env['b'] = 2.
|
1198
|
+
env['c'] = 1.
|
1199
|
+
env['d'] = 4.
|
1200
|
+
env['e'] = 5.
|
1201
|
+
env['f'] = 6.
|
1202
|
+
|
1203
|
+
element_names = ['b1', 'q1']
|
1204
|
+
order = 10
|
1205
|
+
|
1206
|
+
line.extend_knl_ksl(order=order, element_names=element_names)
|
1207
|
+
|
1208
|
+
assert line['b1'].order == order
|
1209
|
+
assert line['q1'].order == order
|
1210
|
+
assert line['s1'].order == 5
|
1211
|
+
assert line['o1'].order == 5
|
1212
|
+
assert line['s2'].order == 5
|
1213
|
+
assert line['m1'].order == 2
|
1214
|
+
|
1215
|
+
xo.assert_allclose(line['b1'].inv_factorial_order,
|
1216
|
+
1/math.factorial(order), rtol=0, atol=1e-15)
|
1217
|
+
xo.assert_allclose(line['q1'].inv_factorial_order,
|
1218
|
+
1/math.factorial(order), rtol=0, atol=1e-15)
|
1219
|
+
xo.assert_allclose(line['s1'].inv_factorial_order,
|
1220
|
+
1/math.factorial(5), rtol=0, atol=1e-15)
|
1221
|
+
xo.assert_allclose(line['o1'].inv_factorial_order,
|
1222
|
+
1/math.factorial(5), rtol=0, atol=1e-15)
|
1223
|
+
xo.assert_allclose(line['s2'].inv_factorial_order,
|
1224
|
+
1/math.factorial(5), rtol=0, atol=1e-15)
|
1225
|
+
xo.assert_allclose(line['m1'].inv_factorial_order,
|
1226
|
+
1/math.factorial(2), rtol=0, atol=1e-15)
|
1227
|
+
|
1228
|
+
xo.assert_allclose(line['b1'].knl, [3., 2., 1., 0.,
|
1229
|
+
0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1230
|
+
xo.assert_allclose(line['b1'].ksl, [4., 5., 6., 0.,
|
1231
|
+
0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1232
|
+
xo.assert_allclose(line['q1'].knl, [3., 2., 1., 0.,
|
1233
|
+
0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1234
|
+
xo.assert_allclose(line['q1'].ksl, [4., 5., 6., 0.,
|
1235
|
+
0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1236
|
+
xo.assert_allclose(line['s1'].knl, [3., 2., 1.,
|
1237
|
+
0., 0., 0.], rtol=0, atol=1e-15)
|
1238
|
+
xo.assert_allclose(line['s1'].ksl, [4., 5., 6.,
|
1239
|
+
0., 0., 0.], rtol=0, atol=1e-15)
|
1240
|
+
xo.assert_allclose(line['o1'].knl, [3., 2., 1.,
|
1241
|
+
0., 0., 0.], rtol=0, atol=1e-15)
|
1242
|
+
xo.assert_allclose(line['o1'].ksl, [4., 5., 6.,
|
1243
|
+
0., 0., 0.], rtol=0, atol=1e-15)
|
1244
|
+
xo.assert_allclose(line['s2'].knl, [3., 2., 1.,
|
1245
|
+
0., 0., 0.], rtol=0, atol=1e-15)
|
1246
|
+
xo.assert_allclose(line['s2'].ksl, [4., 5., 6.,
|
1247
|
+
0., 0., 0.], rtol=0, atol=1e-15)
|
1248
|
+
xo.assert_allclose(line['m1'].knl, [3., 2., 1.], rtol=0, atol=1e-15)
|
1249
|
+
xo.assert_allclose(line['m1'].ksl, [4., 5., 6.], rtol=0, atol=1e-15)
|
1250
|
+
|
1251
|
+
line.extend_knl_ksl(order=11)
|
1252
|
+
|
1253
|
+
assert line['b1'].order == 11
|
1254
|
+
assert line['q1'].order == 11
|
1255
|
+
assert line['s1'].order == 11
|
1256
|
+
assert line['o1'].order == 11
|
1257
|
+
assert line['s2'].order == 11
|
1258
|
+
assert line['m1'].order == 11
|
1259
|
+
assert line['b1'].inv_factorial_order == 1/math.factorial(11)
|
1260
|
+
assert line['q1'].inv_factorial_order == 1/math.factorial(11)
|
1261
|
+
assert line['s1'].inv_factorial_order == 1/math.factorial(11)
|
1262
|
+
assert line['o1'].inv_factorial_order == 1/math.factorial(11)
|
1263
|
+
assert line['s2'].inv_factorial_order == 1/math.factorial(11)
|
1264
|
+
assert line['m1'].inv_factorial_order == 1/math.factorial(11)
|
1265
|
+
xo.assert_allclose(line['b1'].knl, [3., 2., 1., 0.,
|
1266
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1267
|
+
xo.assert_allclose(line['b1'].ksl, [4., 5., 6., 0.,
|
1268
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1269
|
+
xo.assert_allclose(line['q1'].knl, [3., 2., 1., 0.,
|
1270
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1271
|
+
xo.assert_allclose(line['q1'].ksl, [4., 5., 6., 0.,
|
1272
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1273
|
+
xo.assert_allclose(line['s1'].knl, [3., 2., 1., 0.,
|
1274
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1275
|
+
xo.assert_allclose(line['s1'].ksl, [4., 5., 6., 0.,
|
1276
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1277
|
+
xo.assert_allclose(line['o1'].knl, [3., 2., 1., 0.,
|
1278
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1279
|
+
xo.assert_allclose(line['o1'].ksl, [4., 5., 6., 0.,
|
1280
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1281
|
+
xo.assert_allclose(line['s2'].knl, [3., 2., 1., 0.,
|
1282
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1283
|
+
xo.assert_allclose(line['s2'].ksl, [4., 5., 6., 0.,
|
1284
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1285
|
+
xo.assert_allclose(line['m1'].knl, [3., 2., 1., 0.,
|
1286
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1287
|
+
xo.assert_allclose(line['m1'].ksl, [4., 5., 6., 0.,
|
1288
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1289
|
+
|
1290
|
+
# test an expression
|
1291
|
+
line['b'] = 100
|
1292
|
+
line['f'] = 200
|
1293
|
+
|
1294
|
+
xo.assert_allclose(line['o1'].knl, [3., 100., 1., 0.,
|
1295
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
1296
|
+
xo.assert_allclose(line['o1'].ksl, [4., 5., 200., 0.,
|
1297
|
+
0., 0., 0., 0., 0., 0., 0., 0.], rtol=0, atol=1e-15)
|
@@ -19,6 +19,7 @@ def test_simple_parser():
|
|
19
19
|
if (version>=50401){option,-rbarc;}; ! to be ignored
|
20
20
|
|
21
21
|
third = 1 / 3;
|
22
|
+
power = 3^4;
|
22
23
|
hello := third * twopi;
|
23
24
|
mb.l = 1;
|
24
25
|
qd.l = 0.5;
|
@@ -45,6 +46,7 @@ def test_simple_parser():
|
|
45
46
|
expected: MadxOutputType = {
|
46
47
|
'vars': {
|
47
48
|
'third': {'deferred': False, 'expr': '(1.0 / 3.0)'},
|
49
|
+
'power': {'deferred': False, 'expr': '(3.0 ** 4.0)'},
|
48
50
|
'hello': {'deferred': True, 'expr': '(third * twopi)'},
|
49
51
|
'mb.l': {'deferred': False, 'expr': 1.0},
|
50
52
|
'qd.l': {'deferred': False, 'expr': 0.5},
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = '0.73.5'
|
@@ -819,7 +819,6 @@ class Bend(BeamElement):
|
|
819
819
|
|
820
820
|
if model is not None:
|
821
821
|
self.model = model
|
822
|
-
self.order = order
|
823
822
|
|
824
823
|
def to_dict(self, copy_to_cpu=True):
|
825
824
|
out = super().to_dict(copy_to_cpu=copy_to_cpu)
|
@@ -995,8 +994,6 @@ class Sextupole(BeamElement):
|
|
995
994
|
|
996
995
|
self.xoinitialize(**kwargs)
|
997
996
|
|
998
|
-
self.order = order
|
999
|
-
|
1000
997
|
def to_dict(self, copy_to_cpu=True):
|
1001
998
|
out = super().to_dict(copy_to_cpu=copy_to_cpu)
|
1002
999
|
|
@@ -1089,8 +1086,6 @@ class Octupole(BeamElement):
|
|
1089
1086
|
|
1090
1087
|
self.xoinitialize(**kwargs)
|
1091
1088
|
|
1092
|
-
self.order = order
|
1093
|
-
|
1094
1089
|
def to_dict(self, copy_to_cpu=True):
|
1095
1090
|
out = super().to_dict(copy_to_cpu=copy_to_cpu)
|
1096
1091
|
|
@@ -1180,8 +1175,6 @@ class Quadrupole(BeamElement):
|
|
1180
1175
|
|
1181
1176
|
self.xoinitialize(**kwargs)
|
1182
1177
|
|
1183
|
-
self.order = order
|
1184
|
-
|
1185
1178
|
def to_dict(self, copy_to_cpu=True):
|
1186
1179
|
out = super().to_dict(copy_to_cpu=copy_to_cpu)
|
1187
1180
|
|
@@ -1316,8 +1309,6 @@ class Solenoid(BeamElement):
|
|
1316
1309
|
|
1317
1310
|
self.xoinitialize(**kwargs)
|
1318
1311
|
|
1319
|
-
self.order = order
|
1320
|
-
|
1321
1312
|
@property
|
1322
1313
|
def order(self):
|
1323
1314
|
return self._order
|
@@ -3203,6 +3203,50 @@ class Line:
|
|
3203
3203
|
self._check_valid_tracker()
|
3204
3204
|
stop_internal_logging_for_elements_of_type(self.tracker, element_type)
|
3205
3205
|
|
3206
|
+
def extend_knl_ksl(self, order, element_names=None):
|
3207
|
+
|
3208
|
+
"""
|
3209
|
+
Extend the order of the knl and ksl attributes of the elements.
|
3210
|
+
|
3211
|
+
Parameters
|
3212
|
+
----------
|
3213
|
+
order: int
|
3214
|
+
New order of the knl and ksl attributes.
|
3215
|
+
element_names: list of str
|
3216
|
+
Names of the elements to extend. If None, all elements having `knl`
|
3217
|
+
and `ksl` attributes are extended.
|
3218
|
+
|
3219
|
+
"""
|
3220
|
+
|
3221
|
+
self.discard_tracker()
|
3222
|
+
|
3223
|
+
if element_names is None:
|
3224
|
+
element_names = []
|
3225
|
+
for nn in self.element_names:
|
3226
|
+
if hasattr(self.get(nn), 'knl'):
|
3227
|
+
element_names.append(nn)
|
3228
|
+
|
3229
|
+
for nn in element_names:
|
3230
|
+
if self.get(nn).order > order:
|
3231
|
+
raise ValueError(f'Order of element {nn} is smaller than {order}')
|
3232
|
+
|
3233
|
+
for nn in element_names:
|
3234
|
+
ee = self.get(nn)
|
3235
|
+
|
3236
|
+
if ee.order == order:
|
3237
|
+
continue
|
3238
|
+
|
3239
|
+
new_knl = [vv for vv in ee.knl] + [0] * (order - len(ee.knl) + 1)
|
3240
|
+
new_ksl = [vv for vv in ee.ksl] + [0] * (order - len(ee.ksl) + 1)
|
3241
|
+
|
3242
|
+
dct = ee.to_dict()
|
3243
|
+
dct.pop('order', None)
|
3244
|
+
dct['knl'] = new_knl
|
3245
|
+
dct['ksl'] = new_ksl
|
3246
|
+
|
3247
|
+
new_ee = ee.__class__.from_dict(dct, _buffer=ee._buffer)
|
3248
|
+
self.env.elements[nn] = new_ee
|
3249
|
+
|
3206
3250
|
def remove_markers(self, inplace=True, keep=None):
|
3207
3251
|
"""
|
3208
3252
|
Remove markers from the line
|
@@ -298,14 +298,14 @@ class MadxLoader:
|
|
298
298
|
|
299
299
|
|
300
300
|
if (isinstance(self.env[name], BeamElement) and not self.env[name].isthick
|
301
|
-
|
301
|
+
and length and not isinstance(self.env[name], xt.Marker)):
|
302
302
|
drift_name = f'drift_{name}'
|
303
303
|
self.env.new(drift_name, 'Drift', length=f'({length}) / 2')
|
304
304
|
name = builder.new_line([drift_name, name, drift_name])
|
305
305
|
builder.place(name, **el_params)
|
306
306
|
else:
|
307
307
|
if (isinstance(self.env[parent], BeamElement) and not self.env[parent].isthick
|
308
|
-
|
308
|
+
and length and not isinstance(self.env[parent], xt.Marker)):
|
309
309
|
drift_name = f'{name}_drift'
|
310
310
|
self.env.new(drift_name, 'Drift', force=True, length=f'({length}) / 2') # Not sure why `force` is needed
|
311
311
|
at, from_ = el_params.pop('at', None), el_params.pop('from_', None)
|
@@ -284,7 +284,7 @@ def to_madx_sequence(line, name='seq', mode='sequence'):
|
|
284
284
|
elements_str = ""
|
285
285
|
for nn in line.element_names:
|
286
286
|
el = line[nn]
|
287
|
-
el_str = xsuite_to_mad_conveters[
|
287
|
+
el_str = xsuite_to_mad_conveters[el.__class__](nn, line)
|
288
288
|
elements_str += f"{nn}: {el_str};\n"
|
289
289
|
line_str = f'{name}: line=(' + ', '.join(line.element_names) + ');'
|
290
290
|
machine_str = elements_str + line_str
|
@@ -307,7 +307,7 @@ def to_madx_sequence(line, name='seq', mode='sequence'):
|
|
307
307
|
|
308
308
|
for nn in line.element_names:
|
309
309
|
el = line.element_dict[nn]
|
310
|
-
el_str = xsuite_to_mad_conveters[
|
310
|
+
el_str = xsuite_to_mad_conveters[el.__class__](nn, line)
|
311
311
|
if nn + '_tilt_entry' in line.element_dict:
|
312
312
|
el_str += ", " + mad_assignment('tilt',
|
313
313
|
_ge(line.element_refs[nn + '_tilt_entry'].angle) / 180. * np.pi)
|
xtrack-0.73.4/xtrack/_version.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = '0.73.4'
|
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
|