PENTrack—a simulation tool for ultracold neutrons, protons, and electrons in complex electromagnetic fields and geometries