Skip to content

Commit 29b4803

Browse files
committed
Option to install apertures as markers
1 parent 5f6c819 commit 29b4803

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

sad2xs/main.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def convert_sad_to_xsuite(
4040
reverse_element_order: bool = False,
4141
reverse_bend_direction: bool = False,
4242
reverse_charge: bool = False,
43+
install_apertures_as_markers: bool = False,
4344
**kwargs):
4445

4546
############################################################################
@@ -74,6 +75,25 @@ def convert_sad_to_xsuite(
7475
parsed_lattice_data = parsed_lattice_data,
7576
excluded_elements = excluded_elements,
7677
config = config)
78+
79+
############################################################################
80+
# Check if apertures should become markers
81+
############################################################################
82+
if install_apertures_as_markers:
83+
if config._verbose:
84+
print_section_heading("Converting apertures to markers", mode = 'section')
85+
86+
if "apert" in parsed_lattice_data['elements']:
87+
if "mark" in parsed_lattice_data['elements']:
88+
merged = {
89+
**parsed_lattice_data['elements']["apert"],
90+
**parsed_lattice_data['elements']["mark"]} # Mark takes precedence
91+
parsed_lattice_data['elements']["mark"] = merged
92+
else:
93+
parsed_lattice_data['elements']["mark"] = \
94+
parsed_lattice_data['elements']["apert"]
95+
96+
parsed_lattice_data['elements'].pop("apert")
7797

7898
############################################################################
7999
# Build Environment

0 commit comments

Comments
 (0)