-
Notifications
You must be signed in to change notification settings - Fork 168
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 detector - ODD light part 1 #2424
feat: geant4 gdml detector - ODD light part 1 #2424
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2424 +/- ##
=======================================
Coverage 49.70% 49.70%
=======================================
Files 458 458
Lines 25946 25949 +3
Branches 11918 11919 +1
=======================================
+ Hits 12896 12899 +3
- Misses 4595 4596 +1
+ Partials 8455 8454 -1
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Hey @niermann999 - this is the first step to build ODD light. |
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.
Just a few very minor comments
All comments addressed. |
This PR adds the possibility to create a grid based start volume lookup for navigation. It reduces the time for 1000 lookups in the ODD light example from `20 ms` to `1.5 ms` and hence `1.5 µs` per lookup. This sits on top of #2424 and will wait until this one is merged.
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.
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.
Build ODD light detector in new Detector frame.
By doing so, two things had to be corrected:
PolyhedronReferenceGenerator
is now templated on the number of segments and whether the center of gravity is addedKdtSurfacesProvider
now calculated the center of gravity of the reference points, BUT already in the casted frame, this avoid e.g. a cylinder to be assigned to (x,y) = (0,0) if not needed thereIt also removed the
odd_from_json.py
to be replaced by theodd_light.py
, which can be fed in from json, Geant4, DD4hep, TGeo, ...