Beispiel #1
0
def decode_reference(ref_dict, ref_vector, flg):
    reference = YouReference(None)  # TODO: We can't set get_ub method yet (tangles!)
    if ref_dict:   
        nhkl = ref_dict.get('n_hkl_configured', None)
        nphi = ref_dict.get('n_phi_configured', None)
        if nhkl:
            reference._set_n_hkl_configured(matrix([eval(nhkl)]).T)
        elif nphi:
            reference._set_n_phi_configured(matrix([eval(nphi)]).T)
        elif flg:
            reference._set_n_hkl_configured(ref_vector)
        else:
            reference._set_n_phi_configured(ref_vector)
    return reference
Beispiel #2
0
 def _clear(self, name=None):
     # NOTE the Diffraction calculator is expecting this object to exist in
     # the long run. We can't remove this entire object, and recreate it.
     # It also contains a required link to the angle calculator.
     reflist = ReflectionList(
         settings.geometry,
         self._get_diffractometer_axes_names(),
         multiplier=settings.hardware.energyScannableMultiplierToGetKeV)
     orientlist = OrientationList(settings.geometry,
                                  self._get_diffractometer_axes_names())
     reference = YouReference(self._get_UB)
     reference._set_n_hkl_configured(settings.reference_vector)
     surface = YouReference(self._get_UB)
     surface._set_n_phi_configured(settings.surface_vector)
     self._state = UBCalcState(name=name,
                               reflist=reflist,
                               orientlist=orientlist,
                               reference=reference,
                               surface=surface)
     self._U = None
     self._UB = None
     self._state.configure_calc_type()