DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <TDEEthFrameProcessor.hpp>
Public Types | |
using | inherited = datahandlinglibs::TaskRawDataProcessorModel<types::TDEEthTypeAdapter> |
using | frameptr = types::TDEEthTypeAdapter* |
using | constframeptr = const types::TDEEthTypeAdapter* |
using | wibframeptr = dunedaq::fddetdataformats::TDEEthFrame* |
![]() | |
using | NodePtr = std::weak_ptr<MonitorableObject> |
using | NewNodePtr = std::shared_ptr<MonitorableObject> |
using | ElementId = std::string |
Public Member Functions | |
TDEEthFrameProcessor (std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool processing_enabled) | |
void | start (const nlohmann::json &args) override |
Start operation. | |
void | stop (const nlohmann::json &args) override |
Stop operation. | |
void | conf (const appmodel::DataHandlerModule *conf) override |
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones. | |
![]() | |
TaskRawDataProcessorModel (std::unique_ptr< FrameErrorRegistry > &error_registry, bool post_processing_enabled) | |
~TaskRawDataProcessorModel () | |
void | scrap (const nlohmann::json &) override |
Unconfigure. | |
void | reset_last_daq_time () |
std::uint64_t | get_last_daq_time () override |
Get newest timestamp of last seen packet. | |
void | preprocess_item (types::TDEEthTypeAdapter *item) override |
Preprocess one element. | |
void | postprocess_item (const types::TDEEthTypeAdapter *item) override |
Postprocess one element. | |
void | add_preprocess_task (Task &&task) |
void | add_postprocess_task (Task &&task) |
void | invoke_all_preprocess_functions (types::TDEEthTypeAdapter *item) |
void | launch_all_preprocess_functions (types::TDEEthTypeAdapter *item) |
![]() | |
RawDataProcessorConcept () | |
RawDataProcessorConcept (const RawDataProcessorConcept &)=delete | |
RawDataProcessorConcept is not copy-constructible. | |
RawDataProcessorConcept (RawDataProcessorConcept &&)=delete | |
RawDataProcessorConcept is not move-constructible. | |
virtual | ~RawDataProcessorConcept () |
RawDataProcessorConcept & | operator= (const RawDataProcessorConcept &)=delete |
RawDataProcessorConcept is not copy-assginable. | |
RawDataProcessorConcept & | operator= (RawDataProcessorConcept &&)=delete |
RawDataProcessorConcept is not move-assignable. | |
![]() | |
MonitorableObject (const MonitorableObject &)=delete | |
MonitorableObject & | operator= (const MonitorableObject &)=delete |
MonitorableObject (MonitorableObject &&)=delete | |
MonitorableObject & | operator= (MonitorableObject &&)=delete |
virtual | ~MonitorableObject ()=default |
auto | get_opmon_id () const noexcept |
auto | get_opmon_level () const noexcept |
Protected Member Functions | |
virtual void | generate_opmon_data () override |
void | use_pattern_generator (frameptr fp) |
void | sequence_check (frameptr fp) |
void | timestamp_check (frameptr fp) |
void | find_hits (constframeptr fp) |
![]() | |
void | run_post_processing_thread (std::function< void(const types::TDEEthTypeAdapter *)> &function, folly::ProducerConsumerQueue< const types::TDEEthTypeAdapter * > &queue) |
![]() | |
MonitorableObject ()=default | |
void | register_node (ElementId name, NewNodePtr) |
void | publish (google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept |
Private Attributes | |
bool | m_first_hit = true |
std::unique_ptr< tpglibs::TPGenerator > | m_tp_generator |
std::vector< std::pair< std::string, nlohmann::json > > | m_tpg_configs |
uint32_t | m_tp_max_width |
std::set< unsigned int > | m_channel_mask_set |
uint16_t | m_tpg_threshold_selected |
std::map< uint, std::atomic< int > > | m_tp_channel_rate_map |
size_t | m_num_msg = 0 |
size_t | m_num_push_fail = 0 |
std::atomic< int > | m_tpg_hits_count { 0 } |
uint32_t | m_det_id |
uint32_t | m_crate_id |
uint32_t | m_slot_id |
uint32_t | m_stream_id |
bool | m_emulator_mode = false |
std::shared_ptr< detchannelmaps::TPCChannelMap > | m_channel_map |
std::vector< std::pair< trgdataformats::channel_t, int16_t > > | m_channel_plane_numbers |
std::vector< trigger::TriggerPrimitiveTypeAdapter > | m_tpa_vectors [3] |
std::shared_ptr< iomanager::SenderConcept< std::vector< trigger::TriggerPrimitiveTypeAdapter > > > | m_tp_sink [3] |
std::shared_ptr< iomanager::SenderConcept< fddetdataformats::TDEEthFrame > > | m_err_frame_sink |
daqdataformats::SourceID | m_sourceid |
std::atomic< uint64_t > | m_new_hits { 0 } |
std::atomic< uint64_t > | m_new_tps { 0 } |
std::atomic< uint64_t > | m_tps_suppressed_too_long { 0 } |
std::atomic< uint64_t > | m_tps_send_failed { 0 } |
std::atomic< uint64_t > | m_frame_counter { 0 } |
std::chrono::time_point< std::chrono::high_resolution_clock > | m_t0 |
Additional Inherited Members | |
![]() | |
static bool | publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept |
Definition at line 52 of file TDEEthFrameProcessor.hpp.
Definition at line 58 of file TDEEthFrameProcessor.hpp.
Definition at line 57 of file TDEEthFrameProcessor.hpp.
using dunedaq::fdreadoutlibs::TDEEthFrameProcessor::inherited = datahandlinglibs::TaskRawDataProcessorModel<types::TDEEthTypeAdapter> |
Definition at line 56 of file TDEEthFrameProcessor.hpp.
using dunedaq::fdreadoutlibs::TDEEthFrameProcessor::wibframeptr = dunedaq::fddetdataformats::TDEEthFrame* |
Definition at line 59 of file TDEEthFrameProcessor.hpp.
|
explicit |
Definition at line 31 of file TDEEthFrameProcessor.cpp.
|
overridevirtual |
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< types::TDEEthTypeAdapter >.
Definition at line 78 of file TDEEthFrameProcessor.cpp.
|
protected |
Pipeline Stage 2.: Do software TPG
Definition at line 343 of file TDEEthFrameProcessor.cpp.
|
overrideprotectedvirtual |
Hook for customisable pubblication. The function can throw, exception will be caught by the monitoring thread
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< types::TDEEthTypeAdapter >.
Definition at line 151 of file TDEEthFrameProcessor.cpp.
|
protected |
Pipeline Stage 1.: Check proper sequence id increments in DAQ Eth header
Pipeline Stage 1.: Check proper timestamp increments in WIB frame
Definition at line 218 of file TDEEthFrameProcessor.cpp.
|
overridevirtual |
Start operation.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< types::TDEEthTypeAdapter >.
Definition at line 37 of file TDEEthFrameProcessor.cpp.
|
overridevirtual |
Stop operation.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< types::TDEEthTypeAdapter >.
Definition at line 68 of file TDEEthFrameProcessor.cpp.
|
protected |
Pipeline Stage 1.: Check proper timestamp increments in DAQ Eth header
Pipeline Stage 1.: Check proper timestamp increments in WIB frame
Definition at line 285 of file TDEEthFrameProcessor.cpp.
|
protected |
Pipeline Stage 0: Pattern generator for hit finding in emulated mode
|
private |
Definition at line 142 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 126 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 146 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 137 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 79 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 76 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 136 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 140 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 150 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 122 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 89 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 84 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 160 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 156 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 157 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 131 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 132 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 82 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 81 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 78 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 75 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 92 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 91 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 94 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 93 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 90 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 138 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 154 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 139 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 162 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 129 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 123 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 125 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 149 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 147 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 124 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 134 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 127 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 159 of file TDEEthFrameProcessor.hpp.
|
private |
Definition at line 158 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 87 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 86 of file TDEEthFrameProcessor.hpp.
|
protected |
Definition at line 85 of file TDEEthFrameProcessor.hpp.