Loading pysen/inout/reader.py +4 −2 Original line number Diff line number Diff line Loading @@ -401,9 +401,11 @@ def read_beam_monitors(lines): break buf += line if counter: result['counter'] = np.loadtxt(counter, dtype='i4') xcounter = [ _.replace('\n',' ') for _ in counter ] result['counter'] = np.loadtxt(xcounter, dtype='i4') if ccounter: result['counter_ccard'] = np.loadtxt(ccounter, dtype='i8') xcounter = [ _.replace('\n',' ') for _ in ccounter ] result['counter_ccard'] = np.loadtxt(xcounter, dtype='i8') return result def read_echo_data(fdesc, newshape, **kwargs): Loading pysen/revision.py +2 −2 Original line number Diff line number Diff line Loading @@ -3,8 +3,8 @@ PySEN revision module """ import sys __version__ = "1.2" __release__ = "rc3" __date__ = "Oct 19, 2022" __release__ = "rc4" __date__ = "Oct 20, 2022" def version(full=False): "get pysen version number" Loading test/test_physics_elastic.py 0 → 100755 +51 −0 Original line number Diff line number Diff line """ Python unit test cases for pysen.lib module """ import unittest import numpy as np from pysen.physics.elastic import get_theta, get_q, get_qvec, get_dspace class ElasticScatteringCase(unittest.TestCase): "Elastic Scattering Test Cases" def setUp(self): self.wavelength = 8.0 # A self.q = 0.25 self.theta = np.radians(18.3157) # self.phi = np.radians(30.0000) self.d = 50.9145 # n=2 def tearDown(self): pass def test_theta(self): th = get_theta(self.q, self.wavelength) self.assertAlmostEqual(self.theta, th, 4) def test_q(self): q = get_q(self.wavelength, self.theta) self.assertAlmostEqual(self.q, q, 4) def test_qvec(self): q = get_q(self.wavelength, self.theta) qvec = get_qvec(self.wavelength, self.theta, 0) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2), qvec[1], 4) self.assertAlmostEqual(0, qvec[2], 4) qvec = get_qvec(self.wavelength, self.theta, self.phi) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.cos(self.phi), qvec[1], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.sin(self.phi), qvec[2], 4) def test_dspace(self): d = get_dspace(self.wavelength, self.theta, n=2) self.assertAlmostEqual(self.d, d, 4) if __name__ == "__main__": unittest.main(exit=False, verbosity=2) test/test_elastic.py→test/test_physics_spinecho.py +1 −43 Original line number Diff line number Diff line Loading @@ -5,8 +5,7 @@ import unittest import numpy as np from pysen.physics.elastic import (q_binning, t_binning, waveband_binning, get_theta, get_q, get_qvec, get_dspace) from pysen.physics.spinecho import q_binning, t_binning, waveband_binning class BinningTestCase(unittest.TestCase): "Binning Test Cases" Loading Loading @@ -68,46 +67,5 @@ class BinningTestCase(unittest.TestCase): self.assertEqual(et1, t1) self.assertEqual(et2, t2) class ElasticScatteringCase(unittest.TestCase): "Elastic Scattering Test Cases" def setUp(self): self.wavelength = 8.0 # A self.q = 0.25 self.theta = np.radians(18.3157) # self.phi = np.radians(30.0000) self.d = 50.9145 # n=2 def tearDown(self): pass def test_theta(self): th = get_theta(self.q, self.wavelength) self.assertAlmostEqual(self.theta, th, 4) def test_q(self): q = get_q(self.wavelength, self.theta) self.assertAlmostEqual(self.q, q, 4) def test_qvec(self): q = get_q(self.wavelength, self.theta) qvec = get_qvec(self.wavelength, self.theta, 0) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2), qvec[1], 4) self.assertAlmostEqual(0, qvec[2], 4) qvec = get_qvec(self.wavelength, self.theta, self.phi) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.cos(self.phi), qvec[1], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.sin(self.phi), qvec[2], 4) def test_dspace(self): d = get_dspace(self.wavelength, self.theta, n=2) self.assertAlmostEqual(self.d, d, 4) if __name__ == "__main__": unittest.main(exit=False, verbosity=2) Loading
pysen/inout/reader.py +4 −2 Original line number Diff line number Diff line Loading @@ -401,9 +401,11 @@ def read_beam_monitors(lines): break buf += line if counter: result['counter'] = np.loadtxt(counter, dtype='i4') xcounter = [ _.replace('\n',' ') for _ in counter ] result['counter'] = np.loadtxt(xcounter, dtype='i4') if ccounter: result['counter_ccard'] = np.loadtxt(ccounter, dtype='i8') xcounter = [ _.replace('\n',' ') for _ in ccounter ] result['counter_ccard'] = np.loadtxt(xcounter, dtype='i8') return result def read_echo_data(fdesc, newshape, **kwargs): Loading
pysen/revision.py +2 −2 Original line number Diff line number Diff line Loading @@ -3,8 +3,8 @@ PySEN revision module """ import sys __version__ = "1.2" __release__ = "rc3" __date__ = "Oct 19, 2022" __release__ = "rc4" __date__ = "Oct 20, 2022" def version(full=False): "get pysen version number" Loading
test/test_physics_elastic.py 0 → 100755 +51 −0 Original line number Diff line number Diff line """ Python unit test cases for pysen.lib module """ import unittest import numpy as np from pysen.physics.elastic import get_theta, get_q, get_qvec, get_dspace class ElasticScatteringCase(unittest.TestCase): "Elastic Scattering Test Cases" def setUp(self): self.wavelength = 8.0 # A self.q = 0.25 self.theta = np.radians(18.3157) # self.phi = np.radians(30.0000) self.d = 50.9145 # n=2 def tearDown(self): pass def test_theta(self): th = get_theta(self.q, self.wavelength) self.assertAlmostEqual(self.theta, th, 4) def test_q(self): q = get_q(self.wavelength, self.theta) self.assertAlmostEqual(self.q, q, 4) def test_qvec(self): q = get_q(self.wavelength, self.theta) qvec = get_qvec(self.wavelength, self.theta, 0) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2), qvec[1], 4) self.assertAlmostEqual(0, qvec[2], 4) qvec = get_qvec(self.wavelength, self.theta, self.phi) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.cos(self.phi), qvec[1], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.sin(self.phi), qvec[2], 4) def test_dspace(self): d = get_dspace(self.wavelength, self.theta, n=2) self.assertAlmostEqual(self.d, d, 4) if __name__ == "__main__": unittest.main(exit=False, verbosity=2)
test/test_elastic.py→test/test_physics_spinecho.py +1 −43 Original line number Diff line number Diff line Loading @@ -5,8 +5,7 @@ import unittest import numpy as np from pysen.physics.elastic import (q_binning, t_binning, waveband_binning, get_theta, get_q, get_qvec, get_dspace) from pysen.physics.spinecho import q_binning, t_binning, waveband_binning class BinningTestCase(unittest.TestCase): "Binning Test Cases" Loading Loading @@ -68,46 +67,5 @@ class BinningTestCase(unittest.TestCase): self.assertEqual(et1, t1) self.assertEqual(et2, t2) class ElasticScatteringCase(unittest.TestCase): "Elastic Scattering Test Cases" def setUp(self): self.wavelength = 8.0 # A self.q = 0.25 self.theta = np.radians(18.3157) # self.phi = np.radians(30.0000) self.d = 50.9145 # n=2 def tearDown(self): pass def test_theta(self): th = get_theta(self.q, self.wavelength) self.assertAlmostEqual(self.theta, th, 4) def test_q(self): q = get_q(self.wavelength, self.theta) self.assertAlmostEqual(self.q, q, 4) def test_qvec(self): q = get_q(self.wavelength, self.theta) qvec = get_qvec(self.wavelength, self.theta, 0) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2), qvec[1], 4) self.assertAlmostEqual(0, qvec[2], 4) qvec = get_qvec(self.wavelength, self.theta, self.phi) self.assertAlmostEqual(q*np.sin(self.theta/2), qvec[0], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.cos(self.phi), qvec[1], 4) self.assertAlmostEqual(q*np.cos(self.theta/2)*np.sin(self.phi), qvec[2], 4) def test_dspace(self): d = get_dspace(self.wavelength, self.theta, n=2) self.assertAlmostEqual(self.d, d, 4) if __name__ == "__main__": unittest.main(exit=False, verbosity=2)