When a simulation spans very long time scales or uses many detectors, parallelization on via MPI is probably the best way to go. The Simulation object should provide some tools to ease the task of distributing computing tasks among MPI processes. This will require the merging of #6 .