43 lines
1.2 KiB
Python
Executable File
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)
|
|
|
|
|