def test_aperture_inside_limits(rin): a = elements.Aperture('aperture', [-1e-3, 1e-3, -1e-4, 1e-4]) assert a.Length == 0 rin[0, 0] = 1e-5 rin[2, 0] = -1e-5 rin_orig = rin.copy() element_pass(a, rin) numpy.testing.assert_equal(rin, rin_orig)
def test_aperture_outside_limits(rin): a = elements.Aperture('aperture', [-1e-3, 1e-3, -1e-4, 1e-4]) assert a.Length == 0 lattice = [a] rin[0, 0] = 1e-2 rin[2, 0] = -1e-2 atpass(lattice, rin, 1) assert numpy.isinf(rin[5, 0]) assert rin[2, 0] == -1e-2 # Only the 6th coordinate is marked as infinity
def test_aperture_inside_limits(rin): a = elements.Aperture('aperture', [-1e-3, 1e-3, -1e-4, 1e-4]) assert a.Length == 0 lattice = [a] rin[0, 0] = 1e-5 rin[2, 0] = -1e-5 rin_orig = numpy.array(rin, copy=True) atpass(lattice, rin, 1) numpy.testing.assert_equal(rin, rin_orig)
def test_aperture_outside_limits(rin): a = elements.Aperture('aperture', [-1e-3, 1e-3, -1e-4, 1e-4]) assert a.Length == 0 lattice = [a] rin[0, 0] = 1e-2 rin[2, 0] = -1e-2 lattice_pass(lattice, rin, 1) assert numpy.isnan(rin[0, 0]) assert rin[2, 0] == 0.0 # Only the 1st coordinate is nan, the rest is zero