def test_creation_rotation(self): symOpPlus = SymmetryOperationFactory.createSymOp("-y,x-y,z") symElePlus = SymmetryElementFactory.createSymElement(symOpPlus) self.assertEquals(symElePlus.getRotationSense(), SymmetryElement.RotationSense.Positive) symOpMinus = SymmetryOperationFactory.createSymOp("-x+y,-x,z") symEleMinus = SymmetryElementFactory.createSymElement(symOpMinus) self.assertEquals(symEleMinus.getRotationSense(), SymmetryElement.RotationSense.Negative)
def test_creation_rotation(self): symOpPlus = SymmetryOperationFactory.createSymOp("-y,x-y,z") symElePlus = SymmetryElementFactory.createSymElement(symOpPlus) self.assertEqual(symElePlus.getRotationSense(), SymmetryElement.RotationSense.Positive) symOpMinus = SymmetryOperationFactory.createSymOp("-x+y,-x,z") symEleMinus = SymmetryElementFactory.createSymElement(symOpMinus) self.assertEqual(symEleMinus.getRotationSense(), SymmetryElement.RotationSense.Negative)
def test_creation_axis(self): symOp = SymmetryOperationFactory.createSymOp("x,y,-z") symEle = SymmetryElementFactory.createSymElement(symOp) self.assertEquals(symEle.getHMSymbol(), "m") self.assertEquals(symEle.getAxis(), V3D(0,0,1)) rotation = SymmetryOperationFactory.createSymOp("x,-y,-z") rotationElement = SymmetryElementFactory.createSymElement(rotation) self.assertEquals(rotationElement.getHMSymbol(), "2") self.assertEquals(rotationElement.getAxis(), V3D(1,0,0))
def test_creation_axis(self): symOp = SymmetryOperationFactory.createSymOp("x,y,-z") symEle = SymmetryElementFactory.createSymElement(symOp) self.assertEquals(symEle.getHMSymbol(), "m") self.assertEquals(symEle.getAxis(), V3D(0, 0, 1)) rotation = SymmetryOperationFactory.createSymOp("x,-y,-z") rotationElement = SymmetryElementFactory.createSymElement(rotation) self.assertEquals(rotationElement.getHMSymbol(), "2") self.assertEquals(rotationElement.getAxis(), V3D(1, 0, 0))
def test_apply(self): symOp = SymmetryOperationFactory.createSymOp("x,y,-z") hkl1 = V3D(1, 1, 1) hkl2 = symOp.apply(hkl1) self.assertEquals(hkl2, V3D(1, 1, -1)) self.assertEquals(symOp.transformHKL(hkl2), hkl1)
def _symmetrize_by_generators(self, mdws, axisAligned, basis0, basis1, basis2, basis3, normalizeBasisVectors, translation, outputExtents, outputBins, numOp, symOp1, symOp2, symOp3, symOp4, symOp5): unit0, basisVec0 = self._destringify(basis0) unit1, basisVec1 = self._destringify(basis1) unit2, basisVec2 = self._destringify(basis2) unit3, basisVec3 = self._destringify(basis3) symOpList = [symOp1, symOp2, symOp3, symOp4, symOp5] for i in range(numOp): basisVec0_str = None basisVec1_str = None basisVec2_str = None basisVec3_str = None symOp = SymmetryOperationFactory.createSymOp(symOpList[i]) if basisVec0 is not None: coordinatesPrime = symOp.transformCoordinates(basisVec0) basisVec0_str = unit0[0] + ',' + unit0[1] + ',' + str(coordinatesPrime.getX()) \ + ',' + str(coordinatesPrime.getY()) + ',' + str(coordinatesPrime.getZ()) + ',' + '0' if basisVec1 is not None: coordinatesPrime = symOp.transformCoordinates(basisVec1) basisVec1_str = unit1[0] + ',' + unit1[1] + ',' + str(coordinatesPrime.getX()) \ + ',' + str(coordinatesPrime.getY()) + ',' + str(coordinatesPrime.getZ()) + ',' + '0' if basisVec2 is not None: coordinatesPrime = symOp.transformCoordinates(basisVec2) basisVec2_str = unit2[0] + ',' + unit2[1] + ',' + str(coordinatesPrime.getX()) \ + ',' + str(coordinatesPrime.getY()) + ',' + str(coordinatesPrime.getZ()) + ',' + '0' if basisVec3 is not None: coordinatesPrime = symOp.transformCoordinates(basisVec3) basisVec3_str = unit3[0] + ',' + unit3[1] + ',' + str(coordinatesPrime.getX()) \ + ',' + str(coordinatesPrime.getY()) + ',' + str(coordinatesPrime.getZ()) + ',' + '0' self._binned_ws += BinMD(InputWorkspace=mdws, AxisAligned=axisAligned, BasisVector0=basisVec0_str, BasisVector1=basisVec1_str, BasisVector2=basisVec2_str, BasisVector3=basisVec3_str, NormalizeBasisVectors=normalizeBasisVectors, Translation=translation, OutputExtents=outputExtents, OutputBins=outputBins) return
def test_creation(self): self.assertRaises(RuntimeError, SymmetryOperationFactory.createSymOp, "none") SymmetryOperationFactory.createSymOp("x,y,-z")
def test_getInfo(self): symOp = SymmetryOperationFactory.createSymOp("x, y, -z") self.assertEquals(symOp.getOrder(), 2) self.assertEquals(symOp.getIdentifier(), "x,y,-z")
def test_creation_no_rotation(self): symOpNone = SymmetryOperationFactory.createSymOp("-x,-y,-z") symEleNone = SymmetryElementFactory.createSymElement(symOpNone) self.assertEquals(symEleNone.getRotationSense(), SymmetryElement.RotationSense.NoRotation)
def test_creation_no_axis(self): symOp = SymmetryOperationFactory.createSymOp("-x,-y,-z") symEle = SymmetryElementFactory.createSymElement(symOp) self.assertEquals(symEle.getHMSymbol(), "-1") self.assertEquals(symEle.getAxis(), V3D(0,0,0))
def test_creation_no_axis(self): symOp = SymmetryOperationFactory.createSymOp("-x,-y,-z") symEle = SymmetryElementFactory.createSymElement(symOp) self.assertEquals(symEle.getHMSymbol(), "-1") self.assertEquals(symEle.getAxis(), V3D(0, 0, 0))