pub fn event_processing(
board_id: u8,
rbpaddleid: RBPaddleID,
bs_recv: &Receiver<Vec<u8>>,
get_op_mode: &Receiver<TofOperationMode>,
tp_sender: &Sender<TofPacket>,
dtf_fr_runner: &Receiver<DataType>,
verbose: bool,
thread_control: Arc<Mutex<ThreadControl>>,
stat: Arc<Mutex<RunStatistics>>,
only_perfect_events: bool,
)
Expand description
Transforms raw bytestream to TofPackets
This allows to get the eventid from the binrary form of the RBEvent
#Arguments
- board_id : The unique ReadoutBoard identifier (ID) of this RB
- bs_recv : A receiver for bytestreams. The bytestream comes directly from the data buffers.
- get_op_mode : The TOF operation mode. Typically, this is “Default”, meaning that the RBs will sent what is in the memory buffer translated into RBEvents. In “RBHighThrougput” mode, it will not translate them into RBEvents, but just transmits the content of the buffers, and RBWaveform mode will do waveform analysis on the boards
- tp_sender : Send the resulting data product to get processed further
- data_type : If different from 0, do some processing on the data read from memory
- verbose : More output to the console for debugging
- only_perfect_events : Only transmit events with EventStatus::Perfect. This only applies when the op mode is not RBHighThroughput