Geometry Work Plan for 2013
Version 1.0
NOTE: Any dates assigned to items are to be considered just indicative.
- Items marked with refer to new developments.
- Items marked with will involve new man-power or contribution from external sources interested in the project.
- Items marked with will require coordination with more than one Working Group.
- Items marked with (*) may or may not be achieved.
- Architecture:
- Adaptation/improvement of relevant classes for multi-threading - (1)
Identify best implementation choices to be applied for making any part of the geometry modeller thread-safe.
- Redesign and optimisation of relevant MT split classes - (2)
Optimise implementation of thread-safety for classes affected by mixing of R/W and R-only data; introduce comments/tags to allow for easier identification of invariant data.
Evaluate possibility to reduce or completely eliminate RW data and its impact to exposed interfaces. - Verification of multi-threading for all features - (2)
Test and benchmark on multi-threaded runs various features provided by the modeller (nested-parameterisations, divisions, regular navigation, dynamic geometries, parallel navigation,etc…).
- Adaptation/improvement of relevant classes for multi-threading - (1)
- Navigation & optimisation:
- Fix remaining issues for precise ComputeSafety() in navigation - (1)
Refine and optimize the alternative Computesafety() for use by physics processes (mainly EM) for measuring the exact safety value, not limited by voxels boundaries.
Adapt multiple-scattering EM process to make use of the new feature, after having optimized its performance. - Profiling and optimisation of multiple navigation - (1)/(2)
Revise the design and implementation of multiple navigation and coupled-transportation.
Identify any open issue in application to fast-simulation, scoring and layered tracking geometries and in conjuction with magnetic field transport.
Identify possible CPU performance penalties which may be introduced with the activation of coupled-transportation. Optimize overall performance (ATLAS request). - Refactor navigator to separate thread-dependent state - (2)
Review design and implementation of
G4Navigator
to separate live state from the main class and allow for more optimised solution for thread-local storage.
- Fix remaining issues for precise ComputeSafety() in navigation - (1)
- New features:
- Complete implementation of the unified solids library - (1)/(2)
Complete implementation of remaining solids in the unified library for geometrical shapes for Geant4 and Root.
Provide integration of the new library in the main code base of the Geant4 geometry modeller. - Identify first/last step in a volume for curved tracks - (1)
Feature currently possible only for linear track; requires to be extended also for curved tracks in magnetic field.
- Complete implementation of the unified solids library - (1)/(2)
- Code cleanup:
- Removal of BREP solids module - (1)
End of support and development for the BREPS module. Being archived.
- Replacement of built-in UI commands for overlaps checks - (1)
Removal of classes and algorithms implementing current built-in UI commands for overlaps checks based on super-imposition of ‘grid’ lines.
Replace UI commands for overlaps checks with corresponding precise functionality provided by solids for generated points on surface on-demand.
- Removal of BREP solids module - (1)
- Routine activities
- Review of user documentation
(1) First semester
(2) Second semester
Created: 31 January 2013
Modified: 31 January 2013