xtrack 0.98.10__tar.gz → 0.98.11__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.98.10/xtrack.egg-info → xtrack-0.98.11}/PKG-INFO +1 -1
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_elements.py +30 -0
- xtrack-0.98.11/xtrack/_version.py +1 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements.py +25 -14
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_magnet_kick.h +1 -1
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_rf.h +5 -1
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_rf.template.h +5 -1
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/line.py +4 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/twiss.py +316 -253
- {xtrack-0.98.10 → xtrack-0.98.11/xtrack.egg-info}/PKG-INFO +1 -1
- xtrack-0.98.10/xtrack/_version.py +0 -1
- {xtrack-0.98.10 → xtrack-0.98.11}/LICENSE +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/MANIFEST.in +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/README.md +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/base_classes.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/BB6D.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/BB6Ddata.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/beambeam.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/boost.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/gaussian_fields.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/propagate_sigma_matrix.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/qgauss.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/slicing.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/be_beamfields/spacecharge.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/elements.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/line.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/mathlibs.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/particles.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/ducktrack/temp_pyparticles.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/pyproject.toml +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/setup.cfg +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/setup.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_acceleration.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_acdipole.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_acdipole_twiss.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_amplitude_detuning.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_aperture_polygon.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_aperture_table.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_aperture_turn_ele_and_monitor.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_apertures.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_attr_replicas_and_slices.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_boris_spatial.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_bucket_with_ref_energy_change.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_cavity_absolute_time.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_cavity_harmonic.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_chromatic_functions_vs_madx.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_coasting.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_collective_tracker.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_collimation.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_coupling_edwards_teng.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_electron_cooler.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_element_characterization_functions.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_element_internal_record.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_elements_classflags.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_elements_thick.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_environment.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_fcc_ee_solenoid_correction.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_fcc_ee_solenoid_correction_new_optimize_api.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_footprint.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_freeze_longitudinal.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_full_rings.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_h6_sps_beamline.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_hvkick.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_ions.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_json.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_lhc_env.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_lhc_match_phase_15.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_line.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_load.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_load_vars.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_lumi.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_mad_writer.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_madloader.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_madnginterface.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_magnet.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_match_and_track_from_element.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_match_coupling_knob.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_match_nested.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_match_optics_and_ip_knob.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_match_optics_and_ip_knob_new_optimize_api.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_match_orbit_bump.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_match_tune_chroma_cminus.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_misalign.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_monitor.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_multi_bunch_gauss.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_multiline.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_multisetter.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_multispecies.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_native_madloader.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_native_madloader_lhc.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_native_madloader_lhc_thin.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_native_madloader_ps.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_native_madloader_sps.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_native_madloader_ti2.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_optimize_for_tracking.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_particles.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_particles_basics.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_particles_pdg.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_pipeline.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_prebuild_kernels.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_ps_against_ptc.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_ps_multiturn_twiss.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_psb_chicane.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_pyht_interface.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_quadrupole_fringe_ptc.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_quadrupole_wedge.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_radial_steering.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_radiation.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_radiation_equilibrium_emittances.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_radiation_equilibrium_emittances_thick.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_radiation_integrals.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_random_gen.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_random_gen_exp.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_random_gen_gauss.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_random_gen_ruth.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_rbend_straight_body.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_rf_track.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_rotation_signs.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_second_order_taylor_map.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_seeds.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_slice_and_insert_with_replicas.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_slice_elements.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_slicing.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_solenoid_bz_map_vs_boris.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_solenoid_bz_map_vs_boris_legacy.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_spacecharge_in_ring.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_spin.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_sps_thick_cpymad_loader.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_sps_thick_native_loader.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_survey.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_tapering.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_thick_kickers_rf_crab.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_thick_lhc.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_tilt_shifts.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_tracker.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_trajectory_correcton.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_twiss.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_twiss_to_file.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_twiss_vs_madx_psb.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_vs_madx.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/tests/test_xmask_orbit_correction.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/boris_and_solenoid_map/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/boris_and_solenoid_map/boris.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/boris_and_solenoid_map/solenoid_field.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/lhc_match/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/lhc_match/gen_madx_optics_file.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/lhc_match/lhc_match.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/lhc_match/var_limits.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/python_lattice_writer/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/_temp/python_lattice_writer/lattice_py_generation.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/aperture_meas.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/base_element.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/acdipole.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/apertures.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/apertures_src/limitellipse.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/apertures_src/limitpolygon.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/apertures_src/limitracetrack.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/apertures_src/limitrect.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/apertures_src/limitrectellipse.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/apertures_src/longitudinallimitrect.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/beam_interaction.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/_generate_slice_elements_c_code.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/_include_integrator.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/acdipole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/bend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/crab_cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/default_magnet_config.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/dipole_fringe.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/dipoleedge.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_exact.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_exact_slice.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_bend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_crab_cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_multipole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_octupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_quadrupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_rbend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_sextupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/drift_slice_uniform_solenoid.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/electroncooler.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/elens.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/exciter.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/firstordertaylormap.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/legacy_solenoid.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/linesegmentmap.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/magnet.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/magnet_drift.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/magnet_edge.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/magnet_kick.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/marker.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/misalignment.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/multipole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/multipoleedge.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/nonlinearlens.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/octupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/quadrupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/rbend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/referenceenergyincrease.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/rfmultipole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/second_order_taylor_map.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/sextupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/simplethinbend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/simplethinquadrupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/slnd.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/srotation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_bend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_crab_cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_multipole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_octupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_quadrupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_rbend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_sextupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thick_slice_uniform_solenoid.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_bend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_bend_entry.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_bend_exit.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_crab_cavity.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_multipole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_octupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_octupole_entry.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_octupole_exit.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_quadrupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_quadrupole_entry.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_quadrupole_exit.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_rbend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_rbend_entry.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_rbend_exit.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_sextupole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_sextupole_entry.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_sextupole_exit.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_uniform_solenoid_entry.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/thin_slice_uniform_solenoid_exit.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_acdipole.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_dipole_edge_linear.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_dipole_edge_nonlinear.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_dipole_fringe.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_drift.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_legacy_solenoid.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_legacy_solenoid_multipolar_components.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_legacy_solenoid_radiation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_magnet.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_magnet.template.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_magnet_configure.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_magnet_drift.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_magnet_edge.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_magnet_radiation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_misalignments.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_mult_fringe.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_srotation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_thick_bend.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_thick_cfd.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_wedge.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_xrotation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_xyshift.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/track_yrotation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/variable_solenoid.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/wedge.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/wire.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/xrotation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/xyshift.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/yrotation.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/elements_src/zetashift.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/exciter.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/rft_element.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/slice_base.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/slice_elements_drift.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/slice_elements_edge.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/slice_elements_thick.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/beam_elements/slice_elements_thin.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/boris.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/builder.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/environment.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/footprint.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/functions.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/general.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/headers/atomicadd.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/headers/checks.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/headers/constants.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/headers/particle_states.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/headers/synrad_spectrum.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/headers/track.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/headers/track_local_particle_with_transformations.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/internal_record.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/json.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/linear_normal_form.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/load.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/loss_location_refinement/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/loss_location_refinement/loss_location_refinement.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/lumi.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/mad_loader.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/mad_parser/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/mad_parser/loader.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/mad_parser/madx.lark +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/mad_parser/parse.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/mad_writer.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/madng_interface.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/match.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/beam_position_monitor.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/beam_position_monitor.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/beam_profile_monitor.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/beam_profile_monitor.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/beam_size_monitor.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/beam_size_monitor.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/last_turns_monitor.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/last_turns_monitor.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/particles_monitor.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/monitors/particles_monitor.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/multiline.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/multiline_legacy/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/multiline_legacy/multiline_legacy.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/multiline_legacy/shared_knobs.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/multisetter/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/multisetter/multisetter.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/multisetter/multisetter.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/constants.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/local_particle_custom_api.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/masses.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/particles.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/pdg.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/rng_src/base_rng.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/particles/rng_src/particles_rng.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/pipeline/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/pipeline/core.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/pipeline/manager.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/pipeline/multitracker.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/prebuilt_kernel_definitions/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/prebuilt_kernel_definitions/element_inits.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/prebuilt_kernel_definitions/element_types.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/progress_indicator.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/random_generators.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/random_src/exponential.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/random_src/exponential_integral_Ei.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/random_src/normal.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/random_src/rutherford.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/random_src/uniform.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/random/random_src/uniform_accurate.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/slicing.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/survey.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/svgutils/__init__.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/svgutils/parser.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/svgutils/path.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/svgutils/svgutils.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/synctime.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/table.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/tapering.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/targets.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/track_flags.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/tracker.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/tracker_data.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/tracker_src/tracker.h +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/trajectory_correction.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/twissplot.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack/view.py +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack.egg-info/SOURCES.txt +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack.egg-info/dependency_links.txt +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack.egg-info/entry_points.txt +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack.egg-info/requires.txt +0 -0
- {xtrack-0.98.10 → xtrack-0.98.11}/xtrack.egg-info/top_level.txt +0 -0
|
@@ -1349,3 +1349,33 @@ def test_beam_element_shifts_backwards_compatible():
|
|
|
1349
1349
|
assert sext.shift_x == legacy_dict['_shift_x']
|
|
1350
1350
|
assert sext.shift_y == legacy_dict['_shift_y']
|
|
1351
1351
|
assert sext.shift_s == legacy_dict['_shift_s']
|
|
1352
|
+
|
|
1353
|
+
def test_cavity_lag_taper():
|
|
1354
|
+
|
|
1355
|
+
env = xt.Environment()
|
|
1356
|
+
|
|
1357
|
+
line = env.new_line(components=[
|
|
1358
|
+
env.new('cav', xt.Cavity, frequency=400e6, voltage=16e6),
|
|
1359
|
+
])
|
|
1360
|
+
p0 = xt.Particles(p0c=450e9)
|
|
1361
|
+
|
|
1362
|
+
p1 = p0.copy()
|
|
1363
|
+
line.track(p1)
|
|
1364
|
+
xo.assert_allclose(p1.delta, 0, atol=1e-10)
|
|
1365
|
+
|
|
1366
|
+
env['cav'].lag = 60
|
|
1367
|
+
p2 = p0.copy()
|
|
1368
|
+
line.track(p2)
|
|
1369
|
+
assert p2.delta != 0
|
|
1370
|
+
|
|
1371
|
+
env['cav'].lag_taper = -60
|
|
1372
|
+
p3 = p0.copy()
|
|
1373
|
+
line.track(p3)
|
|
1374
|
+
# lag_taper should be ignored because radiation is off
|
|
1375
|
+
xo.assert_allclose(p3.delta, p2.delta, atol=1e-10)
|
|
1376
|
+
|
|
1377
|
+
line.configure_radiation(model='mean')
|
|
1378
|
+
p4 = p0.copy()
|
|
1379
|
+
line.track(p4)
|
|
1380
|
+
# lag_taper should be applied now
|
|
1381
|
+
xo.assert_allclose(p4.delta, 0, atol=1e-10)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.98.11'
|
|
@@ -840,7 +840,12 @@ class CrabCavity(_HasModelRF, _HasIntegrator, BeamElement):
|
|
|
840
840
|
|
|
841
841
|
|
|
842
842
|
class XYShift(BeamElement):
|
|
843
|
-
'''
|
|
843
|
+
'''
|
|
844
|
+
Beam element modeling an transverse shift of the reference system, by applying
|
|
845
|
+
the following transformation to the particle coordinates:
|
|
846
|
+
|
|
847
|
+
x_new = x_old - dx
|
|
848
|
+
y_new = y_old - dy
|
|
844
849
|
|
|
845
850
|
Parameters
|
|
846
851
|
----------
|
|
@@ -985,9 +990,12 @@ class Wire(BeamElement):
|
|
|
985
990
|
|
|
986
991
|
|
|
987
992
|
class SRotation(BeamElement):
|
|
988
|
-
"""
|
|
989
|
-
|
|
990
|
-
|
|
993
|
+
"""
|
|
994
|
+
Beam element modeling a rotation of the reference system around the s-axis.
|
|
995
|
+
The sign convention is such that:
|
|
996
|
+
|
|
997
|
+
px_out = px_in * cos(angle) - py_in * sin(angle)
|
|
998
|
+
|
|
991
999
|
|
|
992
1000
|
Parameters
|
|
993
1001
|
----------
|
|
@@ -1053,9 +1061,11 @@ class SRotation(BeamElement):
|
|
|
1053
1061
|
|
|
1054
1062
|
|
|
1055
1063
|
class XRotation(BeamElement):
|
|
1056
|
-
"""
|
|
1057
|
-
|
|
1058
|
-
|
|
1064
|
+
"""
|
|
1065
|
+
Beam element modeling a rotation of the reference system around the x-axis.
|
|
1066
|
+
The sign convention is such that:
|
|
1067
|
+
|
|
1068
|
+
py_out = py_in * cos(angle) + pz_in * sin(angle)
|
|
1059
1069
|
|
|
1060
1070
|
Parameters
|
|
1061
1071
|
----------
|
|
@@ -1142,9 +1152,11 @@ class XRotation(BeamElement):
|
|
|
1142
1152
|
|
|
1143
1153
|
|
|
1144
1154
|
class YRotation(BeamElement):
|
|
1145
|
-
"""
|
|
1146
|
-
|
|
1147
|
-
|
|
1155
|
+
"""
|
|
1156
|
+
Beam element modeling a rotation of the reference system around the y-axis.
|
|
1157
|
+
The sign convention is such that:
|
|
1158
|
+
|
|
1159
|
+
px_out = px_in * cos(angle) - pz_in * sin(angle)
|
|
1148
1160
|
|
|
1149
1161
|
Parameters
|
|
1150
1162
|
----------
|
|
@@ -1182,8 +1194,6 @@ class YRotation(BeamElement):
|
|
|
1182
1194
|
calculate the missing values from the others. If more than necessary
|
|
1183
1195
|
parameters are given, their consistency will be checked.
|
|
1184
1196
|
"""
|
|
1185
|
-
#Note MAD-X node_value('other_bv ') is ignored
|
|
1186
|
-
# minus sign follows MAD-X convention
|
|
1187
1197
|
|
|
1188
1198
|
if '_xobject' in kwargs and kwargs['_xobject'] is not None:
|
|
1189
1199
|
self.xoinitialize(**kwargs)
|
|
@@ -1591,11 +1601,12 @@ class _BendCommon(_HasKnlKsl, _HasIntegrator, _HasModelCurved):
|
|
|
1591
1601
|
self._length = value
|
|
1592
1602
|
if self.length != 0:
|
|
1593
1603
|
self._h = self.angle / self.length
|
|
1594
|
-
if self.k0_from_h:
|
|
1595
|
-
self._k0 = self.h
|
|
1596
1604
|
else:
|
|
1597
1605
|
self._h = 0.0
|
|
1598
1606
|
|
|
1607
|
+
if self.k0_from_h:
|
|
1608
|
+
self._k0 = self.h
|
|
1609
|
+
|
|
1599
1610
|
@property
|
|
1600
1611
|
def h(self):
|
|
1601
1612
|
return self._h
|
|
@@ -87,7 +87,7 @@ void track_magnet_kick_single_particle(
|
|
|
87
87
|
double const hl = h * length * kick_weight + hxl * kick_weight;
|
|
88
88
|
dpx += hl * (1. + LocalParticle_get_delta(part));
|
|
89
89
|
double const rv0v = 1./LocalParticle_get_rvv(part);
|
|
90
|
-
dzeta += -rv0v *
|
|
90
|
+
dzeta += -rv0v * hl * x;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
double htot = h;
|
|
@@ -340,6 +340,10 @@ void track_rf_particles(
|
|
|
340
340
|
double body_length;
|
|
341
341
|
double factor_knl_ksl_body;
|
|
342
342
|
|
|
343
|
+
#ifndef XTRACK_MULTIPOLE_NO_SYNRAD
|
|
344
|
+
lag += lag_taper;
|
|
345
|
+
#endif
|
|
346
|
+
|
|
343
347
|
if (LocalParticle_check_track_flag(part0, XS_FLAG_BACKTRACK)) {
|
|
344
348
|
body_length = -length;
|
|
345
349
|
factor_knl_ksl_body = -factor_knl_ksl;
|
|
@@ -405,7 +409,7 @@ void track_rf_particles(
|
|
|
405
409
|
body_length * weight,
|
|
406
410
|
voltage * weight,
|
|
407
411
|
frequency,
|
|
408
|
-
lag
|
|
412
|
+
lag,
|
|
409
413
|
harmonic,
|
|
410
414
|
transverse_voltage * weight,
|
|
411
415
|
transverse_lag,
|
|
@@ -259,6 +259,10 @@ void track_rf_particles(
|
|
|
259
259
|
double body_length;
|
|
260
260
|
double factor_knl_ksl_body;
|
|
261
261
|
|
|
262
|
+
#ifndef XTRACK_MULTIPOLE_NO_SYNRAD
|
|
263
|
+
lag += lag_taper;
|
|
264
|
+
#endif
|
|
265
|
+
|
|
262
266
|
if (LocalParticle_check_track_flag(part0, XS_FLAG_BACKTRACK)) {
|
|
263
267
|
body_length = -length;
|
|
264
268
|
factor_knl_ksl_body = -factor_knl_ksl;
|
|
@@ -324,7 +328,7 @@ void track_rf_particles(
|
|
|
324
328
|
body_length * weight,
|
|
325
329
|
voltage * weight,
|
|
326
330
|
frequency,
|
|
327
|
-
lag
|
|
331
|
+
lag,
|
|
328
332
|
harmonic,
|
|
329
333
|
transverse_voltage * weight,
|
|
330
334
|
transverse_lag,
|
|
@@ -1567,6 +1567,8 @@ class Line:
|
|
|
1567
1567
|
|
|
1568
1568
|
"""
|
|
1569
1569
|
Compute the 4D Twiss parameters. Equivalent to `twiss` with `method='4d'`.
|
|
1570
|
+
See :ref:`Line.twiss method documentation<twiss_method_label>` for all
|
|
1571
|
+
available options.
|
|
1570
1572
|
"""
|
|
1571
1573
|
assert 'method' not in kwargs, 'method cannot be provided as argument to twiss4d'
|
|
1572
1574
|
kwargs['method'] = '4d'
|
|
@@ -1576,6 +1578,8 @@ class Line:
|
|
|
1576
1578
|
|
|
1577
1579
|
"""
|
|
1578
1580
|
Compute the 6D Twiss parameters. Equivalent to `twiss` with `method='6d'`.
|
|
1581
|
+
See :ref:`Line.twiss method documentation<twiss_method_label>` for all
|
|
1582
|
+
available options.
|
|
1579
1583
|
"""
|
|
1580
1584
|
assert 'method' not in kwargs, 'method cannot be provided as argument to twiss6d'
|
|
1581
1585
|
kwargs['method'] = '6d'
|