Geometry Work Plan for 2011
Version 1.1
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:
- Investigate adaptation of relevant classes for multi-threading - (2)
Investigate possibility to adapt the implementation of thread-safety for classes affected by mixing of R/W and R-only data.
Introduce keywords and tags to allow for easier automatic translation for Geant4-MT code generation. - Enable use of multiple tracking geometries - (1)/(2)
Allow definition of multiple navigation for tracking geometries by enabling proper handling of materials.
Allow definition of overlapping mass geometries for use in definition of support structures or simplified setups (ATLAS request).
- Investigate adaptation of relevant classes for multi-threading - (2)
- Navigation & optimisation:
- Finalize implementation of precise ComputeSafety() in navigation - (2)
Refine and optimize the alternative Computesafety() for use by physics processes (mainly EM) for measuring the exact safety value, not limited by voxels boundaries.
- Profiling and optimisation of multiple navigation - (2)
Identify possible CPU performance penalties which may be introduced with the activation of coupled-transportation. Optimize overall performance (ATLAS request).
- Finalize implementation of precise ComputeSafety() in navigation - (2)
- Robustness checking & performance tuning:
- Complete review of accuracy of 2nd order equations on
last remaining solids - (1)/(2)
Reiterate the tests on surface for random points close to (and far from) the solids’ surface, to quantify the precision of the response according to the geometrical tolerance. Verify the conditions under which the surface normal must be computed and the accuracy of the algorithms implemented; identify cases with wrong answers in solids not yet analysed and improve testing.
Verify where to applyc/(|b|+sqrt(D))
solution. - Review use of geometrical tolerance for directions almost
parallel to surface - (1)/(2)
Investigate possible limitations of the current adoption of the Cartesian geometrical tolerance, for extreme cases of tracks moving along surface within tolerances and returned step length very small (investigation of ATLAS test case).
- Complete review of accuracy of 2nd order equations on
last remaining solids - (1)/(2)
- General code review and improvements:
- Review of error/warning messages in geometry classes - (1)
Review format of errors messages and warnings issued by all geometry classes, to be conforming to unique Geant4 standard (LHCb request).
- Apply improvements to regular navigation to increase efficiency
and precision and reduce memory consumption - (1)
Implement more efficient indexing of cells, in conjunction with improvements to algorithms in scoring.
Allow for better efficiency and precision, also by implementing more precise safety calculation in case of neighbouring voxels skipping for same materials. - Continue code review for selected CSG shapes - (2)
Joint code review of geometrical shapes meant for:
x Verification of consistency in use of chosen strategies;
x Identification of potential round errors for solution to equations;
x Improvements for performance in operations (use of mathematical functions,sqrt(), pow()
, divisions, …), caching calculation of constants and efficient reuse, identify hot-spots performance critical;
x Double-check behavior on shared surfaces, etc…
x Code readability and simplification. - Implement recommendations from code review of field intersection
locator classes and resolve known issues - (1)/(2)
Cleanup code of field intersection classes and simplify overall implementation.
Resolve known bugs.
- Review of error/warning messages in geometry classes - (1)
- New features:
- Review design of new interface for field accuracy settings and
inclusion in distribution - (2)/(*)
Provide more intuitive API to users for tuning performance and field response.
- New cut tube shape, a tube segment cut by two planes on
Z
- (1)New specific solid implementing a tube shell cut in
Z
by planes; completing GDML geometrical shapes set (ATLAS request). - Feasibility study and first prototype of a unified library for solids - (2)
Design and implementation of a prototype unified library for geometrical shapes for Geant4 and Root, including at least one existing shape and a first implementation of a multi-union solid.
- Review design of new interface for field accuracy settings and
inclusion in distribution - (2)/(*)
- Routine activities
- Extend testing suite for solids (CSG/specific/Boolean/BREPS)
- Review of user documentation
(1) First semester
(2) Second semester
Created: 21 January 2011
Modified: 1 February 2011