If the execution of a path is successfully completed for an event, the event becomes a candidate for output to one of possibly several Output Streams. Output Streams are defined at run-time through the user interface. Each output stream is associated with an output data file. Each path can be bound to a different output stream, or multiple paths may be bound to the same output stream. This provides the capability of generating multiple datasets containing events that have been sorted according to the underlying physics processes that created them.