From 3872aded05cd6183521f9f352107cd836d64a873 Mon Sep 17 00:00:00 2001 From: Adi Date: Mon, 6 Jul 2026 17:15:43 -0500 Subject: [PATCH 1/5] Add assertions for conversion parameters in make_conversion Added assertions to ensure conversion parameters are set. --- src/vector/_compute/spatial/rotate_quaternion.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/vector/_compute/spatial/rotate_quaternion.py b/src/vector/_compute/spatial/rotate_quaternion.py index 5d858b5e..d86fda40 100644 --- a/src/vector/_compute/spatial/rotate_quaternion.py +++ b/src/vector/_compute/spatial/rotate_quaternion.py @@ -65,24 +65,36 @@ def cartesian(lib, u, i, j, k, x, y, z): def make_conversion(azimuthal, longitudinal): if (azimuthal, longitudinal) != (AzimuthalXY, LongitudinalZ): + to_x = None + to_y = None + to_z = None + if azimuthal is AzimuthalXY: to_x = x.xy to_y = y.xy + if longitudinal is LongitudinalZ: to_z = z.xy_z elif longitudinal is LongitudinalTheta: to_z = z.xy_theta elif longitudinal is LongitudinalEta: to_z = z.xy_eta + elif azimuthal is AzimuthalRhoPhi: to_x = x.rhophi to_y = y.rhophi + if longitudinal is LongitudinalZ: to_z = z.rhophi_z elif longitudinal is LongitudinalTheta: to_z = z.rhophi_theta elif longitudinal is LongitudinalEta: to_z = z.rhophi_eta + + assert to_x is not None + assert to_y is not None + assert to_z is not None + cartesian, azout, lout = dispatch_map[AzimuthalXY, LongitudinalZ] def f(lib, u, i, j, k, coord1, coord2, coord3): From 7900eaccf4425736561fbf6251153ff8f33e02d2 Mon Sep 17 00:00:00 2001 From: Adi Date: Mon, 6 Jul 2026 17:16:38 -0500 Subject: [PATCH 2/5] Add assertions for coordinate values in cross.py Add assertions to ensure coordinate values are not None before proceeding with calculations. --- src/vector/_compute/spatial/cross.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/vector/_compute/spatial/cross.py b/src/vector/_compute/spatial/cross.py index 9adcfae5..18de704c 100644 --- a/src/vector/_compute/spatial/cross.py +++ b/src/vector/_compute/spatial/cross.py @@ -58,44 +58,69 @@ def make_conversion(azimuthal1, longitudinal1, azimuthal2, longitudinal2): AzimuthalXY, LongitudinalZ, ): + to_x1 = None + to_y1 = None + to_z1 = None + to_x2 = None + to_y2 = None + to_z2 = None + if azimuthal1 is AzimuthalXY: to_x1 = x.xy to_y1 = y.xy + if longitudinal1 is LongitudinalZ: to_z1 = z.xy_z elif longitudinal1 is LongitudinalTheta: to_z1 = z.xy_theta elif longitudinal1 is LongitudinalEta: to_z1 = z.xy_eta + elif azimuthal1 is AzimuthalRhoPhi: to_x1 = x.rhophi to_y1 = y.rhophi + if longitudinal1 is LongitudinalZ: to_z1 = z.rhophi_z elif longitudinal1 is LongitudinalTheta: to_z1 = z.rhophi_theta elif longitudinal1 is LongitudinalEta: to_z1 = z.rhophi_eta + if azimuthal2 is AzimuthalXY: to_x2 = x.xy to_y2 = y.xy + if longitudinal2 is LongitudinalZ: to_z2 = z.xy_z elif longitudinal2 is LongitudinalTheta: to_z2 = z.xy_theta elif longitudinal2 is LongitudinalEta: to_z2 = z.xy_eta + elif azimuthal2 is AzimuthalRhoPhi: to_x2 = x.rhophi to_y2 = y.rhophi + if longitudinal2 is LongitudinalZ: to_z2 = z.rhophi_z elif longitudinal2 is LongitudinalTheta: to_z2 = z.rhophi_theta elif longitudinal2 is LongitudinalEta: to_z2 = z.rhophi_eta + + assert to_x1 is not None + assert to_y1 is not None + assert to_z1 is not None + assert to_x2 is not None + assert to_y2 is not None + assert to_z2 is not None + cartesian, azout, lout, tout = dispatch_map[ - AzimuthalXY, LongitudinalZ, AzimuthalXY, LongitudinalZ + AzimuthalXY, + LongitudinalZ, + AzimuthalXY, + LongitudinalZ, ] def f(lib, coord11, coord12, coord13, coord21, coord22, coord23): From 0249952f8db960d50135b698e5d91aca5766cb93 Mon Sep 17 00:00:00 2001 From: Adi Date: Mon, 13 Jul 2026 03:18:34 +0000 Subject: [PATCH 3/5] Address review feedback on spatial pylint guards --- src/vector/_compute/spatial/cross.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/vector/_compute/spatial/cross.py b/src/vector/_compute/spatial/cross.py index 18de704c..9f375bb3 100644 --- a/src/vector/_compute/spatial/cross.py +++ b/src/vector/_compute/spatial/cross.py @@ -117,10 +117,7 @@ def make_conversion(azimuthal1, longitudinal1, azimuthal2, longitudinal2): assert to_z2 is not None cartesian, azout, lout, tout = dispatch_map[ - AzimuthalXY, - LongitudinalZ, - AzimuthalXY, - LongitudinalZ, + AzimuthalXY, LongitudinalZ, AzimuthalXY, LongitudinalZ ] def f(lib, coord11, coord12, coord13, coord21, coord22, coord23): @@ -173,4 +170,4 @@ def dispatch(v1: typing.Any, v2: typing.Any) -> typing.Any: ), returns, 2, - ) + ) \ No newline at end of file From 6030928178e8c0146f6a85794577c594ed25df01 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 03:19:01 +0000 Subject: [PATCH 4/5] style: pre-commit fixes --- src/vector/_compute/spatial/cross.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vector/_compute/spatial/cross.py b/src/vector/_compute/spatial/cross.py index 9f375bb3..8e825241 100644 --- a/src/vector/_compute/spatial/cross.py +++ b/src/vector/_compute/spatial/cross.py @@ -170,4 +170,4 @@ def dispatch(v1: typing.Any, v2: typing.Any) -> typing.Any: ), returns, 2, - ) \ No newline at end of file + ) From 8fb221a0e4ee10a3daf5a04643b6e97a0a0b5932 Mon Sep 17 00:00:00 2001 From: Adi Date: Sat, 18 Jul 2026 03:21:10 +0000 Subject: [PATCH 5/5] Remove extra formatting lines --- src/vector/_compute/spatial/cross.py | 3 --- src/vector/_compute/spatial/rotate_quaternion.py | 2 -- 2 files changed, 5 deletions(-) diff --git a/src/vector/_compute/spatial/cross.py b/src/vector/_compute/spatial/cross.py index 8e825241..da2397e2 100644 --- a/src/vector/_compute/spatial/cross.py +++ b/src/vector/_compute/spatial/cross.py @@ -68,7 +68,6 @@ def make_conversion(azimuthal1, longitudinal1, azimuthal2, longitudinal2): if azimuthal1 is AzimuthalXY: to_x1 = x.xy to_y1 = y.xy - if longitudinal1 is LongitudinalZ: to_z1 = z.xy_z elif longitudinal1 is LongitudinalTheta: @@ -79,7 +78,6 @@ def make_conversion(azimuthal1, longitudinal1, azimuthal2, longitudinal2): elif azimuthal1 is AzimuthalRhoPhi: to_x1 = x.rhophi to_y1 = y.rhophi - if longitudinal1 is LongitudinalZ: to_z1 = z.rhophi_z elif longitudinal1 is LongitudinalTheta: @@ -90,7 +88,6 @@ def make_conversion(azimuthal1, longitudinal1, azimuthal2, longitudinal2): if azimuthal2 is AzimuthalXY: to_x2 = x.xy to_y2 = y.xy - if longitudinal2 is LongitudinalZ: to_z2 = z.xy_z elif longitudinal2 is LongitudinalTheta: diff --git a/src/vector/_compute/spatial/rotate_quaternion.py b/src/vector/_compute/spatial/rotate_quaternion.py index d86fda40..648782b0 100644 --- a/src/vector/_compute/spatial/rotate_quaternion.py +++ b/src/vector/_compute/spatial/rotate_quaternion.py @@ -72,7 +72,6 @@ def make_conversion(azimuthal, longitudinal): if azimuthal is AzimuthalXY: to_x = x.xy to_y = y.xy - if longitudinal is LongitudinalZ: to_z = z.xy_z elif longitudinal is LongitudinalTheta: @@ -83,7 +82,6 @@ def make_conversion(azimuthal, longitudinal): elif azimuthal is AzimuthalRhoPhi: to_x = x.rhophi to_y = y.rhophi - if longitudinal is LongitudinalZ: to_z = z.rhophi_z elif longitudinal is LongitudinalTheta: