DART: A simulation code for charged particle beams: Revision 1