Skip to content

Feature/gp plane crossers#5

Open
mvicenzi wants to merge 5 commits into
release/SBN2025Afrom
feature/gp_planeCrossers
Open

Feature/gp plane crossers#5
mvicenzi wants to merge 5 commits into
release/SBN2025Afrom
feature/gp_planeCrossers

Conversation

@mvicenzi

@mvicenzi mvicenzi commented Dec 8, 2025

Copy link
Copy Markdown
Member

This PR introduces the util::PlaneCrossers algorithm for plane/line intersection.
This is used by the new "cathode crossers" event generator in icaruscode.

This PR is required by:

@PetrilloAtWork PetrilloAtWork left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disclaimer: I am the author of this code.

@kjplows kjplows moved this from Todo to In Progress in PR archaeology Feb 11, 2026
@kjplows kjplows moved this from PR in progress to Testing in SBN software development Feb 11, 2026
@kjplows

kjplows commented Feb 11, 2026

Copy link
Copy Markdown
Contributor

@leoaliaga could you run the CI on this please against the SBN_SUITE at HEAD of release/SBN2025A? Thanks!

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.h implementing plane/line intersection via Cramer’s rule (3D).
  • Add a new Boost unit test test/Utilities/PlaneCrossers_test.cxx and 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.

Comment thread sbnalg/Utilities/PlaneCrossers.h
Comment thread sbnalg/Utilities/PlaneCrossers.h Outdated
Comment thread sbnalg/Utilities/PlaneCrossers.h
Comment thread sbnalg/Utilities/PlaneCrossers.h
Comment thread sbnalg/Utilities/CMakeLists.txt Outdated
Comment thread test/Utilities/PlaneCrossers_test.cxx Outdated
Comment thread test/Utilities/PlaneCrossers_test.cxx Outdated
Comment thread test/Utilities/CMakeLists.txt
PetrilloAtWork and others added 3 commits June 12, 2026 18:43
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

@francescopoppi francescopoppi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was straight forward, approved.
Although I would have bet there similar utility was already present in one of our libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress
Status: Testing

Development

Successfully merging this pull request may close these issues.

5 participants