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

feat: hide JANA2 implementation detail into JOmniFactory #1743

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

wdconinc
Copy link
Contributor

Briefly, what does this PR introduce?

JOmniFactory supports either std::vector<T*> (with JANA2's SetData<T>) or podio containers (where T is now a container), but not the ActsExamples::TrackContainer container type which CKFTracking produces. This has resulted in CKFTracking creating a std::vector<ActsExamples::TrackContainer*>, but that implementation detail imposed by JOmniFactory has now propagated (no pun intended) to multiple other algorithms.

This change aims to remove the implementation detail from the algorithms and into the JOmniFactory through a new ContainerInput and ContainerOutput that takes care of the wrapping.

What kind of change does this PR introduce?

  • Bug fix (issue #__)
  • New feature (issue #__)
  • Documentation update
  • Other: __

Please check if this PR fulfills the following:

  • Tests for the changes have been added
  • Documentation has been added / updated
  • Changes have been communicated to collaborators

Does this PR introduce breaking changes? What changes might users need to make to their code?

No.

Does this PR change default behavior?

No.

JOmniFactory supports either `std::vector<T*>` (with JANA2's `SetData<T>`) or podio containers (where `T` is now a container), but not the `ActsExamples::TrackContainer` container type which CKFTracking produces. This has resulted in CKFTracking creating a `std::vector<ActsExamples::TrackContainer*>`, but that implementation detail imposed by JOmniFactory has now propagated (no pun intended) to multiple other algorithms.

This change aims to remove the implementation detail from the algorithms and into the JOmniFactory through a new `ContainerInput` and `ContainerOutput` that takes care of the wrapping.
@github-actions github-actions bot added the topic: tracking Relates to tracking reconstruction label Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: tracking Relates to tracking reconstruction
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant