From 58b6a3257adbf55ce6eb256adb5b9e95d351a280 Mon Sep 17 00:00:00 2001 From: cemitch99 Date: Tue, 29 Oct 2024 23:28:42 +0000 Subject: [PATCH] Update Stub Files --- .../impactx/impactx_pybind/__init__.pyi | 1 + .../impactx/impactx_pybind/elements.pyi | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/python/impactx/impactx_pybind/__init__.pyi b/src/python/impactx/impactx_pybind/__init__.pyi index 4c49a95d2..41a870576 100644 --- a/src/python/impactx/impactx_pybind/__init__.pyi +++ b/src/python/impactx/impactx_pybind/__init__.pyi @@ -697,6 +697,7 @@ def push( | elements.Marker | elements.Multipole | elements.NonlinearLens + | elements.PlaneXYRot | elements.Programmable | elements.PRot | elements.Quad diff --git a/src/python/impactx/impactx_pybind/elements.pyi b/src/python/impactx/impactx_pybind/elements.pyi index ee8a3cc82..eee7e5504 100644 --- a/src/python/impactx/impactx_pybind/elements.pyi +++ b/src/python/impactx/impactx_pybind/elements.pyi @@ -31,6 +31,7 @@ __all__ = [ "Named", "NonlinearLens", "PRot", + "PlaneXYRot", "Programmable", "Quad", "RFCavity", @@ -688,6 +689,7 @@ class KnownElementsList: | Marker | Multipole | NonlinearLens + | PlaneXYRot | Programmable | PRot | Quad @@ -723,6 +725,7 @@ class KnownElementsList: | Marker | Multipole | NonlinearLens + | PlaneXYRot | Programmable | PRot | Quad @@ -759,6 +762,7 @@ class KnownElementsList: | Marker | Multipole | NonlinearLens + | PlaneXYRot | Programmable | PRot | Quad @@ -935,6 +939,36 @@ class PRot(Named, Thin): @phi_out.setter def phi_out(self, arg1: float) -> None: ... +class PlaneXYRot(Named, Thin, Alignment): + def __init__( + self, + angle: float, + dx: float = 0, + dy: float = 0, + rotation: float = 0, + name: str | None = None, + ) -> None: + """ + A rotation in the x-y plane. + """ + def __repr__(self) -> str: ... + def push( + self, + pc: impactx.impactx_pybind.ImpactXParticleContainer, + step: int = 0, + period: int = 0, + ) -> None: + """ + Push first the reference particle, then all other particles. + """ + @property + def angle(self) -> float: + """ + Rotation angle (rad). + """ + @angle.setter + def angle(self, arg1: float) -> None: ... + class Programmable(Named): ds: float nslice: int