Files
saresb/script/test/test_energy_scan.py
2021-04-28 09:14:56 +02:00

43 lines
1.2 KiB
Python
Executable File

if get_exec_pars().source == CommandSource.ui:
E_OFF = None
E_FROM = 7200
E_TO = 7340
STEPS = 10
NUM_SHOTS= 3
PLOT=None
run("cpython/wrapper")
class Positioner(Writable):
def write(self, value):
pass
av = create_averager(psss_spectrum_y,NUM_SHOTS,interval=-1,name="spectrum_average")
av_samples = av.samples
av_samples.alias = "spectrum_samples"
sensors = (av, av_samples)
#r=tscan(sensors, STEPS, 0.1)
r=lscan(Positioner(),sensors, 10, 10+STEPS, STEPS)
average, samples, pos_range= r.getReadable(0), r.getReadable(1), r.getPositions(0)
#[amp, mean_val, sigma, offset],ydata = fit_energy(E_FROM, E_TO, STEPS +1, NUM_SHOTS, samples)
#[amp, mean_val, sigma, offset],ydata = fit_crystal_height(E_FROM, E_TO, STEPS+1, samples)
#if (mean_val<= E_FROM) or (mean_val>= E_TO):
# raise Exception ("Invalid fit mean: " + str(mean_val))
signal_centre, ydata = get_signal_centre(samples, pos_range)
#plot_gauss_fit(pos_range, ydata, gauss_pars=(offset, amp, mean_val, sigma), p=PLOT, title = "Data")
#plot_gauss_fit(pos_range, ydata, gauss_pars=None, p=PLOT, title = "Data")
#PLOT.clear()
#plot_data(PLOT, ydata, "Data", xdata=pos_range, show_points = True, color=Color.BLUE)