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.

  1. Architecture:
    • Review of classes exposed to kernel and thread-safety
      by November 30th, 2010

      Feasibility 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, 2010

      Identify 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.

  2. 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, 2010

      Review implementation of G4ReplicaNavigation to take into account of position and direction when locating on egdes or along surfaces.

  3. Robustness checking & performance tuning:
    • Review accuracy of 2nd order equations for points close to surface on last remaining solids (G4Cons, G4Orb, …)
      by June 30th, 2010

      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 apply c/(|b|+sqrt(D)) solution.

    • Review of complex test cases and reported issues
      by September 30th, 2010
  4. General code review and improvements:
    • Apply improvements to regular navigation to increase efficiency and precision and reduce memory consumption
      by September 30th, 2010

      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
      by October 31st, 2010

      Identify 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, 2010

      Cleanup code of field intersection classes and simplify overall implementation.
      Resolve known bugs.

  5. New features:
    • Extension of parameterisation to cylinders for regular navigation
      by September 30th, 2010

      Allow 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, 2010

      Provide 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, 2010

      New 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, 2010

      Review G4PVDivision class to allow possibility to introduce gaps between divided elements for the supported solids.

  • 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