In shower the EGS4 Monte Carlo simulation is controlled with input files describing the input particle beam and the geometry definition, and command line arguments. Program shower reads incident particles coordinates from an input date file, sets up FORTRAN data structures required by EGS4 subroutines howfar and ausgab, calls the EGS4 subroutine shower, and writes the output particle coordinates to files. The output particle coordinates files can serve as input to another shower run with a different geometry as part of a linked set of runs.
A regions summary file contains data related to each region defined in the geometry file, such as absorbed dose rate per unit input beam power.
While the geometry definition is the most difficult programming aspect in conventional EGS4, it is vastly simplified in shower because the geometry isn't hard-coded in a subroutine but rather defined in a separate geometry file with namelist type commands. In shower we restrict ourselves to defining regions of block-type or cylindrical geometries. A 3D grid defining all space for the simulation is internally generated from all the block or cylindrical definitions. It is felt that most simulations can be well approximated using these elementary shapes, however complex the problem really is.