def new(self, parameters): self.clear() # pylint: disable=pointless-string-statement """Accepts several ways to spell new cell params.""" lattice = parameters.pop('lattice', None) if lattice is not None: try: parameters['a'], parameters['b'], parameters['c'] = lattice except Exception: self.log.warning('invalid lattice spec ignored, should be ' '[a, b, c]') angles = parameters.pop('angles', None) if angles is not None: try: parameters['alpha'], parameters['beta'], \ parameters['gamma'] = angles except Exception: self.log.warning('invalid angles spec ignored, should be ' '[alpha, beta, gamma]') self.a = parameters.pop('a', None) if self.a is None: if 'cell' not in parameters: self.log.warning('using dummy lattice constant of 5 A') self.a = 5.0 self.b = parameters.pop('b', self.a) self.c = parameters.pop('c', self.a) self.alpha = parameters.pop('alpha', 90.0) self.beta = parameters.pop('beta', 90.0) self.gamma = parameters.pop('gamma', 90.0) self.bravais = parameters.pop('bravais', 'P') self.laue = parameters.pop('laue', '1') Sample.new(self, parameters)
def new(self, parameters): """Accepts several ways to spell new cell params.""" lattice = parameters.pop('lattice', None) if lattice is not None: try: parameters['a'], parameters['b'], parameters['c'] = lattice except Exception: self.log.warning('invalid lattice spec ignored, should be ' '[a, b, c]') angles = parameters.pop('angles', None) if angles is not None: try: parameters['alpha'], parameters['beta'], \ parameters['gamma'] = angles except Exception: self.log.warning('invalid angles spec ignored, should be ' '[alpha, beta, gamma]') a = parameters.pop('a', None) if a is None: if 'cell' not in parameters: self.log.warning('using dummy lattice constant of 5 A') a = 5.0 b = parameters.pop('b', a) c = parameters.pop('c', a) alpha = parameters.pop('alpha', 90.0) beta = parameters.pop('beta', 90.0) gamma = parameters.pop('gamma', 90.0) # TODO: map spacegroup/bravais/laue with triple-axis bravais = parameters.pop('bravais', 'P') laue = parameters.pop('laue', '1') if 'cell' not in parameters: parameters['cell'] = [a, b, c, alpha, beta, gamma, bravais, laue] Sample.new(self, parameters)
def clear(self): Sample.clear(self) self.lattice = [2 * pi, 2 * pi, 2 * pi] self.angles = [90, 90, 90] self.orient1 = [1, 0, 0] self.orient2 = [0, 1, 0] self.psi0 = 0.0 self.spacegroup = 1 # primitive triclinic, all reflexes allowed self.mosaic = 0.5
def _applyParams(self, number, parameters): """Apply sample parameters. """ Sample._applyParams(self, number, parameters) if 'length' in parameters: self.length = parameters['length'] if 'thickness' in parameters: self.thickness = parameters['thickness'] if 'height' in parameters: self.height = parameters['height'] if 'm' in parameters: self.m = parameters['m'] if 'alfa' in parameters: self.alfa = parameters['alfa'] if 'waviness' in parameters: self.waviness = parameters['waviness'] if 'rflfile' in parameters: self.rflfile = parameters['rflfile']
def clear(self): """Clear experiment-specific information.""" Sample.clear(self) self.cell = SXTalCell.fromabc(5) self.peaklists = {} self.poslists = {}
def _applyParams(self, number, parameters): Sample._applyParams(self, number, parameters) if 'cell' in parameters: self.cell = parameters['cell']
def _applyParams(self, number, parameters): """Apply sample parameters.""" NicosSample._applyParams(self, number, parameters) self.sampleid = parameters.get('id')
def clear(self): """Clear experiment-specific information.""" NicosSample.clear(self) self.sampleid = None
def _applyParams(self, number, parameters): if number > 0: # move sample changer to new position! sc = session.getDevice('SampleChanger') sc.maw(number) NicosSample._applyParams(self, number, parameters)
def new(self, parameters): if self.samplenumber is None: NicosSample.new(self, parameters) else: self.set(self.samplenumber, parameters) self._applyParams(self.samplenumber, parameters)
def _applyParams(self, number, parameters): Sample._applyParams(self, number, parameters) for key, value in parameters.items(): if key in ['lattice', 'angles', 'orient1', 'orient2', 'psi0', 'spacegroup', 'mosaic']: setattr(self, key, value)
def clear(self): """Clear experiment-specific information.""" Sample.clear(self) self.ubmatrix = None for rfl in self._attached_reflists: rfl.clear()
def _applyParams(self, number, parameters): Sample._applyParams(self, number, parameters)