def testScalarProduct(self): vector_1 = Vector(1, 2, 3) vector_2 = Vector(-1, 2, 1) vector_3 = Vector(-1, 2, -1) result = vector_1.scalarProduct(vector_2) self.assertAlmostEqual(result, 6) result = vector_1.scalarProduct(vector_3) self.assertAlmostEqual(result, 0)
def asymmetryFactor(self, energy, vector_k_in=None): if vector_k_in is None: vector_k_in = self.vectorK0(energy) v2 = vector_k_in.addVector(self.vectorKh(energy)).subtractVector( self.vectorK0(energy)) # ! asymmetry b factor vectorial value (Zachariasen, [3.115]) numerator = Vector.scalarProduct(self.vectorNormalSurface(), vector_k_in) denominator = Vector.scalarProduct(self.vectorNormalSurface(), v2) return numerator / denominator