Feature/gp plane crossers#5
Conversation
…irection in 3D space.
Version v10_06_00_05, patch for SBN2025A
PetrilloAtWork
left a comment
There was a problem hiding this comment.
Disclaimer: I am the author of this code.
|
@leoaliaga could you run the CI on this please against the SBN_SUITE at HEAD of release/SBN2025A? Thanks! |
There was a problem hiding this comment.
Pull request overview
This PR adds a new header-only utility algorithm, util::PlaneCrossers, to compute the intersection between a plane (defined by two spanning axes) and a straight line, and wires it into the build/test system with a new Boost unit test.
Changes:
- Introduce
sbnalg/Utilities/PlaneCrossers.himplementing plane/line intersection via Cramer’s rule (3D). - Add a new Boost unit test
test/Utilities/PlaneCrossers_test.cxxand register it with CMake. - Add new
Utilities/subdirectories to both the library and test CMake trees.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
sbnalg/Utilities/PlaneCrossers.h |
Adds the util::PlaneCrossers template and its inline implementation. |
sbnalg/Utilities/CMakeLists.txt |
Creates the (header-only) Utilities library target and installs headers/sources. |
sbnalg/CMakeLists.txt |
Adds the new Utilities subdirectory to the build. |
test/Utilities/PlaneCrossers_test.cxx |
Adds a Boost unit test and a documentation example test for PlaneCrossers. |
test/Utilities/CMakeLists.txt |
Registers the new PlaneCrossers_test with CTest/Boost. |
test/CMakeLists.txt |
Adds the new Utilities test subdirectory. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
francescopoppi
left a comment
There was a problem hiding this comment.
this was straight forward, approved.
Although I would have bet there similar utility was already present in one of our libraries.
This PR introduces the
util::PlaneCrossersalgorithm for plane/line intersection.This is used by the new "cathode crossers" event generator in
icaruscode.This PR is required by: