@@ -55,6 +55,7 @@ def test_Quadrupole():
5555 # Create one drift element with custom name and length
5656 element_name = "quadrupole_element"
5757 element_length = 1.0
58+ # Magnetic multipole parameters
5859 element_magnetic_multipole_Bn1 = 1.1
5960 element_magnetic_multipole_Bn2 = 1.2
6061 element_magnetic_multipole_Bs1 = 2.1
@@ -69,10 +70,26 @@ def test_Quadrupole():
6970 Bs2 = element_magnetic_multipole_Bs2 ,
7071 tilt2 = element_magnetic_multipole_tilt2 ,
7172 )
73+ # Electric multipole parameters
74+ element_electric_multipole_En1 = 1.1
75+ element_electric_multipole_En2 = 1.2
76+ element_electric_multipole_Es1 = 2.1
77+ element_electric_multipole_Es2 = 2.2
78+ element_electric_multipole_tilt1 = 3.1
79+ element_electric_multipole_tilt2 = 3.2
80+ element_electric_multipole = pals .ElectricMultipoleParameters (
81+ En1 = element_electric_multipole_En1 ,
82+ Es1 = element_electric_multipole_Es1 ,
83+ tilt1 = element_electric_multipole_tilt1 ,
84+ En2 = element_electric_multipole_En2 ,
85+ Es2 = element_electric_multipole_Es2 ,
86+ tilt2 = element_electric_multipole_tilt2 ,
87+ )
7288 element = pals .Quadrupole (
7389 name = element_name ,
7490 length = element_length ,
7591 MagneticMultipoleP = element_magnetic_multipole ,
92+ ElectricMultipoleP = element_electric_multipole ,
7693 )
7794 assert element .name == element_name
7895 assert element .length == element_length
@@ -82,6 +99,12 @@ def test_Quadrupole():
8299 assert element .MagneticMultipoleP .Bn2 == element_magnetic_multipole_Bn2
83100 assert element .MagneticMultipoleP .Bs2 == element_magnetic_multipole_Bs2
84101 assert element .MagneticMultipoleP .tilt2 == element_magnetic_multipole_tilt2
102+ assert element .ElectricMultipoleP .En1 == element_electric_multipole_En1
103+ assert element .ElectricMultipoleP .Es1 == element_electric_multipole_Es1
104+ assert element .ElectricMultipoleP .tilt1 == element_electric_multipole_tilt1
105+ assert element .ElectricMultipoleP .En2 == element_electric_multipole_En2
106+ assert element .ElectricMultipoleP .Es2 == element_electric_multipole_Es2
107+ assert element .ElectricMultipoleP .tilt2 == element_electric_multipole_tilt2
85108 # Serialize the BeamLine object to YAML
86109 yaml_data = yaml .dump (element .model_dump (), default_flow_style = False )
87110 print (f"\n { yaml_data } " )
@@ -117,12 +140,14 @@ def test_Sextupole():
117140 name = "sext1" ,
118141 length = 0.5 ,
119142 MagneticMultipoleP = pals .MagneticMultipoleParameters (Bn2 = 1.0 ),
143+ ElectricMultipoleP = pals .ElectricMultipoleParameters (En2 = 1.0 ),
120144 ApertureP = pals .ApertureParameters (x_limits = [- 0.1 , 0.1 ]),
121145 )
122146 assert element .name == "sext1"
123147 assert element .length == 0.5
124148 assert element .kind == "Sextupole"
125149 assert element .MagneticMultipoleP .Bn2 == 1.0
150+ assert element .ElectricMultipoleP .En2 == 1.0
126151 assert element .ApertureP .x_limits == [- 0.1 , 0.1 ]
127152
128153
@@ -131,12 +156,14 @@ def test_Octupole():
131156 element = pals .Octupole (
132157 name = "oct1" ,
133158 length = 0.3 ,
159+ MagneticMultipoleP = pals .MagneticMultipoleParameters (Bn3 = 0.5 ),
134160 ElectricMultipoleP = pals .ElectricMultipoleParameters (En3 = 0.5 ),
135161 MetaP = pals .MetaParameters (alias = "octupole_test" ),
136162 )
137163 assert element .name == "oct1"
138164 assert element .length == 0.3
139165 assert element .kind == "Octupole"
166+ assert element .MagneticMultipoleP .Bn3 == 0.5
140167 assert element .ElectricMultipoleP .En3 == 0.5
141168 assert element .MetaP .alias == "octupole_test"
142169
@@ -147,12 +174,16 @@ def test_Multipole():
147174 name = "mult1" ,
148175 length = 0.4 ,
149176 MagneticMultipoleP = pals .MagneticMultipoleParameters (Bn1 = 2.0 , Bn2 = 1.5 ),
177+ ElectricMultipoleP = pals .ElectricMultipoleParameters (En1 = 2.0 , En2 = 1.5 ),
150178 BodyShiftP = pals .BodyShiftParameters (x_offset = 0.01 ),
151179 )
152180 assert element .name == "mult1"
153181 assert element .length == 0.4
154182 assert element .kind == "Multipole"
155183 assert element .MagneticMultipoleP .Bn1 == 2.0
184+ assert element .MagneticMultipoleP .Bn2 == 1.5
185+ assert element .ElectricMultipoleP .En1 == 2.0
186+ assert element .ElectricMultipoleP .En2 == 1.5
156187 assert element .BodyShiftP .x_offset == 0.01
157188
158189
0 commit comments