Files
sf-op/script/SchottkyICT.py
2016-09-07 19:04:49 +02:00

124 lines
3.8 KiB
Python

# Tool to align the solenoid on the gun.
# S. Bettoni, A. Gobbo, D. Voulot
# 06/06/2016
#Code ok with the GUI
# Procedure:
# switch off all the magnets between the gun solenoid and the screen or BPM used for the measurement
# change the current of the gun soleoid
# look at the centroid position (BPM or screen) downstream of the gun.
import datetime
knob = Channel("SINEG01-RSYS:SET-BEAM-PHASE", 'd', alias = "RF phase")
instrument = Channel("SINEG01-DICT215:CHARGE", 'd', alias = "Bunch Charge (ICT)")
r = lscan(knob, [instrument], -120., 60., 10.,2.0)
elog("SchottkyICT", "Data file: " + get_context().path + "\n\n" + r.print() , get_plot_snapshots())
#use_bpm = True
#
##if get_context().source == CommandSource.ui:
# phi1 = -60
# phi2 = -40
# dphi = 1.0
# settling_time = 0.1
# plot_image = False
# number_images = 5
# use_background = True
# multiple_background = False
# number_backgrounds = 5
# do_elog = False
# centroid_excursion_plot = True
#
#print "Parameters: ", phi1, phi2, dphi, settling_time
#
#plot_name = datetime.datetime.fromtimestamp(time.time()).strftime('%H%M%S')
#
#
#if (use_bpm):
# add_device(BpmStats("image_stats", "SINEG01-DBPM340"), True)
# use_background = False
# multiple_background = False
#else:
# if get_device("image_stats") is None:
# print "Instantiating camtool"
# add_device(CamTool("image_stats", prefix = "SINEG01-DSCR190:", latch = True, camera = "SINEG01-DSCR190"), True)
# if (image_stats.latch):
# image_stats.start()
#add_device(ImageStats("image_stats", get_simulated_source(image)), True)
#
#image_stats.setNumberOfImages(max(number_images,1))
#image_stats.enableBackground (use_background)
#if use_background:
# laser_off()
# if not multiple_background:
# image_stats.captureBackground(number_backgrounds)
#
## Switch off magnets
##mag = [ "SINEG01-MCRX120","SINEG01-MCRY120",
## "SINEG01-MQUA140",
## "SINEG01-MQUA150",
## "SINEG01-MCRX160","SINEG01-MCRY160",
## "SINEG01-MCRX180","SINEG01-MCRY180",
## "SINEG01-MCRX200","SINEG01-MCRY200",
## "SINEG01-MCRX220","SINEG01-MCRY220",
## "SINEG01-MQUA310",
## "SINEG01-MQUA320" ]
#
##switch_off_magnets(mag)
#
## add here gun phase setting see wiki page
#
#def before_sample():
# if multiple_background:
# image_stats.captureBackground(number_backgrounds)
# laser_on()
# image_stats.update()
#
#def after_sample():
# if multiple_background:
# laser_off()
#
#r = None
#if not multiple_background:
# laser_on()
#
#try:
# #sensors = [image_stats.com_x, image_stats.com_y]
# #sensors = [image_stats.com_x_mean, image_stats.com_y_mean, image_stats.com_x_stdev, image_stats.com_y_stdev]
# sensors = [bpm_q]
# #if plot_image:
# # sensors.append(image_stats.image)
# r = lscan(gun_solenoid, sensors , I1, I2, dI, settling_time, before_read = before_sample, after_read = after_sample)
#finally:
# #laser_off()
# pass
#
##image_stats.stop()
#
#
## take the result of the scan and generate convex hull plot
##if centroid_excursion_plot:
## (hx,hy)=add_convex_hull_plot ("Centroid excursion", r.getReadable(0),r.getReadable(1), plot_name)
##else:
## (hx,hy)= convex_hull(x=r.getReadable(0), y=r.getReadable(1))
## hx.append(hx[0]); hy.append(hy[0])
#
## save the entry in the logbook
#gsa_log_msg = "Data file: " + get_context().path
#gsa_log_msg = gsa_log_msg + "\nImages: " + str(number_images)
#gsa_log_msg = gsa_log_msg + "\nBackground: enabled=" + str(use_background) + " multiple=" + str(multiple_background) + " number=" + str(number_backgrounds)
#gsa_log_msg = gsa_log_msg + "\n\n" + r.print()
#if do_elog:
# elog("Gun solenoid current scan", gsa_log_msg , get_plot_snapshots())
#
#_ = [r, hx, hy]
#set_return([r, hx, hy])
#
#