Esempio n. 1
0
    def test_add(self):
        ps1 = p2sat.ExamplePhaseSpace()
        ps2 = ps1 + ps1

        assert len(ps2) == 2 * len(ps1)

        i = len(ps1)

        assert np.allclose(ps1.data.raw.w, ps2.data.raw.w[:i])
        assert np.allclose(ps1.data.raw.x, ps2.data.raw.x[:i])
        assert np.allclose(ps1.data.raw.y, ps2.data.raw.y[:i])
        assert np.allclose(ps1.data.raw.z, ps2.data.raw.z[:i])
        assert np.allclose(ps1.data.raw.px, ps2.data.raw.px[:i])
        assert np.allclose(ps1.data.raw.py, ps2.data.raw.py[:i])
        assert np.allclose(ps1.data.raw.pz, ps2.data.raw.pz[:i])
        assert np.allclose(ps1.data.raw.t, ps2.data.raw.t[:i])

        assert np.allclose(ps1.data.raw.w, ps2.data.raw.w[i:])
        assert np.allclose(ps1.data.raw.x, ps2.data.raw.x[i:])
        assert np.allclose(ps1.data.raw.y, ps2.data.raw.y[i:])
        assert np.allclose(ps1.data.raw.z, ps2.data.raw.z[i:])
        assert np.allclose(ps1.data.raw.px, ps2.data.raw.px[i:])
        assert np.allclose(ps1.data.raw.py, ps2.data.raw.py[i:])
        assert np.allclose(ps1.data.raw.pz, ps2.data.raw.pz[i:])
        assert np.allclose(ps1.data.raw.t, ps2.data.raw.t[i:])
Esempio n. 2
0
    def test_round_axis(self):
        ps1 = p2sat.ExamplePhaseSpace()
        ps2 = ps1.copy()

        ps1.data.round_axis("x",decimals=2)

        assert np.allclose(ps1.data.raw.x, np.around(ps2.data.raw.x,decimals=2))
Esempio n. 3
0
    def test_rescale_axis(self):
        ps1 = p2sat.ExamplePhaseSpace()
        ps2 = ps1.copy()

        ps1.data.rescale_axis("w",100.)

        assert np.allclose(ps1.data.raw.w, 100 * ps2.data.raw.w)
Esempio n. 4
0
    def test_propagate(self):
        ps = p2sat.ExamplePhaseSpace()
        r = ps.data.raw

        ps.data.propagate(x=100)
        assert set(r.x) == {100}

        ps.data.propagate(t=100)
        assert set(r.t) == {100}
Esempio n. 5
0
    def test_get_axis(self):
        ps = p2sat.ExamplePhaseSpace()
        r = ps.data.raw

        w = ps.data.get_axis("w")
        ekin = ps.data.get_axis("ekin")

        assert np.allclose(w,r.w)
        assert np.allclose(ekin,r.ekin)
Esempio n. 6
0
    def test_update(self):
        ps = p2sat.ExamplePhaseSpace()

        data = [np.random.rand(100) for _ in range(8)]

        ps.data.update(*data)

        for ix,ax in enumerate(ps.data.get_ps()):
            assert np.allclose(ax,data[ix])
Esempio n. 7
0
    def test_rebin_axis(self):
        ps1 = p2sat.ExamplePhaseSpace()
        ps2 = ps1.copy()
        r1 = ps1.data.raw
        r2 = ps2.data.raw

        nbins = 10

        x = ps1.data.rebin_axis("x",nbins=nbins)

        assert len(set(x)) == nbins
        assert np.all(abs(x - r2.x) < (max(r2.x) - min(r2.x))/(nbins-1.))
        assert np.nan_to_num(sum(x)) != 0.
Esempio n. 8
0
    def test_get_ps(self):
        ps = p2sat.ExamplePhaseSpace()
        r = ps.data.raw
        data = ps.data.get_ps()
        w,ps = data[0], data[1:]

        assert np.allclose(w,r.w)
        assert np.allclose(ps[0],r.x)
        assert np.allclose(ps[1],r.y)
        assert np.allclose(ps[2],r.z)
        assert np.allclose(ps[3],r.px)
        assert np.allclose(ps[4],r.py)
        assert np.allclose(ps[5],r.pz)
        assert np.allclose(ps[6],r.t)
Esempio n. 9
0
    def test_copy(self):
        ps1 = p2sat.ExamplePhaseSpace()
        ps2 = ps1.copy()

        assert ps1 is not ps2

        assert np.allclose(ps1.data.raw.w, ps2.data.raw.w)
        assert np.allclose(ps1.data.raw.x, ps2.data.raw.x)
        assert np.allclose(ps1.data.raw.y, ps2.data.raw.y)
        assert np.allclose(ps1.data.raw.z, ps2.data.raw.z)
        assert np.allclose(ps1.data.raw.px, ps2.data.raw.px)
        assert np.allclose(ps1.data.raw.py, ps2.data.raw.py)
        assert np.allclose(ps1.data.raw.pz, ps2.data.raw.pz)
        assert np.allclose(ps1.data.raw.t, ps2.data.raw.t)
Esempio n. 10
0
    def test_transformate(self):
        ps1 = p2sat.ExamplePhaseSpace()
        ps2 = ps1.copy()

        r1 = ps1.data.raw
        r2 = ps2.data.raw

        ps2.data.transformate(R=(0,0,180))
        assert np.allclose(-r2.px,r1.px)
        assert np.allclose(-r2.py,r1.py)

        ps2.data.transformate(T=(-100,0,0),R=(0,0,-180),rotate_first=True)
        assert np.allclose(r2.px,r1.px)
        assert np.allclose(r2.py,r1.py)
        assert np.allclose(r2.x + 100,r1.x)
Esempio n. 11
0
    def test_filter_axis(self):
        ps = p2sat.ExamplePhaseSpace()
        r = ps.data.raw

        x = ps.data.filter_axis('x',select=dict(r=[None,None]))

        assert np.allclose(x,r.x)

        id = ps.data.filter_axis('id',select=dict(x=[0,None],r=[0,10],t=[100,300]))

        for i in id:
            assert r.x[i] > 0.
            assert r.r[i] > 0.
            assert r.r[i] < 10.
            assert r.t[i] > 100.
            assert r.t[i] < 300.
Esempio n. 12
0
    def test_filter_ps(self):
        ps1 = p2sat.ExamplePhaseSpace()
        ps2 = ps1.copy()

        r1 = ps1.data.raw
        r2 = ps2.data.raw

        filter_dict = dict(x=[0,None],r=[0,10],t=[100,300])
        ps2.data.filter_ps(select=filter_dict, update=True)
        id1 = ps1.data.get_axis('id',select=filter_dict)

        assert np.allclose(r1.w[id1],  r2.w)
        assert np.allclose(r1.x[id1],  r2.x)
        assert np.allclose(r1.y[id1],  r2.y)
        assert np.allclose(r1.z[id1],  r2.z)
        assert np.allclose(r1.px[id1], r2.px)
        assert np.allclose(r1.py[id1], r2.py)
        assert np.allclose(r1.pz[id1], r2.pz)
        assert np.allclose(r1.t[id1],  r2.t)
Esempio n. 13
0
 def test_len(self):
     ps = p2sat.ExamplePhaseSpace()
     assert len(ps) == len(ps.data.raw.w)
Esempio n. 14
0
 def test_deduplicate_ps(self):
     ps = p2sat.ExamplePhaseSpace()
     pass # TODO
Esempio n. 15
0
 def test_import(self):
     p2sat.ExamplePhaseSpace()
Esempio n. 16
0
 def test_generate(self):
     ps = p2sat.ExamplePhaseSpace()
     pass # TODO
Esempio n. 17
0
 def test_rebin_ps(self):
     ps = p2sat.ExamplePhaseSpace()
     pass # TODO