This commit is contained in:
2018-04-18 11:35:06 +02:00
parent 493f67fbca
commit 11551b6387

View File

@@ -16,7 +16,7 @@
###################################################################################################
#1- Create a MontorGroup with the diffractometer motors
# e.g. 'sixc', containing mu, delta, gam, eta, chi, phi motors
# e.g. 'sixc', containing mu, delta, gam, eta, chi, phi motors (gam = nu)
# or 'fivec', containing delta, gam, eta, chi, phi motors
# or 'fourc', containing delta, eta, chi, phi motors
#2- Create positioner to read/set the energy in kEv, e.g. named 'en'
@@ -56,9 +56,9 @@ import ch.psi.pshell.device.Register as Register
# Device mapping to difcalc
###################################################################################################
class PositionerScannable(ScannableBase):
def __init__(self, positioner):
def __init__(self, positioner, name = None):
self.positioner = positioner
self.name = positioner.name
self.name = positioner.name if name is None else name
self.inputNames = [self.name]
self.outputFormat = ['% 6.4f']
self.level = 3
@@ -82,27 +82,27 @@ class PositionerScannableGroup(ScannableGroup):
self.name = name
if len(motors)==6:
[mu, delta, gam, eta, chi, phi] = motors
self.mu = PositionerScannable(mu)
self.delta = PositionerScannable(delta)
self.gam = PositionerScannable(gam)
self.eta = PositionerScannable(eta)
self.chi = PositionerScannable(chi)
self.phi = PositionerScannable(phi)
self.mu = PositionerScannable(mu, "mu")
self.delta = PositionerScannable(delta, "delta")
self.gam = PositionerScannable(gam, "gam")
self.eta = PositionerScannable(eta, "eta")
self.chi = PositionerScannable(chi, "chi")
self.phi = PositionerScannable(phi, "phi")
ScannableGroup.__init__(self, self.name, [self.mu, self.delta, self.gam, self.eta, self.chi, self.phi])
elif len(motors)==5:
[delta, gam, eta, chi, phi] = motors
self.delta = PositionerScannable(delta)
self.gam = PositionerScannable(gam)
self.eta = PositionerScannable(eta)
self.chi = PositionerScannable(chi)
self.phi = PositionerScannable(phi)
self.delta = PositionerScannable(delta, "delta")
self.gam = PositionerScannable(gam, "gam")
self.eta = PositionerScannable(eta, "eta")
self.chi = PositionerScannable(chi, "chi")
self.phi = PositionerScannable(phi, "phi")
ScannableGroup.__init__(self, self.name, [self.delta, self.gam, self.eta, self.chi, self.phi])
elif len(motors)==4:
[delta, eta, chi, phi] = motors
self.delta = PositionerScannable(delta)
self.eta = PositionerScannable(eta)
self.chi = PositionerScannable(chi)
self.phi = PositionerScannable(phi)
self.delta = PositionerScannable(delta, "delta")
self.eta = PositionerScannable(eta, "eta")
self.chi = PositionerScannable(chi, "chi")
self.phi = PositionerScannable(phi, "phi")
ScannableGroup.__init__(self, self.name, [self.delta, self.eta, self.chi, self.phi])
class MotorGroupScannable(PositionerScannableGroup):
@@ -411,4 +411,4 @@ def test_difcalc():
lscan(l, [sin], 1.0, 1.5, 0.1)
ascan([k,l], [sin], [1.0, 1.0], [1.2, 1.3], [0.1, 0.1], zigzag=True, parallel_positioning = False)
vector = [[1.0,1.0,1.0], [1.0,1.0,1.1], [1.0,1.0,1.2], [1.0,1.0,1.4]]
hklscan(vector, [sin, arr], 0.9)
hklscan(vector, [sin, arr], 0.9)