EGSnrc C++ class library  Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
Todo List
Class EGS_Application
Add time dependence
Class EGS_BaseGeometry

Add time dependence

Deal with volume calculation. While it is trivial to provide a generic volume calculation by Monte Carlo integration, it would be braindead to use such an approach for geometries that can actually calculate the volume in each of their regions analytically.

Class EGS_BaseSource
Add time dependence
Class EGS_FluenceScoring

Account for multiple app geometries

Fluence for any particle type?

Class EGS_Input

Add the possibility to replace values with previously defined values using e.g. make syntax: media = $(air_medium) $(water_medium) should initiate a search for a previous definition of air_medium and water_medium and should replace them, if such definitions exist. This would be useful for e.g. easier change of the media in a geometry definition if one wanted to use different PEGS data sets.

Extend the class to allow the definition of a required input by defining which keys are required or optional. This would need the possibility of grouping keys when alternative definitions are possible.

Class EGS_Octree
Instead of taking the medium index at the midpoint position of the cells when building the octree, take the mode of the medium indices at a number of locations (possibly random) inside the cell.
Member EGS_ParticleTrackContainer::getTrackVertex (int tr, int v)
Have to test this method.
Member EGS_ParticleTrackContainer::reportResults (bool with_header=true)
Maybe this method should be virtual ?
Class EGS_PhspSource
Fully implement latch filters
Class EGS_PlanarFluence
Store results in a 2D binary file for visualization
Class EGS_RandomGenerator
Should not EGS_RandomGenerator be derived from EGS_Object, so that dynamically loading RNG DSOs is automatically implemented?
Class EGS_Timer
Should add wall time measurement
Class IAEA_PhspSource
Fully implement latch filters
Group Sources
Add a general simulation source, i.e. a source that takes particles from some other source, simulates their transport through a geometry and collects the particles exiting/entering some region in space, and returns these when asked for a particle.