-
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: Geant4SurfaceProvider optimization #3025
feat: Geant4SurfaceProvider optimization #3025
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3025 +/- ##
=======================================
Coverage 48.82% 48.82%
=======================================
Files 489 489
Lines 28860 28860
Branches 13695 13695
=======================================
Hits 14092 14092
Misses 4953 4953
Partials 9815 9815 ☔ View full report in Codecov by Sentry. |
📊: Physics performance monitoring for 81d14b8physmon summary
|
this does not compile anymore @ssdetlab. can you take a look? |
As I mentioned in #3038, it was going to merge a test that is not compatible with the interface changes I propose here. Should be minor, so will fix soon |
Introducing minor changes to the `Geant4SurfaceProvider` targeting optimization and utility for Telescope-style use cases. The first change is the removal of the Gdml parsing from the construction in favor of supplying a pointer to the world volume. The Internal Structure Builder is called (potentially) multiple times in the builder pipeline, so, before the changes, the description was also parsed multiple times and several Worlds were kept in the memory. The second change has to do with the conventional z-orientation of the Telescope geometries. There's a need to rotate the geometries away from the z-axis in the current implementation of the track parametrization, so a simple way of applying a global transformation at the construction stage is introduced. In our experience, the cleanest way to do it is on the Geant4 volumes conversion stage, thus the additional `G4Transform` is included into the `Config`.
Introducing minor changes to the `Geant4SurfaceProvider` targeting optimization and utility for Telescope-style use cases. The first change is the removal of the Gdml parsing from the construction in favor of supplying a pointer to the world volume. The Internal Structure Builder is called (potentially) multiple times in the builder pipeline, so, before the changes, the description was also parsed multiple times and several Worlds were kept in the memory. The second change has to do with the conventional z-orientation of the Telescope geometries. There's a need to rotate the geometries away from the z-axis in the current implementation of the track parametrization, so a simple way of applying a global transformation at the construction stage is introduced. In our experience, the cleanest way to do it is on the Geant4 volumes conversion stage, thus the additional `G4Transform` is included into the `Config`.
Introducing minor changes to the
Geant4SurfaceProvider
targeting optimization and utility for Telescope-style use cases.The first change is the removal of the Gdml parsing from the construction in favor of supplying a pointer to the world volume. The Internal Structure Builder is called (potentially) multiple times in the builder pipeline, so, before the changes, the description was also parsed multiple times and several Worlds were kept in the memory.
The second change has to do with the conventional z-orientation of the Telescope geometries. There's a need to rotate the geometries away from the z-axis in the current implementation of the track parametrization, so a simple way of applying a global transformation at the construction stage is introduced. In our experience, the cleanest way to do it is on the Geant4 volumes conversion stage, thus the additional
G4Transform
is included into theConfig
.