Beispiel #1
0
 def __repr__(self):
     lines = ['hkl:']
     pos = self.diffhw.getPosition()
     try:
         (hkl, params) = self._diffcalc.angles_to_hkl(pos)
     except Exception, e:
         return "<hkl: %s>" % getMessageFromException(e)
Beispiel #2
0
 def __repr__(self):
     lines = ['hkl:']
     pos = self.diffhw.getPosition()
     try:
         (hkl, params) = self._diffcalc.angles_to_hkl(pos)
     except Exception, e:
         return "<hkl: %s>" % getMessageFromException(e)
 def simulateMoveTo(self, pos):
     if len(pos) != len(self.getInputNames()):
         raise ValueError('Wrong number of inputs')
     try:
         (hkl, params) = self.diffcalc.angles_to_hkl(pos)
     except Exception, e:
         return "Error: %s" % getMessageFromException(e)
Beispiel #4
0
 def simulateMoveTo(self, pos):
     if len(pos) != len(self.getInputNames()):
         raise ValueError('Wrong number of inputs')
     try:
         (hkl, params) = self.diffcalc_module.angles_to_hkl(pos)
     except Exception, e:
         return "Error: %s" % getMessageFromException(e)
Beispiel #5
0
    def _generatePositionReport(self, scannable):
        fieldNames = (tuple(scannable.getInputNames()) +
                      tuple(scannable.getExtraNames()))
        # All scannables
        result = "%s:" % scannable.getName()
        result = result.ljust(10)
        try:
            pos = scannable.getPosition()
        except Exception as e:
            return result + "Error: %s" % getMessageFromException(e)
        if pos is None:
            return result + "---"
        # Single field scannable:
        if len(fieldNames) == 1:
            try:
                result += "%s" % scannable.formatPositionFields(pos)[0]
            except AttributeError:
                result += str(scannable())
        # Multi field scannable:
        else:
            try:
                formatted = scannable.formatPositionFields(pos)
                for name, formattedValue in zip(fieldNames, formatted):
                    result += "%s: %s " % (name, formattedValue)
            except AttributeError:
                result += str(scannable())

        return result
Beispiel #6
0
 def __repr__(self):
     lines = ['%s:' % self.name]
     pos = self.diffhw.getPosition()
     try:
         (hkl, params) = self._diffcalc.angles_to_hkl(pos)
         scn_params = self.hkl_to_parameter(list(hkl))
     except Exception, e:
         return "<%s: %s>" % (self.name, getMessageFromException(e))
 def __repr__(self):
     lines = ['hkloffset:']
     pos = self.diffhw.getPosition()
     try:
         (hkl_pos, params) = self._diffcalc.angles_to_hkl(pos)
         pol, az, _ = self._diffcalc._ub.ubcalc.calc_offset_for_hkl(hkl_pos, self._hkl_reference)
     except Exception, e:
         return "<hkloffser: %s>" % getMessageFromException(e)
Beispiel #8
0
 def _generatePositionReport(self, scannable):
     fieldNames = (tuple(scannable.getInputNames()) +
                   tuple(scannable.getExtraNames()))
     # All scannables
     result = "%s:" % scannable.getName()
     result = result.ljust(10)
     try:
         pos = scannable.getPosition()
     except Exception, e:
         return result + "Error: %s" % getMessageFromException(e)
Beispiel #9
0
 def _generatePositionReport(self, scannable):
     fieldNames = (tuple(scannable.getInputNames()) +
                   tuple(scannable.getExtraNames()))
     # All scannables
     result = "%s:" % scannable.getName()
     result = result.ljust(10)
     try:
         pos = scannable.getPosition()
     except Exception, e:
         return result + "Error: %s" % getMessageFromException(e)
Beispiel #10
0
 def __repr__(self):
     lines = ['hkl:']
     pos = self.diffhw.getPosition()
     try:
         _hkl_ref = self._diffcalc._ub.ubcalc.get_reflection(1)[0]
     except IndexError:
         raise DiffcalcException("Please add one reference reflection into the reflection list.")
     try:
         (hkl_pos, params) = self._diffcalc.angles_to_hkl(pos)
         _, az, _ = self._diffcalc._ub.ubcalc.calc_offset_for_hkl(hkl_pos, _hkl_ref)
     except Exception, e:
         return "<sr2: %s>" % getMessageFromException(e)
Beispiel #11
0
    def __repr__(self):
        lines = ['hkl:']
        pos = self.diffhw.getPosition()
        try:
            (hkl, params) = self._diffcalc.angles_to_hkl(pos)
        except Exception as e:
            return "<hkl: %s>" % getMessageFromException(e)

        width = max(len(k) for k in params)
        lines.append('  ' + self.name.rjust(width) + ' : %9.4f  %.4f  %.4f' % (hkl[0], hkl[1], hkl[2]))
        lines[-1] = lines[-1] + '\n'
        fmt = '  %' + str(width) + 's : % 9.4f'
        for k in sorted(params):
            lines.append(fmt % (k, params[k]))
        lines.extend(["", self.diffhw.getName() + ":"])
        for idx, name in enumerate(self.diffhw.getInputNames()):
            lines.append(fmt % (name, pos[idx]))
        return '\n'.join(lines)
Beispiel #12
0
    def simulateMoveTo(self, pos):
        if len(pos) != len(self.getInputNames()):
            raise ValueError('Wrong number of inputs')
        try:
            (hkl, params) = self.diffcalc_module.angles_to_hkl(pos)
        except Exception as e:
            return "Error: %s" % getMessageFromException(e)
        width = max(len(k) for k in params)

        lines = ([
            '  ' + 'hkl'.rjust(width) + ' : % 9.4f  %.4f  %.4f' %
            (hkl[0], hkl[1], hkl[2])
        ])
        lines[-1] = lines[-1] + '\n'
        fmt = '  %' + str(width) + 's : % 9.4f'
        for k in sorted(params):
            lines.append(fmt % (k, params[k]))
        return '\n'.join(lines)
Beispiel #13
0
    def __repr__(self):
        lines = ['hkl:']
        pos = self.diffhw.getPosition()
        try:
            _hkl_ref = self._diffcalc._ub.ubcalc.get_reflection(1)[0]
        except IndexError:
            raise DiffcalcException("Please add one reference reflection into the reflection list.")
        try:
            (hkl_pos, params) = self._diffcalc.angles_to_hkl(pos)
            _, az, _ = self._diffcalc._ub.ubcalc.calc_offset_for_hkl(hkl_pos, _hkl_ref)
        except Exception as e:
            return "<sr2: %s>" % getMessageFromException(e)

        width = max(len(k) for k in params)
        lines.append('  ' + 'sr2'.rjust(width) + ' : %9.4f  %.4f  %.4f  %.4f' % (hkl_pos[0],
                                                                                       hkl_pos[1],
                                                                                       hkl_pos[2],
                                                                                       az * TODEG))
        lines[-1] = lines[-1] + '\n'
        fmt = '  %' + str(width) + 's : % 9.4f'
        for k in sorted(params):
            lines.append(fmt % (k, params[k]))
        return '\n'.join(lines)