0.15.0

Enhancements

  • The LatticePlotter.plot_latwiss function in the cpymadtools.plotters module can now plot the k1 gradient of dipoles that have one if asked which will appear with a lower alpha than regular quadrupoles. A new boolean parameter plot_dipole_k1 is used for this.

  • Type hints have been added to all elements of the cpymadtools.constants module.

  • A new module, cpymadtools.correctors, has been added with currently functionality to query LHC triplet and arc corrector powering status (relatively to their max powering).

  • A new function, reset_bump_flags in the cpymadtools.special module which will reset all LHC IP bump flags to 0.

  • Several new constants have been introduced in the cpymadtools.constants module:

    • Supplementing the DEFAULT_TWISS_COLUMNS list, a similar but slightly different one, MONITOR_TWISS_COLUMNS, has been added with elements present in OMC macros.

    • Constants lists for LHC IP bump flags have been added: LHC_CROSSING_ANGLE_FLAGS, LHC_PARALLEL_SEPARATION_FLAGS, LHC_IP_OFFSET_FLAGS, LHC_ANGLE_FLAGS, LHC_EXPERIMENT_STATE_FLAGS and LHC_IP2_SPECIAL_FLAGS.

    • Constants list for LHC triplets corrector knobs have been added: LHC_KQSX_KNOBS, LHC_KCSX_KNOBS, LHC_KCSSX_KNOBS, LHC_KCOX_KNOBS, LHC_KCOSX_KNOBS, LHC_KCTX_KNOBS with their signification in comments.

    • Constants list for LHC arc corrector knobs have been added: LHC_KQTF_KNOBS, LHC_KQS_KNOBS, LHC_KSF_KNOBS, LHC_KSS_KNOBS, LHC_KCS_KNOBS, LHC_KCO_KNOBS, LHC_KCD_KNOBS, LHC_KO_KNOBS with their signification in comments.

Maintenance

  • The CORRECTOR_LIMITS dict of dict in the cpymadtools.constants module has been changed to a simple dictionary and renamed HLLHC_CORRECTOR_LIMITS as it only contained HighLumi values.

  • Exceptions are properly logged as exceptions, with stack information.

  • The entire cpymadtools.special module is deprecated, and its contents have been mirrored in a new cpymadtools.lhc module. Users are encouraged to use the new module, as cpymadtools.special will be removed in a future release.

See v0.15.0 release notes on GitHub and the full changes since v0.14.1.