def set_vector_end(): global x_vec_end, y_vec_end, z_vec_end, x_vec, y_vec, z_vec, x_vec_start, y_vec_start, z_vec_start x_vec_end = beamline_lib.get_epics_motor_pos("X") y_vec_end = beamline_lib.get_epics_motor_pos("Y") z_vec_end = beamline_lib.get_epics_motor_pos("Z") x_vec = x_vec_end - x_vec_start y_vec = y_vec_end - y_vec_start z_vec = z_vec_end - z_vec_start trans_total = sqrt(x_vec**2 + y_vec**2 + z_vec**2) set_field("vector_translation",trans_total) print "translation total = " + str(trans_total)
def center_on_click(x,y,maglevel=0,source="screen",jog=0): #maglevel=0 means lowmag, high fov, #1 = himag with digizoom option, #source=screen = from screen click, otherwise from macro with full pixel dimensions if (source == "screen"): beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_scale","B",daq_utils.screenPixX) #these are video dimensions in the gui beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_scale","B",daq_utils.screenPixY) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_center","A",daq_utils.screenPixX/2) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_center","A",daq_utils.screenPixY/2) else: if (int(maglevel)==0): beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_scale","B",daq_utils.lowMagPixX) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_scale","B",daq_utils.lowMagPixY) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_center","A",daq_utils.lowMagPixX/2) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_center","A",daq_utils.lowMagPixY/2) else: beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_scale","B",daq_utils.highMagPixX) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_scale","B",daq_utils.highMagPixY) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_center","A",daq_utils.highMagPixX/2) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_center","A",daq_utils.highMagPixY/2) if (int(maglevel)==0): beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_scale","C",daq_utils.lowMagFOVx) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_scale","C",daq_utils.lowMagFOVy) else: if (beamline_support.get_any_epics_pv("FAMX-cam1:MJPGZOOM:NDArrayPort","VAL") == "ROI2"): beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_scale","C",daq_utils.highMagFOVx) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_scale","C",daq_utils.highMagFOVy) else: beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_X_scale","C",daq_utils.highMagFOVx/2.0) beamline_support.set_any_epics_pv(daq_utils.gonioPvPrefix+"image_Y_scale","C",daq_utils.highMagFOVy/2.0) omega_mod = beamline_lib.get_epics_motor_pos("Omega")%360.0 # daq_utils.broadcast_output("\ncenter on x = %s, y = %s, omega = %f, phi = %f\n" % (x,y,omega_mod,0)) lib_gon_center_xtal(x,y,omega_mod,0) if (jog): beamline_lib.mvr("Omega",float(jog))
def gon_osc(motname,angle_start,width,exptime): #I think angle_start goes nowhere dt_gon.dt_set_osc_width(float(width)) dt_gon.dt_set_osc_time(float(exptime)) dt_gon.dt_osc() # end_osc = get_epics_motor_pos("omega") end_osc = beamline_lib.get_epics_motor_pos("Omega") print "end_osc in gon_osc = " + str(end_osc) + "\n" return end_osc
def set_vector_start(): global x_vec_start, y_vec_start, z_vec_start x_vec_start = beamline_lib.get_epics_motor_pos("X") y_vec_start = beamline_lib.get_epics_motor_pos("Y") z_vec_start = beamline_lib.get_epics_motor_pos("Z")