diff --git a/script/Electric_field_loop2.py b/script/Electric_field_loop2.py index 421dcf3..f8afb69 100644 --- a/script/Electric_field_loop2.py +++ b/script/Electric_field_loop2.py @@ -32,7 +32,7 @@ step_size = float(Max/No_of_steps); Noavg = 3; N_loops = 2; -loops=frange(1,N_loops,1); +loops=frange(0,N_loops,1); forward=frange(Min,Max,dB); reverse=frange(Max,Min,-dB); diff --git a/script/Electric_field_loop3.py b/script/Electric_field_loop3.py new file mode 100644 index 0000000..4e6cb3a --- /dev/null +++ b/script/Electric_field_loop3.py @@ -0,0 +1,138 @@ +import os +import traceback +import thread +import time + +import datetime + +#ID settings + +#Set PGM ID2 + +caput ("X11PHS-E:OPT","PGM+ID2") + +#set ID2 to C+ + + +OFFSETp = -1.9 +OFFSETm = -1.9 + +caput(OTF_MODE2,2) +caput(OTF_OFF2,OFFSETp) + +E1 = 779.3 # Edge +#E2 = 770 #preedge + + +# Voltage/magnetic field setting +Max = 10; +Min=-Max; +No_of_steps = 20; +step_size = float(Max/No_of_steps); +Noavg = 3; +N_loops = 2; + +loops=frange(0,N_loops,1); +forward=frange(Min,Max,dB); +reverse=frange(Max,Min,-dB); + +#print "forward = ", forward + +os.chdir("/sls/X11MA/data/X11MA/beamtime_december/") + +#forward loop +open_vg13() + +#for i in range(0,No_of_steps): +# B = -Max + 2*i*dB; +# print "Setting field = ", B +# caput("X11MA-XMCD:I-SETraw",B) + +print "Setting energy = ", E1 +caput(OTF_ESET, E1) +wait_channel(OTF_DONE, 1, type = 'i') +readback2 = energy.read() +sleep(3); + +output_path = ""/sls/X11MA/data/X11MA/beamtime_december/"" +#output_path = input_path #+file_Data1/beamtime_oct2017prefix+"/" #"/sls/X11MA/Data1/public/e10989/"+file_prefix+"/" +file_prefix = time.strftime("%Y%m%d") +fid = get_next_fid(output_path, "me" + file_prefix) +suffix = ("%03d" % fid) +output_file = output_path + "me" + file_prefix + "_" + suffix + +for k in range(0,20): + print "Setting field = ", k*Min/20 + caput("X11MA-XMCD:I-SETraw", k*Min/20) + sleep(0.3); + +for k in range(0,len(loops)): + #filename=open(output_file + "_" + k + ".dat","a") + filename=open("data"+file_prefix+time_prefix+"scan_"+str(k)+".txt","a") + for i in range(0,len(forward)): + print "Setting field = ", forward[i] + caput("X11MA-XMCD:I-SETraw",forward[i]) + temp_tey=0; + temp_tey_E2 = 0; + ADC2_temp_E1=0; + ADC1_temp_E1=0; + ADC2_temp_E2=0; + ADC1_temp_E2=0; + for j in range(0,Noavg): + detector1 = keithley_1a.read() #Keithley1 + detector2 = keithley_2a.read() #Keithley2 + M1 = float(detector2)/float(detector1) + temp_tey=temp_tey+M1; + ADC2_temp_E1=ADC2_temp_E1+detector2; + ADC1_temp_E1=ADC1_temp_E1+detector1; + tey_norm_E1=temp_tey/Noavg; + ADC2_E1=ADC2_temp_E1/Noavg; + ADC1_E1=ADC1_temp_E1/Noavg; + detector4 = caget(OTF_MODE2) + filename.write("%f %f %e %e %s \n" %(forward[i], E1, ADC2_E1, tey_norm_E1, detector4)); + +#reverse loop + + for i in range(0,len(reverse)): + print "Setting field = ", reverse[i] + caput("X11MA-XMCD:I-SETraw",reverse[i]) + temp_tey=0; + temp_tey_E2 = 0; + ADC2_temp_E1=0; + ADC1_temp_E1=0; + ADC2_temp_E2=0; + ADC1_temp_E2=0; + + for j in range(0,Noavg): + detector1 = keithley_1a.read() #Keithley1 + detector2 = keithley_2a.read() #Keithley2 + M1 = float(detector2)/float(detector1) + temp_tey=temp_tey+M1; + ADC2_temp_E1=ADC2_temp_E1+detector2; + ADC1_temp_E1=ADC1_temp_E1+detector1; + + tey_norm_E1=temp_tey/Noavg; + ADC2_E1=ADC2_temp_E1/Noavg; + ADC1_E1=ADC1_temp_E1/Noavg; + detector4 = caget(OTF_MODE2) + + filename.write("%f %f %e %e %s \n" %(forward[i], E1, ADC2_E1, tey_norm_E1, detector4)); + + filename.close(); + +for k in range(0,20): + print "Setting field = ", (20-k)*Min/20 + caput("X11MA-XMCD:I-SETraw", (20-k)*Min/20) + sleep(0.1); + +close_vg13() + +#plot(data"+file_prefix", title = "2d", xdata = B, ydata = data_y) + +# plot properties +set_preference(Preference.ENABLED_PLOTS, ['forward', 'tey_norm']) +set_preference(Preference.PLOT_TYPES, {'tey_norm':1}) + +print "Data saved in data "+output_file + "_" + "xxx" + ".dat"+"" + + \ No newline at end of file diff --git a/script/Electric_field_loop4.py b/script/Electric_field_loop4.py new file mode 100644 index 0000000..4d2b122 --- /dev/null +++ b/script/Electric_field_loop4.py @@ -0,0 +1,147 @@ +import os +import traceback +import thread +import time + +import datetime + +#ID settings + +#Set PGM ID2 + +caput ("X11PHS-E:OPT","PGM+ID2") + +#set ID2 to C+ + + +OFFSETp = -1.9 +OFFSETm = -1.9 + +caput(OTF_MODE2,2) +caput(OTF_OFF2,OFFSETp) + +E1 = 779.3 # Edge +#E2 = 770 #preedge + + +# Voltage/magnetic field setting +Max = 10; +Min=-Max; +No_of_steps = 20; +step_size = float(Max/No_of_steps); +Noavg = 3; +N_loops = 2; + +loops=frange(0,N_loops,1); +forward=frange(Min,Max,dB); +reverse=frange(Max,Min,-dB); + +#print "forward = ", forward + +os.chdir("/sls/X11MA/data/X11MA/beamtime_december/") + +#forward loop +open_vg13() + +#for i in range(0,No_of_steps): +# B = -Max + 2*i*dB; +# print "Setting field = ", B +# caput("X11MA-XMCD:I-SETraw",B) + +print "Setting energy = ", E1 +caput(OTF_ESET, E1) +wait_channel(OTF_DONE, 1, type = 'i') +readback2 = energy.read() +sleep(3); + +#output_path = ""/sls/X11MA/data/X11MA/beamtime_december/"" +#output_path = input_path #+file_Data1/beamtime_oct2017prefix+"/" #"/sls/X11MA/Data1/public/e10989/"+file_prefix+"/" +#file_prefix = time.strftime("%Y%m%d") +#fid = get_next_fid(output_path, "me" + file_prefix) +#suffix = ("%03d" % fid) +#output_file = output_path + "me" + file_prefix + "_" + suffix + + +for k in range(0,20): + print "Setting field = ", k*Min/20 + caput("X11MA-XMCD:I-SETraw", k*Min/20) + sleep(0.3); + +for k in range(0,len(loops)): + file_prefix = time.strftime("%y%m%d") + ts=time.time(); + time_prefix = datetime.datetime.fromtimestamp(ts).strftime('%H%M%S') + filename=open("data"+file_prefix+time_prefix+"scan_"+str(k)+".txt","a") + + for i in range(0,len(forward)): + print "Setting field = ", forward[i] + caput("X11MA-XMCD:I-SETraw",forward[i]) + + temp_tey=0; + temp_tey_E2 = 0; + ADC2_temp_E1=0; + ADC1_temp_E1=0; + ADC2_temp_E2=0; + ADC1_temp_E2=0; + + + for j in range(0,Noavg): + detector1 = keithley_1a.read() #Keithley1 + detector2 = keithley_2a.read() #Keithley2 + M1 = float(detector2)/float(detector1) + temp_tey=temp_tey+M1; + ADC2_temp_E1=ADC2_temp_E1+detector2; + ADC1_temp_E1=ADC1_temp_E1+detector1; + + tey_norm_E1=temp_tey/Noavg; + ADC2_E1=ADC2_temp_E1/Noavg; + ADC1_E1=ADC1_temp_E1/Noavg; + detector4 = caget(OTF_MODE2) + + filename.write("%f %f %e %e %s \n" %(forward[i], E1, ADC2_E1, tey_norm_E1, detector4)); + +#reverse loop + + for i in range(0,len(reverse)): + print "Setting field = ", reverse[i] + caput("X11MA-XMCD:I-SETraw",reverse[i]) + temp_tey=0; + temp_tey_E2 = 0; + ADC2_temp_E1=0; + ADC1_temp_E1=0; + ADC2_temp_E2=0; + ADC1_temp_E2=0; + + for j in range(0,Noavg): + detector1 = keithley_1a.read() #Keithley1 + detector2 = keithley_2a.read() #Keithley2 + M1 = float(detector2)/float(detector1) + temp_tey=temp_tey+M1; + ADC2_temp_E1=ADC2_temp_E1+detector2; + ADC1_temp_E1=ADC1_temp_E1+detector1; + + tey_norm_E1=temp_tey/Noavg; + ADC2_E1=ADC2_temp_E1/Noavg; + ADC1_E1=ADC1_temp_E1/Noavg; + detector4 = caget(OTF_MODE2) + + filename.write("%f %f %e %e %s \n" %(forward[i], E1, ADC2_E1, tey_norm_E1, detector4)); + + filename.close(); + +for k in range(0,20): + print "Setting field = ", (20-k)*Min/20 + caput("X11MA-XMCD:I-SETraw", (20-k)*Min/20) + sleep(0.1); + +close_vg13() + +#plot(data"+file_prefix", title = "2d", xdata = B, ydata = data_y) + +# plot properties +set_preference(Preference.ENABLED_PLOTS, ['forward', 'tey_norm']) +set_preference(Preference.PLOT_TYPES, {'tey_norm':1}) + +print "Data saved in data "+file_prefix+time_prefix+"" + + \ No newline at end of file