Пример #1
0
def addCenterRectangle(instr, det, name, detinfo, index):
    # get the center
    center = ['x', 'y', 'z']
    center = [float(detinfo[item][index]) / 1000. for item in center]

    # create the two unit vectors
    u = Vector(detinfo["PUx"][index], detinfo["PUy"][index],
               detinfo["PUz"][index])
    v = Vector(detinfo["PVx"][index], detinfo["PVy"][index],
               detinfo["PVz"][index])

    # turn them into rotations
    (phi, chi, omega) = getEuler(u, v, degrees=True)
    rotations = [[phi, (0., 1., 0.)], [chi, (0., 0., 1.)],
                 [omega, (0., 1., 0.)]]

    print name, center
    print "     ", u.normalize(), v.normalize()
    print "     ", rotations
    makeLocation(instr, det, name, center, rotations)
Пример #2
0
def addCenterRectangle(instr, det, name, detinfo, index):
    # get the center
    center = ['x', 'y', 'z']
    center = [float(detinfo[item][index])/1000. for item in center]

    # create the two unit vectors
    u = Vector(detinfo["PUx"][index], detinfo["PUy"][index],
               detinfo["PUz"][index])
    v = Vector(detinfo["PVx"][index], detinfo["PVy"][index],
               detinfo["PVz"][index])

    # turn them into rotations
    (phi, chi, omega) = getEuler(u, v, degrees=True)
    rotations = [[phi,   (0., 1., 0.)],
                 [chi,   (0., 0., 1.)],
                 [omega, (0., 1., 0.)]]
    
    print name, center
    print "     ", u.normalize(), v.normalize()
    print "     ", rotations
    makeLocation(instr, det, name, center, rotations)
Пример #3
0
    def testVector(self):
        temp = Vector(100., 200., 300.)

        self.assertEqual(len(temp), 3)

        self.assertEqual(temp, (100., 200., 300.))
        self.assertEqual(temp.x, 100.)
        self.assertEqual(temp.y, 200.)
        self.assertEqual(temp.z, 300.)
        self.assertEqual(temp.x, temp[0])
        self.assertEqual(temp.y, temp[1])
        self.assertEqual(temp.z, temp[2])

        self.assertAlmostEqual(temp.length, 374.16573867739413)
        self.assertEqual(temp.normalize().length, 1.)
Пример #4
0
    def testVector(self):
        temp = Vector(100., 200., 300.)

        self.assertEqual(len(temp), 3)

        self.assertEqual(temp, (100., 200., 300.))
        self.assertEqual(temp.x, 100.)
        self.assertEqual(temp.y, 200.)
        self.assertEqual(temp.z, 300.)
        self.assertEqual(temp.x, temp[0])
        self.assertEqual(temp.y, temp[1])
        self.assertEqual(temp.z, temp[2])

        self.assertAlmostEqual(temp.length, 374.16573867739413)
        self.assertEqual(temp.normalize().length, 1.)