34 lines
936 B
Python
34 lines
936 B
Python
import ch.psi.pshell.epics.ChannelDouble as ChannelDouble
|
|
|
|
t = ChannelDouble("fine delay (ns)", "SINEG01-DICT215:Pul1-Delay-SP-SIM")
|
|
q = ChannelDouble("charge (pC)", "SINEG01-DICT215:AL1-ICT-CHARGE-SIM")
|
|
V = ChannelDouble("DC output (V)", "SINEG01-DICT215:AL1-ICT-VOLTAGE-SIM")
|
|
t.initialize()
|
|
q.initialize()
|
|
V.initialize()
|
|
|
|
t0 = t.read()
|
|
|
|
start = 0.0
|
|
stop = 10.0
|
|
step = 0.1
|
|
nb = 2
|
|
lat = 0.080
|
|
|
|
|
|
try:
|
|
q_averager = create_averager(q, nb, lat)
|
|
V_averager = create_averager(V, nb, lat)
|
|
V_averager.monitored=True
|
|
r = lscan(t, (q_averager, V_averager), start, stop, step, latency=lat)
|
|
delay = r.getPositions(0)
|
|
charge = [val.mean for val in r.getReadable(0)]
|
|
chargerms = [val.stdev for val in r.getReadable(0)]
|
|
volt = [val.mean for val in r.getReadable(1)]
|
|
voltrms = [val.stdev for val in r.getReadable(1)]
|
|
finally:
|
|
t.write(t0)
|
|
t.close()
|
|
q.close()
|
|
V.close()
|