Beam monitor #9

Merged
glavic_a merged 4 commits from beam_monitor into main 2026-08-27 10:32:26 +02:00
+8 -10
View File
@@ -572,18 +572,16 @@ class AmorEventData(AmorHeader):
def read_beam_monitor_stream(self, packets):
if self._beam_monitor is None:
return None
_signal = self._beam_monitor.signal
_time = self._beam_monitor.time
plse = np.array([0, 5, 6, 11])
base = np.array([2, 3, 8, 9])
i = 0
beam_monitor = np.recarray(shape=np.shape(packets.time)[0], dtype=BM_TYPE)
for tt, tme in enumerate(_time):
if (tme>=packets.time[0])&(tme<=packets.time[-1]):
beam_monitor.value[i] = _signal[tt][plse].sum() - _signal[tt][base].sum()
beam_monitor.time[i] = tme
i += 1
return beam_monitor[:i+1]
_time = self._beam_monitor.time
fltr = (self.eventStartTime<=_time)&(_time<=packets.time[-1])
_time = _time[fltr]
_signal = self._beam_monitor.signal[fltr]
beam_monitor = np.recarray(shape=_time.shape[0], dtype=BM_TYPE)
beam_monitor.time = _time
beam_monitor.value = _signal[:, plse].sum(axis=1) - _signal[:, base].sum(axis=1)
return beam_monitor
def info(self):
output = ""