Geometry Work Plan for 2010
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:
- Review of classes exposed to kernel and thread-safety
by November 30th, 2010Feasibility study and implementation of thread-safety for classes affected by mixing of R/W and R-only data.
Priority given to classes exposed to internal use by other categories within the Geant4 kernel. - Finalisation of interoperability of multiple navigators/geometries
by July 1st, 2010Identify critical test cases for use of parallel geometries and combined use-cases (scoring+fast_parameterisation, biasing+scoring, etc..).
Review current design and implementation to address remaining open issues.
- Review of classes exposed to kernel and thread-safety
- Navigation & optimisation:
- Implementation of additional precise ComputeSafety() in navigation
by March 31st, 2010- Provide alternative Computesafety() for use by physics processes (mainly EM) for measuring the exact safety value, not limited by voxels boundaries.*\
- Review of navigation verbosity and control at step number
by May 15th, 2010 - Adoption of direction in replica navigation
by October 31st, 2010Review implementation of G4ReplicaNavigation to take into account of position and direction when locating on egdes or along surfaces.
- Implementation of additional precise ComputeSafety() in navigation
- Robustness checking & performance tuning:
- Review accuracy of 2nd order equations for points close to surface on last remaining solids (
G4Cons
,G4Orb
, …)
by June 30th, 2010Reiterate 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 apply c/(|b|+sqrt(D)) solution. - Review of complex test cases and reported issues
by September 30th, 2010
- Review accuracy of 2nd order equations for points close to surface on last remaining solids (
- General code review and improvements:
- Apply improvements to regular navigation to increase efficiency
and precision and reduce memory consumption
by September 30th, 2010Implement 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
by October 31st, 2010Identify places where code is duplicated and could be simplified; study ways of caching calculation of constants and reuse them efficiently; identify hot-spots performance critical.
Behavior on shared surfaces, etc… - Implement recommendations from code review of field intersection
locator classes and resolve known issues
by March 31st, 2010Cleanup code of field intersection classes and simplify overall implementation.
Resolve known bugs.
- Apply improvements to regular navigation to increase efficiency
and precision and reduce memory consumption
- New features:
- Extension of parameterisation to cylinders for regular navigation
by September 30th, 2010Allow for cylindrical phantom parameterisation as choice in place of cubic cells.
- Review design of new interface for field accuracy settings and inclusion in distribution
by September 30th, 2010Provide more intuitive API to users for tuning performance and field response.
- New arbitrary trapezoid shape with up to 8 vertices lying on two
parallel planes perperdincular to
Z
axis
by October 31st, 2010New specific solid with discrete mathematical definition of surfaces; verification of its suitability for Geant4 tracking requirements.
- Extension to divisions to allow for gaps in replicated daughters
by October 31st, 2010Review G4PVDivision class to allow possibility to introduce gaps between divided elements for the supported solids.
- Extension of parameterisation to cylinders for regular navigation
- Routine activities
- Extend testing suite for solids (CSG/specific/Boolean/BREPS)
- Review of user documentation and publication of a preprint paper on a refereed journal
(1) First semester
(2) Second semester
Created: 18 January 2010
Modified: 20 February 2010