Skip to content

Imported AssnsCrosser algorithm from icarusalg [1/3] #2

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

PetrilloAtWork
Copy link
Member

@PetrilloAtWork PetrilloAtWork commented May 10, 2025

AssnsCrosser is an utility in icarusalg helping to hop across chains of associations.
While it's not a silver bullet and it works on some assumptions, it's usually easier than trying to sort out the several association levels. Documentation is inline and currently in ICARUS Doxygen rendering (in icarus namespace).

Given the extensive need of association hopping, I am proposing here to move it into sbnalg, where it can be used by almost the whole art-aware SBN code base.
The header path is changed accordingly, like the namespace that is moved from icarus::ns::util to sbn::ns::util¹. Because of this, this is a breaking change, which is easy to fix.

Dependent pull requests

Connected pull requests are in:

Reviewers

  • @SFBayLaser as the maintainer of ICARUS software repositories;
  • @absolution1 as the maintainer of SBND software repositories.

... and that's it because I don't know who else.
This is a technical PR, that only involves details like old and new names and places.
Of course, people are also welcome to contribute comments on the merit of the algorithm, but I expect that this would not have specific consequences for this PR.

The unit test was moved and still passes.
Note that in my (unit) test one of the tests fails due to broken FHiCL configurations (related to ICARUS overlay) which are not related to this PR. This PR did not touch any FHiCL file and is not supposed to break any of those.

[1] ns stands for "namespace" and was meant to remove the ambiguity of icarus::util namespace with util when working in icarus namespace. Whether this trick actually helps is questionable.

@PetrilloAtWork PetrilloAtWork added the breaking Code from this and other repositories may be broken after the integration of this code label May 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Code from this and other repositories may be broken after the integration of this code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant