Skip to content

Commit dddaac2

Browse files
authored
Fix release: fix dipole angle limits determination (#105)
1 parent 173106d commit dddaac2

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

Diff for: docs/release.rst

+8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@ Release Notes
33

44
The full list of releases can be found in the GitHub repository's `releases page <https://github.com/fsoubelet/PyhDToolkit/releases>`_.
55

6+
Version 1.3.1
7+
-------------
8+
9+
.. toctree::
10+
:maxdepth: 2
11+
12+
releases/v1.3.1
13+
614
Version 1.3.0
715
-------------
816

Diff for: docs/releases/v1.3.1.rst

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.. _release_1.3.1:
2+
3+
1.3.1
4+
-----
5+
6+
Release `1.3.1` is a light bug fix.
7+
8+
Bug Fixes
9+
~~~~~~~~~
10+
11+
* The `pyhdtoolkit.plotting.layout.plot_machine_layout` function will now correctly auto-determine y-axis limits for dipoles if the `angle` attribute is used for their powering. This assumes only one of `k0l` and `angle` is used for all dipoles and gives priority to the former when determining limits. Dipole patches elements are plotted no matter which variable is used.
12+
13+
See `v1.3.1 release notes on GitHub <https://github.com/fsoubelet/PyhDToolkit/releases/tag/1.3.1>`_ and the `full changes since v1.3.0 <https://github.com/fsoubelet/PyhDToolkit/compare/1.3.0...1.3.1>`_.

Diff for: pyhdtoolkit/plotting/layout.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,12 @@ def plot_machine_layout(
148148
bpms_df = element_dfs["bpms"]
149149

150150
logger.trace("Determining the ylimits for k0l and k1l patches")
151+
# Assume lattice doesnt mix 'k0l' and 'angle' for dipoles powering
152+
dipoles_power_column = "k0l" if dipoles_df.k0l.any() else "angle"
151153
k0l_lim = (
152154
_ylim_from_input(k0l_lim, "k0l_lim")
153155
if k0l_lim is not None
154-
else _determine_default_knl_lim(dipoles_df, col="k0l", coeff=2)
156+
else _determine_default_knl_lim(dipoles_df, col=dipoles_power_column, coeff=2)
155157
)
156158
k1l_lim = (
157159
_ylim_from_input(k1l_lim, "k1l_lim")
@@ -182,7 +184,7 @@ def plot_machine_layout(
182184
plotted_elements = 0 # will help us not declare a label for legend at every patch
183185
for dipole_name, dipole in dipoles_df.iterrows():
184186
logger.trace(f"Plotting dipole element '{dipole_name}'")
185-
bend_value = dipole.k0l if dipole.k0l != 0 else dipole.angle
187+
bend_value = dipole.k0l if dipole.k0l != 0 else dipole.angle # check for each element
186188
_plot_lattice_series(
187189
dipole_patches_axis,
188190
dipole,

Diff for: pyhdtoolkit/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION = "1.3.0"
1+
VERSION = "1.3.1"
22

33

44
def version_info() -> str:

0 commit comments

Comments
 (0)