Skip to content

Commit 4a894d8

Browse files
committed
Add key word arguments to QuadTEAPOT
1 parent 02428bc commit 4a894d8

File tree

2 files changed

+45
-10
lines changed

2 files changed

+45
-10
lines changed

examples/TEAPOT/test_nodes.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,41 @@ def test_multipole():
4949
skews = [0, 1, 0]
5050
node = teapot.MultipoleTEAPOT(
5151
name=name,
52+
length=length,
53+
nparts=nparts,
5254
poles=poles,
5355
kls=kls,
5456
skews=skews,
55-
nparts=nparts,
57+
)
58+
assert node.getName() == name
59+
assert node.getLength() == length
60+
assert node.getnParts() == nparts
61+
assert node.getParam("kls") == kls
62+
assert node.getParam("skews") == skews
63+
assert node.getParam("poles") == poles
64+
65+
66+
def test_quad():
67+
name = "name"
68+
kq = 0.5
69+
nparts = 10
70+
length = 1.0
71+
poles = [1, 2, 3]
72+
kls = [0.0, 1.0, 2.0]
73+
skews = [0, 1, 0]
74+
node = teapot.QuadTEAPOT(
75+
name=name,
76+
kq=kq,
5677
length=length,
78+
nparts=nparts,
79+
poles=poles,
80+
kls=kls,
81+
skews=skews,
5782
)
5883
assert node.getName() == name
5984
assert node.getLength() == length
6085
assert node.getnParts() == nparts
86+
assert node.getParam("kq") == kq
6187
assert node.getParam("kls") == kls
6288
assert node.getParam("skews") == skews
6389
assert node.getParam("poles") == poles

py/orbit/teapot/teapot.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -716,11 +716,11 @@ class MultipoleTEAPOT(NodeTEAPOT):
716716
def __init__(
717717
self,
718718
name: str = "multipole no name",
719+
length: float = 0.0,
720+
nparts: int = 2,
719721
poles: list[int] = None,
720722
kls: list[float] = None,
721723
skews: list[int] = None,
722-
nparts: int = 2,
723-
length: float = 0.0,
724724
) -> None:
725725
"""
726726
Constructor. Creates the Multipole
@@ -861,18 +861,27 @@ class QuadTEAPOT(NodeTEAPOT):
861861
Quad Combined Function TEAPOT element.
862862
"""
863863

864-
def __init__(self, name: str = "quad no name") -> None:
864+
def __init__(
865+
self,
866+
name: str = "quad no name",
867+
length: float = 0.0,
868+
nparts: int = 2,
869+
kq: float = 0.0,
870+
poles: list[int] = None,
871+
kls: list[float] = None,
872+
skews: list[int] = None,
873+
) -> None:
865874
"""
866875
Constructor. Creates the Quad
867876
Combined Function TEAPOT element.
868877
"""
869878
NodeTEAPOT.__init__(self, name)
870-
871-
self.addParam("kq", 0.0)
872-
self.addParam("poles", [])
873-
self.addParam("kls", [])
874-
self.addParam("skews", [])
875-
self.setnParts(2)
879+
self.addParam("kq", kq)
880+
self.addParam("poles", poles if poles else [])
881+
self.addParam("kls", kls if kls else [])
882+
self.addParam("skews", skews if skews else [])
883+
self.setnParts(nparts)
884+
self.setLength(length)
876885
self.waveform = None
877886

878887
def fringeIN(node, paramsDict):

0 commit comments

Comments
 (0)