DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <TAProcessor.hpp>
Public Types | |
using | inherited = datahandlinglibs::TaskRawDataProcessorModel<TAWrapper> |
using | taptr = TAWrapper* |
using | consttaptr = const TAWrapper* |
![]() | |
using | NodePtr = std::weak_ptr<MonitorableObject> |
using | NewNodePtr = std::shared_ptr<MonitorableObject> |
using | ElementId = std::string |
Public Member Functions | |
TAProcessor (std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool post_processing_enabled) | |
~TAProcessor () | |
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. | |
void | scrap (const nlohmann::json &args) override |
Unconfigure. | |
void | generate_opmon_data () override |
![]() | |
TaskRawDataProcessorModel (std::unique_ptr< FrameErrorRegistry > &error_registry, bool post_processing_enabled) | |
~TaskRawDataProcessorModel () | |
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 nlohmann::json &) override |
Unconfigure. | |
void | start (const nlohmann::json &) override |
Start operation. | |
void | stop (const nlohmann::json &) override |
Stop operation. | |
void | reset_last_daq_time () |
std::uint64_t | get_last_daq_time () override |
Get newest timestamp of last seen packet. | |
void | preprocess_item (TAWrapper *item) override |
Preprocess one element. | |
void | postprocess_item (const TAWrapper *item) override |
Postprocess one element. | |
void | add_preprocess_task (Task &&task) |
void | add_postprocess_task (Task &&task) |
void | invoke_all_preprocess_functions (TAWrapper *item) |
void | launch_all_preprocess_functions (TAWrapper *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 | |
void | find_tc (const TAWrapper *ta, std::shared_ptr< triggeralgs::TriggerCandidateMaker > tcm) |
![]() | |
void | run_post_processing_thread (std::function< void(const TAWrapper *)> &function, folly::ProducerConsumerQueue< const TAWrapper * > &queue) |
![]() | |
MonitorableObject ()=default | |
void | register_node (ElementId name, NewNodePtr) |
void | publish (google::protobuf::Message &&, CustomOrigin &&co={}, OpMonLevel l=to_level(EntryOpMonLevel::kDefault)) const noexcept |
Protected Attributes | |
dunedaq::daqdataformats::timestamp_t | m_previous_ts = 0 |
dunedaq::daqdataformats::timestamp_t | m_current_ts = 0 |
![]() | |
std::vector< std::function< void(TAWrapper *)> > | 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 TAWrapper *)> > | m_post_process_functions |
std::vector< std::unique_ptr< folly::ProducerConsumerQueue< const TAWrapper * > > > | 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 |
Private Types | |
using | metric_counter_type = uint64_t |
Private Member Functions | |
void | print_opmon_stats () |
Private Attributes | |
std::vector< std::shared_ptr< triggeralgs::TriggerCandidateMaker > > | m_tcms |
std::shared_ptr< iomanager::SenderConcept< triggeralgs::TriggerCandidate > > | m_tc_sink |
daqdataformats::SourceID | m_sourceid |
std::atomic< metric_counter_type > | m_ta_received_count { 0 } |
std::atomic< metric_counter_type > | m_tc_made_count { 0 } |
std::atomic< metric_counter_type > | m_tc_sent_count { 0 } |
std::atomic< metric_counter_type > | m_tc_failed_sent_count { 0 } |
std::atomic< bool > | m_running_flag { false } |
std::atomic< bool > | m_latency_monitoring { false } |
dunedaq::trigger::Latency | m_latency_instance |
std::atomic< metric_counter_type > | m_latency_in { 0 } |
std::atomic< metric_counter_type > | m_latency_out { 0 } |
Additional Inherited Members | |
![]() | |
static bool | publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept |
Definition at line 32 of file TAProcessor.hpp.
using dunedaq::trigger::TAProcessor::consttaptr = const TAWrapper* |
Definition at line 38 of file TAProcessor.hpp.
using dunedaq::trigger::TAProcessor::inherited = datahandlinglibs::TaskRawDataProcessorModel<TAWrapper> |
Definition at line 36 of file TAProcessor.hpp.
|
private |
Definition at line 74 of file TAProcessor.hpp.
Definition at line 37 of file TAProcessor.hpp.
|
explicit |
Definition at line 39 of file TAProcessor.cpp.
dunedaq::trigger::TAProcessor::~TAProcessor | ( | ) |
Definition at line 44 of file TAProcessor.cpp.
|
overridevirtual |
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
Implements dunedaq::datahandlinglibs::RawDataProcessorConcept< TAWrapper >.
Definition at line 78 of file TAProcessor.cpp.
|
protected |
Pipeline Stage 2.: Do TA finding
Pipeline Stage 2.: Do software TPG
Definition at line 151 of file TAProcessor.cpp.
|
overridevirtual |
Hook for customisable pubblication. The function can throw, exception will be caught by the monitoring thread
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< TAWrapper >.
Definition at line 126 of file TAProcessor.cpp.
|
private |
Definition at line 173 of file TAProcessor.cpp.
|
overridevirtual |
Unconfigure.
Implements dunedaq::datahandlinglibs::RawDataProcessorConcept< TAWrapper >.
Definition at line 116 of file TAProcessor.cpp.
|
overridevirtual |
Start operation.
Implements dunedaq::datahandlinglibs::RawDataProcessorConcept< TAWrapper >.
Definition at line 48 of file TAProcessor.cpp.
|
overridevirtual |
Stop operation.
Implements dunedaq::datahandlinglibs::RawDataProcessorConcept< TAWrapper >.
Definition at line 66 of file TAProcessor.cpp.
|
protected |
Definition at line 58 of file TAProcessor.hpp.
|
private |
Definition at line 85 of file TAProcessor.hpp.
|
private |
Definition at line 84 of file TAProcessor.hpp.
|
private |
Definition at line 83 of file TAProcessor.hpp.
|
private |
Definition at line 86 of file TAProcessor.hpp.
|
protected |
Definition at line 57 of file TAProcessor.hpp.
|
private |
Definition at line 82 of file TAProcessor.hpp.
|
private |
Definition at line 72 of file TAProcessor.hpp.
|
private |
Definition at line 75 of file TAProcessor.hpp.
|
private |
Definition at line 78 of file TAProcessor.hpp.
|
private |
Definition at line 76 of file TAProcessor.hpp.
|
private |
Definition at line 77 of file TAProcessor.hpp.
|
private |
Definition at line 70 of file TAProcessor.hpp.
|
private |
Definition at line 68 of file TAProcessor.hpp.