|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <TPCEthFrameProcessor.hpp>
Public Types | |
| using | inherited = datahandlinglibs::TaskRawDataProcessorModel<ReadoutTypeAdapter> |
| using | frameptr = ReadoutTypeAdapter* |
| using | constframeptr = const ReadoutTypeAdapter* |
| using | tpcframeptr = ReadoutTypeAdapter::FrameType* |
Public Types inherited from dunedaq::opmonlib::MonitorableObject | |
| using | NodePtr = std::weak_ptr<MonitorableObject> |
| using | NewNodePtr = std::shared_ptr<MonitorableObject> |
| using | ElementId = std::string |
Public Member Functions | |
| TPCEthFrameProcessor (std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool processing_enabled) | |
| void | start (const appfwk::DAQModule::CommandData_t &args) override |
| Start operation. | |
| void | stop (const appfwk::DAQModule::CommandData_t &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. | |
| void | scrap (const appfwk::DAQModule::CommandData_t &cfg) override |
| Unconfigure. | |
Public Member Functions inherited from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< ReadoutTypeAdapter > | |
| TaskRawDataProcessorModel (std::unique_ptr< FrameErrorRegistry > &error_registry, bool post_processing_enabled) | |
| ~TaskRawDataProcessorModel () | |
| void | reset_last_daq_time () |
| std::uint64_t | get_last_daq_time () override |
| Get newest timestamp of last seen packet. | |
| void | preprocess_item (ReadoutTypeAdapter *item) override |
| Preprocess one element. | |
| void | postprocess_item (const ReadoutTypeAdapter *item) override |
| Postprocess one element. | |
| void | add_preprocess_task (Task &&task) |
| void | add_postprocess_task (Task &&task) |
| void | invoke_all_preprocess_functions (ReadoutTypeAdapter *item) |
| void | launch_all_preprocess_functions (ReadoutTypeAdapter *item) |
Public Member Functions inherited from dunedaq::datahandlinglibs::RawDataProcessorConcept< ReadoutTypeAdapter > | |
| 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. | |
Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject | |
| 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 Attributes | |
| bool | m_emulator_mode = false |
| bool | m_first_frame = true |
| dunedaq::daqdataformats::timestamp_t | m_previous_ts = 0 |
| dunedaq::daqdataformats::timestamp_t | m_current_ts = 0 |
| dunedaq::daqdataformats::timestamp_t | m_pattern_generator_previous_ts = 0 |
| dunedaq::daqdataformats::timestamp_t | m_pattern_generator_current_ts = 0 |
| bool | m_first_ts_missmatch = true |
| bool | m_ts_problem_reported = false |
| bool | m_ts_error_state = false |
| std::atomic< uint64_t > | m_ts_error_ctr { 0 } |
| uint16_t | m_previous_seq_id = 0 |
| uint16_t | m_current_seq_id = 0 |
| bool | m_first_seq_id_mismatch = true |
| bool | m_seq_id_problem_reported = false |
| bool | m_seq_id_error_state = false |
| std::atomic< uint64_t > | m_seq_id_error_ctr { 0 } |
| std::atomic< int16_t > | m_seq_id_min_jump { 0 } |
| std::atomic< int16_t > | m_seq_id_max_jump { 0 } |
| std::unique_ptr< tpglibs::TPGenerator > | m_tp_generator |
| std::vector< std::pair< std::string, nlohmann::json > > | m_tpg_configs |
| std::unordered_map< unsigned int, std::vector< trigger::TriggerPrimitiveTypeAdapter > > | m_plane_to_tpa_vector_map |
| std::unordered_map< unsigned int, std::shared_ptr< iomanager::SenderConcept< std::vector< trigger::TriggerPrimitiveTypeAdapter > > > > | m_plane_to_tp_sink_map |
| uint32_t | m_tp_count_limit = 0 |
| uint32_t | m_frame_count_limit = 0 |
| uint32_t | m_current_tp_count = 0 |
| uint32_t | m_frame_count_at_last_send = 0 |
| bool | m_tp_limit_enabled = false |
| bool | m_frame_limit_enabled = false |
| std::set< unsigned int > | m_channel_mask_set |
| std::set< unsigned int > | m_plane_numbers_set |
| std::vector< std::pair< trgdataformats::channel_t, int16_t > > | m_channel_plane_numbers |
| std::unordered_map< trgdataformats::channel_t, unsigned int > | m_channel_plane_map |
| bool | m_tpg_metric_collect_enabled {false} |
| uint32_t | m_metric_collect_opmon_period { 128 } |
| std::map< uint, std::atomic< int > > | m_tp_channel_rate_map |
| std::atomic< uint64_t > | m_num_new_tps { 0 } |
| std::atomic< uint64_t > | m_tps_suppressed_too_long { 0 } |
| std::atomic< uint64_t > | m_tps_send_failed { 0 } |
| std::chrono::time_point< std::chrono::high_resolution_clock > | m_t0 |
| std::atomic< uint64_t > | m_frame_counter { 0 } |
| uint32_t | m_det_id |
| uint32_t | m_crate_id |
| uint32_t | m_slot_id |
| uint32_t | m_stream_id |
| daqdataformats::SourceID | m_sourceid |
Protected Attributes inherited from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< ReadoutTypeAdapter > | |
| std::vector< std::function< void(ReadoutTypeAdapter *)> > | m_preprocess_functions |
| std::unique_ptr< FrameErrorRegistry > & | m_error_registry |
| bool | m_post_processing_enabled |
| std::atomic< bool > | m_run_marker |
| std::vector< std::function< void(const ReadoutTypeAdapter *)> > | m_post_process_functions |
| std::vector< std::unique_ptr< folly::ProducerConsumerQueue< const ReadoutTypeAdapter * > > > | m_items_to_postprocess_queues |
| std::vector< std::unique_ptr< utilities::ReusableThread > > | m_post_process_threads |
| size_t | m_postprocess_queue_sizes |
| daqdataformats::SourceID | m_sourceid |
| std::atomic< uint64_t > | m_last_processed_daq_ts |
Additional Inherited Members | |
Static Public Member Functions inherited from dunedaq::opmonlib::MonitorableObject | |
| static bool | publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept |
Definition at line 57 of file TPCEthFrameProcessor.hpp.
| using dunedaq::fdreadoutlibs::TPCEthFrameProcessor< ReadoutTypeAdapter >::constframeptr = const ReadoutTypeAdapter* |
Definition at line 63 of file TPCEthFrameProcessor.hpp.
| using dunedaq::fdreadoutlibs::TPCEthFrameProcessor< ReadoutTypeAdapter >::frameptr = ReadoutTypeAdapter* |
Definition at line 62 of file TPCEthFrameProcessor.hpp.
| using dunedaq::fdreadoutlibs::TPCEthFrameProcessor< ReadoutTypeAdapter >::inherited = datahandlinglibs::TaskRawDataProcessorModel<ReadoutTypeAdapter> |
Definition at line 61 of file TPCEthFrameProcessor.hpp.
| using dunedaq::fdreadoutlibs::TPCEthFrameProcessor< ReadoutTypeAdapter >::tpcframeptr = ReadoutTypeAdapter::FrameType* |
Definition at line 64 of file TPCEthFrameProcessor.hpp.
|
explicit |
Definition at line 11 of file TPCEthFrameProcessor.hxx.
|
protected |
Optimized version that calculates all metric summaries across all planes in a single pass Returns a map of plane_number -> map of metric_name -> summary statistics
Definition at line 386 of file TPCEthFrameProcessor.hxx.
|
overridevirtual |
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< ReadoutTypeAdapter >.
Definition at line 192 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 90 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 114 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 173 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 78 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 63 of file TPCEthFrameProcessor.hxx.
|
protected |
Pipeline Stage 2.: Do software TPG
Definition at line 584 of file TPCEthFrameProcessor.hxx.
|
overrideprotectedvirtual |
Hook for customisable pubblication. The function can throw, exception will be caught by the monitoring thread
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< ReadoutTypeAdapter >.
Definition at line 300 of file TPCEthFrameProcessor.hxx.
|
protected |
Publishes collected processor metrics to opmon, currently called in generate_opmon_data()
Definition at line 369 of file TPCEthFrameProcessor.hxx.
|
protected |
Publishes collected processor metrics to opmon, with aggregation of metrics to summary statistics across physical planes
Definition at line 451 of file TPCEthFrameProcessor.hxx.
|
overridevirtual |
Unconfigure.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< ReadoutTypeAdapter >.
Definition at line 285 of file TPCEthFrameProcessor.hxx.
|
protected |
|
protected |
|
protected |
Definition at line 252 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 219 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 207 of file TPCEthFrameProcessor.hxx.
|
protected |
Pipeline Stage 1.: Check proper sequence id increments in DAQ Eth header
Pipeline Stage 1.: Check proper timestamp increments in TPC frame
Definition at line 480 of file TPCEthFrameProcessor.hxx.
|
overridevirtual |
Start operation.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< ReadoutTypeAdapter >.
Definition at line 18 of file TPCEthFrameProcessor.hxx.
|
overridevirtual |
Stop operation.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< ReadoutTypeAdapter >.
Definition at line 48 of file TPCEthFrameProcessor.hxx.
|
protected |
Pipeline Stage 1.: Check proper timestamp increments in DAQ Eth header
Pipeline Stage 1.: Check proper timestamp increments in TPC frame
Definition at line 541 of file TPCEthFrameProcessor.hxx.
|
protected |
Definition at line 175 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 178 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 177 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 196 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 150 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 168 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 138 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 195 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 133 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 134 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 152 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 143 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 169 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 167 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 192 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 172 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 182 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 186 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 141 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 140 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 176 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 164 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 163 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 149 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 137 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 155 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 154 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 157 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 156 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 153 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 197 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 200 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 198 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 190 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 184 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 166 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 160 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 171 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 161 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 181 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 188 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 187 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 146 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 145 of file TPCEthFrameProcessor.hpp.
|
protected |
Definition at line 144 of file TPCEthFrameProcessor.hpp.