Skip to content
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: geometry id generation for detector - ODD light part 3 #2439

Closed

Conversation

asalzburger
Copy link
Contributor

This PR introduces:

  • an interface of a Acts::Experimental::IGeometryIdGenerator tool
  • a standard Acts::Experimental::GeometryIdGenerator implementation
  • slots in the detector building to attach those generators
  • a check in the Acts::Detector class that surfaces have unique geometry ids
  • a Acts::GeometryHierarchyMap<Surface> for the detector
  • unit tests for all of those
  • finally the ODD light with geometry id settings as the ODD standard

It sits on top of #2424 and #2436 and will wait until those are merged.

@asalzburger asalzburger added this to the next milestone Sep 12, 2023
@asalzburger asalzburger added the 🛑 blocked This item is blocked by another item label Sep 12, 2023
@github-actions github-actions bot added Component - Core Affects the Core module Component - Examples Affects the Examples module Component - Plugins Affects one or more Plugins Component - Documentation Affects the documentation labels Sep 12, 2023
@github-actions github-actions bot removed the Component - Plugins Affects one or more Plugins label Sep 13, 2023
@asalzburger asalzburger removed the 🛑 blocked This item is blocked by another item label Sep 13, 2023
@github-actions github-actions bot added the Component - Plugins Affects one or more Plugins label Sep 14, 2023
Core/include/Acts/Detector/DetectorVolume.hpp Show resolved Hide resolved
Core/include/Acts/Detector/GeometryIdGenerator.hpp Outdated Show resolved Hide resolved
Core/include/Acts/Detector/GeometryIdGenerator.hpp Outdated Show resolved Hide resolved
Core/src/Detector/Detector.cpp Show resolved Hide resolved
Core/src/Surfaces/CylinderSurface.cpp Outdated Show resolved Hide resolved
docs/core/experimental_geometry.md Outdated Show resolved Hide resolved
kodiakhq bot pushed a commit that referenced this pull request Sep 15, 2023
…2451)

Prompted through comments in #2439 

This PR harmonies the constructor signature for surfaces with detector elements and bounds, it fixes also a bug in the cylinder surface that a `shared_ptr` is first moved then assert checked, if this was the sole occurrence, e.g. by construction 
`Constructor(std::make_shared<Foo>` the assert would have always fired.
niermann999
niermann999 previously approved these changes Sep 15, 2023
@codecov
Copy link

codecov bot commented Sep 19, 2023

Codecov Report

Merging #2439 (91fc46b) into main (d62a42f) will increase coverage by 0.03%.
The diff coverage is 50.89%.

❗ Current head 91fc46b differs from pull request most recent head dfca1d1. Consider uploading reports for the commit dfca1d1 to get more accurate results

@@            Coverage Diff             @@
##             main    #2439      +/-   ##
==========================================
+ Coverage   49.78%   49.81%   +0.03%     
==========================================
  Files         461      464       +3     
  Lines       26015    26121     +106     
  Branches    11921    11980      +59     
==========================================
+ Hits        12952    13013      +61     
+ Misses       4610     4608       -2     
- Partials     8453     8500      +47     
Files Changed Coverage Δ
...lude/Acts/Detector/CylindricalContainerBuilder.hpp 100.00% <ø> (ø)
Core/include/Acts/Detector/DetectorBuilder.hpp 100.00% <ø> (ø)
Core/include/Acts/Detector/DetectorVolume.hpp 74.28% <ø> (ø)
...re/include/Acts/Detector/DetectorVolumeBuilder.hpp 100.00% <ø> (ø)
Core/src/Detector/Detector.cpp 55.68% <38.88%> (-4.32%) ⬇️
Core/src/Detector/DetectorVolumeBuilder.cpp 45.00% <40.00%> (-0.72%) ⬇️
Core/src/Detector/GeometryIdGenerator.cpp 42.37% <42.37%> (ø)
Core/src/Detector/DetectorBuilder.cpp 54.54% <57.14%> (+1.21%) ⬆️
Core/src/Detector/CylindricalContainerBuilder.cpp 51.28% <63.63%> (+2.02%) ⬆️
Core/include/Acts/Detector/GeometryIdGenerator.hpp 100.00% <100.00%> (ø)
... and 4 more

... and 3 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@asalzburger
Copy link
Contributor Author

Will be superseded by a squashed version.

kodiakhq bot pushed a commit that referenced this pull request Sep 20, 2023
This PR introduces:

- an interface of a `Acts::Experimental::IGeometryIdGenerator` tool
- a standard `Acts::Experimental::GeometryIdGenerator` implementation
- slots in the detector building to attach those generators
- a check in the `Acts::Detector` class that surfaces have unique geometry ids
- a `Acts::GeometryHierarchyMap<Surface>` for the detector
- unit tests for all of those
- finally the ODD light with geometry id settings as the ODD standard

This is a squashed version of #2439 -  It sits on top of #2424 and #2436 and will wait until those are merged.
@paulgessinger paulgessinger modified the milestones: next, v30.0.0 Sep 20, 2023
AJPfleger pushed a commit to AJPfleger/acts that referenced this pull request Sep 29, 2023
This PR introduces:

- an interface of a `Acts::Experimental::IGeometryIdGenerator` tool
- a standard `Acts::Experimental::GeometryIdGenerator` implementation
- slots in the detector building to attach those generators
- a check in the `Acts::Detector` class that surfaces have unique geometry ids
- a `Acts::GeometryHierarchyMap<Surface>` for the detector
- unit tests for all of those
- finally the ODD light with geometry id settings as the ODD standard

This is a squashed version of acts-project#2439 -  It sits on top of acts-project#2424 and acts-project#2436 and will wait until those are merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - Core Affects the Core module Component - Documentation Affects the documentation Component - Examples Affects the Examples module Component - Plugins Affects one or more Plugins
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants