8#ifndef FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNE_DAPHNEFRAMEPROCESSOR_HPP_
9#define FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNE_DAPHNEFRAMEPROCESSOR_HPP_
46namespace fdreadoutlibs {
59 explicit DAPHNEFrameProcessor(std::unique_ptr<datahandlinglibs::FrameErrorRegistry>& error_registry,
bool post_processing_enabled)
60 : datahandlinglibs::
TaskRawDataProcessorModel<types::DAPHNESuperChunkTypeAdapter>(error_registry, post_processing_enabled)
68 void start(
const appfwk::DAQModule::CommandData_t& args)
override;
69 void stop(
const appfwk::DAQModule::CommandData_t& args)
override;
111 std::shared_ptr<iomanager::SenderConcept<std::vector<trigger::TriggerPrimitiveTypeAdapter>>>
m_tp_sink;
118 std::chrono::time_point<std::chrono::high_resolution_clock>
m_t0;
TaskRawDataProcessorModel(std::unique_ptr< FrameErrorRegistry > &error_registry, bool post_processing_enabled)
void timestamp_check(frameptr)
std::shared_ptr< detchannelmaps::PDSChannelMap > m_channel_map
void conf(const appmodel::DataHandlerModule *conf) override
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
void stop(const appfwk::DAQModule::CommandData_t &args) override
Stop operation.
std::vector< std::pair< trgdataformats::channel_t, int16_t > > m_channel_plane_numbers
std::atomic< int > m_ts_error_ctr
void frame_error_check(frameptr)
void extract_tps(constframeptr fp)
types::DAPHNESuperChunkTypeAdapter * frameptr
const types::DAPHNESuperChunkTypeAdapter * constframeptr
std::atomic< uint64_t > m_tps_send_failed
std::uint64_t timestamp_t
std::atomic< uint64_t > m_tps_suppressed_too_long
virtual void generate_opmon_data() override
DAPHNEFrameProcessor(std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool post_processing_enabled)
void start(const appfwk::DAQModule::CommandData_t &args) override
Start operation.
timestamp_t m_previous_ts
bool m_first_ts_missmatch
std::shared_ptr< iomanager::SenderConcept< std::vector< trigger::TriggerPrimitiveTypeAdapter > > > m_tp_sink
std::chrono::time_point< std::chrono::high_resolution_clock > m_t0
dunedaq::trgdataformats::TriggerPrimitive peak_to_tp(dunedaq::fddetdataformats::DAPHNEFrame &frame, int i)
uint32_t m_def_adc_intg_thresh
std::atomic< uint64_t > m_num_new_tps
std::set< unsigned int > m_channel_mask_set
std::atomic< uint64_t > m_frame_counter