Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for timeslices #278

Merged
merged 34 commits into from
Mar 16, 2024
Merged

Add support for timeslices #278

merged 34 commits into from
Mar 16, 2024

Conversation

nathanwbrei
Copy link
Collaborator

Previously, JEvent represented "physics events". This prevented JFactories, JEventProcessors, and JEventSources from operating on other levels of the event hierarchy such as timeslices, blocks, subevents, etc. This PR makes it so that JEvent can represent any level of the event hierarchy, using the JEventLevel tag. JEvents now have access to their parent events (e.g. a physics event can access the timeslice it originated from) and (in contrast with the now-superceded BlockSource) the parents' lifetimes are extended to encompass the lifetimes of all children. Factories, processors, and sources are all tied to a JEventLevel. A new component, JEventUnfolder, has been added in order to 'move down' the event hierarchy, e.g. by splitting a timeslice into physics events, or merging streams of slow detector events with fast detector events. The TopologyBuilder has been extended to automatically construct multi-event-level topologies from whatever components the user has provided.

@nathanwbrei nathanwbrei merged commit 523c0a5 into master Mar 16, 2024
3 checks passed
@nathanwbrei nathanwbrei deleted the nbrei_timeslices branch March 16, 2024 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant