SimTrack : A compact c + + library for particle orbit and spin tracking in accelerators