Files
x04sa-es3/script/test/TestFourcvTiny.py
gac-x04sa 118e2ea43a Closedown
2018-08-23 15:28:56 +02:00

105 lines
3.2 KiB
Python

run("diffutils")
###################################################################################################\
#Setup
###################################################################################################
class FourCircleX04SA_V(YouGeometry):
"""For a diffractometer with angles:
mu, delta, nu, eta
alpha delta gamma omegaV
"""
def __init__(self):
#YouGeometry.__init__(self, 'fourcv', {'phi': 0, 'chi': 0, 'eta': 0,})
YouGeometry.__init__(self, 'fourcv', {'phi': 0, 'chi': 0})
#diffcalc.hkl.you.constraints.NUNAME = 'gam'
def physical_angles_to_internal_position(self, physical_angle_tuple):
# mu, delta, nu, eta, chi, phi
mu, delta, nu, eta = physical_angle_tuple
return YouPosition(mu, delta, nu, eta, 0, 0)
def internal_position_to_physical_angles(self, internal_position):
mu, delta, nu, eta, _, _ = internal_position.totuple()
return mu, delta, nu, eta
#alpha, delta, gamma, omegaV
setup_diff(fourcv, energy, ("mu", "delta", "gam", "eta"), FourCircleX04SA_V())
print_axis_setup()
setup_axis(alpha, alpha.getMinValue(), alpha.getMaxValue())
setup_axis(delta, delta.getMinValue(), 90) #delta.getMaxValue())
setup_axis(gamma, gamma.getMinValue(), gamma.getMaxValue())
setup_axis(omegaV, omegaV.getMinValue(), omegaV.getMaxValue())
###################################################################################################\
#Orientation
###################################################################################################
help(ub.ub)
ub.listub()
#alpha delta gamma omegaV
# Create a new ub calculation and set lattice parameters
ub.newub('test')
"""
ub.setlat('cubic', 11.058, 5.8361, 5.114, 90, 90, 90)
en = 1.5498
#ub.c2th([0, 0, 4], en)
ub.addref([0, 0, 4], [16.2785, 0.0, 32.5568, 0.0], en)
#ub.c2th([2, 0, 12], en)
ub.addref([2, 0, 12], [71.8285, 37.3082, 138.7440, 0.0], en)
#ub.c2th([1, -4, 10], en)
ub.addref([1, -4, 10], [27.7185, 17.6408 , 128.4220, 0.0], en)
ub.ub()
#ub.setub([[1.22862 ,0.00000,0.00000], [-0.00000,1.07663,0.00000], [-0.00000,-0.00000,0.56820]])
"""
ub.setlat('cubic', 5.114, 5.8361, 11.058, 90, 90, 90)
en = 1.5498
#en=8
#ub.c2th([0, 0, 4], en)
ub.addref([0, 0, 4], [16.2785, 0.0, 32.5568, 0.0], en)
#ub.c2th([2, 0, 12], en)
ub.addref([2, 0, 12], [71.8285, 37.3082, 138.7440, 0.0], en)
#ub.c2th([1, -4, 10], en)
ub.addref([1, -4, 10], [27.7185, 17.6409 , 128.4220, 0.0], en)
ub.ub()
#ub.setub([[1.22862,0.00000,0.00000], [-0.00000,1.07663,0.00000], [-0.00000,-0.00000,0.56820]])
# check the state
ub.checkub()
###################################################################################################\
#Constraints
###################################################################################################
help(hkl.con)
#hkl.con('a_eq_b')
#hkl.con('eta:0')
hkl.con( 'eta', 0)
###################################################################################################\
#Motion
###################################################################################################
#print angles_to_hkl((16.278, 0.0000, 32.5568, 0.0))
print angles_to_hkl((44.3400, 0.0000, 123.7322 , 0.0))
print hkl_to_angles(2, -2, 10)