-
Notifications
You must be signed in to change notification settings - Fork 173
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: Geant4 Gdml surface provider + Unit Test #2906
Conversation
…lector for G4volumes
Ok, turns out that making Range1D construct a degenerate range breaks Extent Extent-accepting constructor, so changed the way of checking range initialization to template parameters check |
Template parameters check worked locally but broke the git compilation. Switched to manually initializing the degenerate range |
📊: Physics performance monitoring for c2a9c59physmon summary
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2906 +/- ##
=======================================
Coverage 48.99% 48.99%
=======================================
Files 495 496 +1
Lines 28937 28938 +1
Branches 13704 13704
=======================================
+ Hits 14178 14179 +1
Misses 4881 4881
Partials 9878 9878 ☔ View full report in Codecov by Sentry. |
@ssdetlab somehow, you were not on the CI allow-list. Can you accept the GH team invitation, and then push an (empty) commit to retrigger the CI? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was just looking at the tests.
@AJPfleger, added the changes that you've suggested to the test. |
Adding a Surface Provider that is able to read Gdml files and extract surfaces based on Geant4PhysicalVolumeSelector criteria. Optional range-based selection of a subset of surfaces from the preselected, based on these criteria, set is available. KDTree is used to implement the range-based subset selection. Unit test showing examples of interfacing between the volume selectors and internal structure builders with the surface provider is implemented. New selector that accepts G4 volumes based on their position is shipped to show the more memory-efficient preselection->KDTree selection pipeline. Converter to BinningValue to Geant4 axis is added and can be used to implement more sophisticated Volume Selectors. Minor changes made to KdtSurfacesProvider and Range1D. In the former one of the internal variables is renamed to resolve shadowed declaration conflict with one of the necessary Geant4 includes. In the latter constructor is changed to be consistent with its description and provide a way to deduce uninitialized ranges based on the "degenerate" method.
Adding a Surface Provider that is able to read Gdml files and extract surfaces based on Geant4PhysicalVolumeSelector criteria. Optional range-based selection of a subset of surfaces from the preselected, based on these criteria, set is available. KDTree is used to implement the range-based subset selection. Unit test showing examples of interfacing between the volume selectors and internal structure builders with the surface provider is implemented. New selector that accepts G4 volumes based on their position is shipped to show the more memory-efficient preselection->KDTree selection pipeline. Converter to BinningValue to Geant4 axis is added and can be used to implement more sophisticated Volume Selectors. Minor changes made to KdtSurfacesProvider and Range1D. In the former one of the internal variables is renamed to resolve shadowed declaration conflict with one of the necessary Geant4 includes. In the latter constructor is changed to be consistent with its description and provide a way to deduce uninitialized ranges based on the "degenerate" method.
Adding a Surface Provider that is able to read Gdml files and extract surfaces based on Geant4PhysicalVolumeSelector criteria. Optional range-based selection of a subset of surfaces from the preselected, based on these criteria, set is available. KDTree is used to implement the range-based subset selection. Unit test showing examples of interfacing between the volume selectors and internal structure builders with the surface provider is implemented. New selector that accepts G4 volumes based on their position is shipped to show the more memory-efficient preselection->KDTree selection pipeline. Converter to BinningValue to Geant4 axis is added and can be used to implement more sophisticated Volume Selectors. Minor changes made to KdtSurfacesProvider and Range1D. In the former one of the internal variables is renamed to resolve shadowed declaration conflict with one of the necessary Geant4 includes. In the latter constructor is changed to be consistent with its description and provide a way to deduce uninitialized ranges based on the "degenerate" method.
Adding a Surface Provider that is able to read Gdml files and extract surfaces based on Geant4PhysicalVolumeSelector criteria. Optional range-based selection of a subset of surfaces from the preselected, based on these criteria, set is available. KDTree is used to implement the range-based subset selection.
Unit test showing examples of interfacing between the volume selectors and internal structure builders with the surface provider is implemented. New selector that accepts G4 volumes based on their position is shipped to show the more memory-efficient preselection->KDTree selection pipeline. Converter to BinningValue to Geant4 axis is added and can be used to implement more sophisticated Volume Selectors.
Minor changes made to KdtSurfacesProvider and Range1D. In the former one of the internal variables is renamed to resolve shadowed declaration conflict with one of the necessary Geant4 includes. In the latter constructor is changed to be consistent with its description and provide a way to deduce uninitialized ranges based on the "degenerate" method.