コード例 #1
0
ファイル: daq_lib.py プロジェクト: cowanml/lsdc
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)
コード例 #2
0
ファイル: daq_lib.py プロジェクト: cowanml/lsdc
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))
コード例 #3
0
ファイル: gon_lib.py プロジェクト: cowanml/lsdc
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
コード例 #4
0
ファイル: daq_lib.py プロジェクト: cowanml/lsdc
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")