Imported AssnsCrosser algorithm from icarusalg [1/3]#2
Conversation
|
Hi @SFBayLaser , just bumping this - could you please take a look at this PR? Thanks! |
SFBayLaser
left a comment
There was a problem hiding this comment.
I am happy to see this addition and happy to approve.
|
trigger build LArSoft/lar*@LARSOFT_SUITE_v10_20_06 SBNSoftware/sbndaq-artdaq-core@v1_10_06 SBNSoftware/sbn*@SBN_SUITE_v10_20_06 SBNSoftware/icarusalg#94 SBNSoftware/icaruscode#825 hgreenlee/sbndcode@test614 |
|
✔️ CI build for LArSoft Succeeded on slf7 for c14:prof -- details available through the CI dashboard |
|
❌ CI build for ICARUS Failed at phase build ICARUS on slf7 for c14:prof -- details available through the CI dashboard 🚨 For more details about the failed phase, check the build ICARUS phase logs parent CI build details are available through the CI dashboard |
|
❌ CI build for SBND Failed at phase build SBND on slf7 for c14:prof -- details available through the CI dashboard 🚨 For more details about the failed phase, check the build SBND phase logs parent CI build details are available through the CI dashboard |
|
✔️ CI build for LArSoft Succeeded on slf7 for e26:prof -- details available through the CI dashboard |
|
parent CI build details are available through the CI dashboard |
|
Merged to branches main + develop. |
|
❌ CI build for ICARUS Failed at phase ci_tests ICARUS on slf7 for e26:prof - ignored failure for unit_test - ignored warnings for build -- details available through the CI dashboard 🚨 For more details about the failed phase, check the ci_tests ICARUS phase logs parent CI build details are available through the CI dashboard |
AssnsCrosseris an utility inicarusalghelping 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
icarusnamespace).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::utiltosbn::ns::util¹. Because of this, this is a breaking change, which is easy to fix.Dependent pull requests
Connected pull requests are in:
AssnsCrosseralgorithm fromicarusalg[2/3] icarusalg#94 (where the equivalent code is removed)AssnsCrosseralgorithm fromicarusalg[3/3] icaruscode#825 (fixes for the breaking change)I do not know of any other place where this utility is used (and not much code is aware of
icarusalgbesideicaruscode).Reviewers
... 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]
nsstands for "namespace" and was meant to remove the ambiguity oficarus::utilnamespace withutilwhen working inicarusnamespace. Whether this trick actually helps is questionable.