Startup
This commit is contained in:
59
script/Diagnostics/ICT_timing.py
Normal file
59
script/Diagnostics/ICT_timing.py
Normal file
@@ -0,0 +1,59 @@
|
||||
import ch.psi.pshell.epics.ChannelDouble as ChannelDouble
|
||||
|
||||
run("CPython/wrapper")
|
||||
|
||||
#t = ChannelDouble("delay (us)", "SINEG01-DICT009-EVR0:Pul0-Delay-SP")
|
||||
#t = ChannelDouble("fine delay (ns)", "SINEG01-DICT009-EVR0:UnivDlyModule0-Delay0-SP")
|
||||
#q = ChannelDouble("charge (pC)", "SINEG01-DICT215:B1_CHARGE")
|
||||
#V = ChannelDouble("DC output (V)", "SINEG01-DICT215:B1_VOLTAGE")
|
||||
#t = ChannelDouble("delay (us)", "S10DI01-DICT113-EVR0:Pul0-Delay-SP")
|
||||
#t = ChannelDouble("fine delay (ns)", "S10DI01-DICT113-EVR0:UnivDlyModule0-Delay0-SP")
|
||||
#q = ChannelDouble("charge (pC)", "S10DI01-DICT025:B1_CHARGE")
|
||||
#V = ChannelDouble("DC output (V)", "S10DI01-DICT025:B1_VOLTAGE")
|
||||
#t = ChannelDouble("delay (us)", "SARMA01-DICT482-EVR0:Pul0-Delay-SP")
|
||||
#t = ChannelDouble("fine delay (ns)", "SARMA01-DICT482-EVR0:UnivDlyModule0-Delay0-SP")
|
||||
#q = ChannelDouble("charge (pC)", "SARMA01-DICT090:B1_CHARGE")
|
||||
#t = ChannelDouble("delay (us)", "SARBD01-DICT599-EVR0:Pul0-Delay-SP")
|
||||
t = ChannelDouble("fine delay (ns)", "SARBD01-DICT599-EVR0:UnivDlyModule0-Delay0-SP")
|
||||
q = ChannelDouble("charge (pC)", "SARBD01-DICT030:B1_CHARGE")
|
||||
V = ChannelDouble("DC output (V)", "SARBD01-DICT030:B1_VOLTAGE")
|
||||
t.initialize()
|
||||
q.initialize()
|
||||
V.initialize()
|
||||
|
||||
t0 = t.read()
|
||||
|
||||
#start = 1003.000
|
||||
#stop = 1003.080
|
||||
#step = 0.001
|
||||
#nb = 1
|
||||
#lat = 0.300
|
||||
start = 2.2
|
||||
stop = 12.7
|
||||
step = 0.1
|
||||
nb = 5
|
||||
lat = 0.150
|
||||
|
||||
|
||||
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()
|
||||
try:
|
||||
i_max = charge.index(max(charge))
|
||||
min_i, max_i = max(i_max-10, 0), min(i_max+11, len(charge))
|
||||
(delay_charge_max, charge_max, delay_charge_fit, charge_fit) = extremum(delay[min_i:max_i], charge[min_i:max_i])
|
||||
print delay_charge_max, charge_max
|
||||
except:
|
||||
raise Exception("Fit failure")
|
||||
39
script/Diagnostics/ICT_timing_rough.py
Normal file
39
script/Diagnostics/ICT_timing_rough.py
Normal file
@@ -0,0 +1,39 @@
|
||||
import ch.psi.pshell.epics.ChannelDouble as ChannelDouble
|
||||
|
||||
dev_name = "SINEG01-DICT009"
|
||||
base_name = "SINEG01-DICT215"
|
||||
|
||||
#t = ChannelDouble("delay (us)", "SINEG01-DICT009-EVR0:Pul0-Delay-SP")
|
||||
#q = ChannelDouble("charge (pC)", "SINEG01-DICT215:B1_CHARGE")
|
||||
#V = ChannelDouble("DC output (V)", "SINEG01-DICT215:B1_VOLTAGE")
|
||||
t = ChannelDouble("delay (us)", "S10DI01-DICT113-EVR0:Pul0-Delay-SP")
|
||||
q = ChannelDouble("charge (pC)", "S10DI01-DICT025:B1_CHARGE")
|
||||
V = ChannelDouble("DC output (V)", "S10DI01-DICT025:B1_VOLTAGE")
|
||||
t.initialize()
|
||||
q.initialize()
|
||||
V.initialize()
|
||||
|
||||
t0 = t.read()
|
||||
|
||||
start = 1001.340
|
||||
stop = 1001.400
|
||||
step = 0.001
|
||||
nb = 1
|
||||
lat = 0.300
|
||||
|
||||
|
||||
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()
|
||||
Reference in New Issue
Block a user