a C++ Event Record for Monte Carlo Generators