A Pseudo-Differential Sweeping Method for the Helmholtz Equation