diff --git a/ctapipe/core/component.py b/ctapipe/core/component.py index b3b5b91a733..1a7707f3b15 100644 --- a/ctapipe/core/component.py +++ b/ctapipe/core/component.py @@ -201,8 +201,16 @@ def from_name(cls, name, config=None, parent=None, **kwargs): @classmethod def non_abstract_subclasses(cls): """ - get dict{name: cls} of non abstract subclasses, - subclasses can possibly be definded in plugins + Get a dict of all non-abstract subclasses of this class. + + This method is using the entry-point plugin system + to also check for registered plugin implementations. + + Returns + ------- + subclasses : dict[str, type] + A dict mapping the name to the class of all found, + non-abstract subclasses of this class. """ if hasattr(cls, "plugin_entry_point"): detect_and_import_plugins(cls.plugin_entry_point) diff --git a/ctapipe/io/eventsource.py b/ctapipe/io/eventsource.py index 8fa293c8bb0..0922f36f168 100644 --- a/ctapipe/io/eventsource.py +++ b/ctapipe/io/eventsource.py @@ -50,9 +50,11 @@ class EventSource(Component): An ``EventSource`` can also be created through the configuration system, by passing ``config`` or ``parent`` as appropriate. E.g. if using ``EventSource`` inside of a ``Tool``, you would do: + >>> self.source = EventSource(parent=self) # doctest: +SKIP To loop through the events in a file: + >>> source = EventSource(input_url="dataset://gamma_prod5.simtel.zst", max_events=2) >>> for event in source: ... print(event.count)