Check if every components are unique

This commit is contained in:
linarphy 2025-07-13 01:24:12 +02:00
parent 0e1c88486d
commit dc3893f52a
Signed by: linarphy
GPG key ID: 0CBF02E039B4FFFF

View file

@ -90,13 +90,26 @@ class Measurement(Section):
def to_hdf5(self, store: File | Group) -> Group | File: def to_hdf5(self, store: File | Group) -> Group | File:
_ = self.metadata.to_hdf5(store) _ = self.metadata.to_hdf5(store)
unique_components: list[Component] = []
# Make sure that every component are unique (two scatterers can
# be associated with the same component)
for component in self.components: for component in self.components:
for unique_component in unique_components:
if (
component.metadata.name
== unique_component.metadata.name
):
continue # already in the list
unique_components.append(component)
for component in unique_components:
_ = component.to_hdf5( _ = component.to_hdf5(
store.require_group("components").create_group( store.require_group("components").create_group(
component.metadata.name component.metadata.name
) )
) )
for scatterer in self.scatterers: for scatterer in self.scatterers: # each scatterer is unique
_ = scatterer.to_hdf5( _ = scatterer.to_hdf5(
store.require_group("scatterers").create_group( store.require_group("scatterers").create_group(
scatterer.metadata.name scatterer.metadata.name