DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <TCProcessor.hpp>
Classes | |
struct | PendingTD |
struct | roi_group |
Public Types | |
using | inherited = datahandlinglibs::TaskRawDataProcessorModel<TCWrapper> |
using | tcptr = TCWrapper* |
using | consttcptr = const TCWrapper* |
using | TCType = triggeralgs::TriggerCandidate::Type |
using | TDBitset = std::bitset<64> |
![]() | |
using | NodePtr = std::weak_ptr<MonitorableObject> |
using | NewNodePtr = std::shared_ptr<MonitorableObject> |
using | ElementId = std::string |
Public Member Functions | |
TCProcessor (std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool post_processing_enabled) | |
~TCProcessor () | |
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 | reset_last_daq_time () |
std::uint64_t | get_last_daq_time () override |
Get newest timestamp of last seen packet. | |
void | preprocess_item (TCWrapper *item) override |
Preprocess one element. | |
void | postprocess_item (const TCWrapper *item) override |
Postprocess one element. | |
void | add_preprocess_task (Task &&task) |
void | add_postprocess_task (Task &&task) |
void | invoke_all_preprocess_functions (TCWrapper *item) |
void | launch_all_preprocess_functions (TCWrapper *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 | make_td (const TCWrapper *tc) |
![]() | |
void | run_post_processing_thread (std::function< void(const TCWrapper *)> &function, folly::ProducerConsumerQueue< const TCWrapper * > &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 Types | |
using | metric_counter_type = uint64_t |
Additional Inherited Members | |
![]() | |
static bool | publishable_metric (OpMonLevel entry, OpMonLevel system) noexcept |
![]() | |
std::vector< std::function< void(TCWrapper *)> > | 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 TCWrapper *)> > | m_post_process_functions |
std::vector< std::unique_ptr< folly::ProducerConsumerQueue< const TCWrapper * > > > | 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 |
Definition at line 40 of file TCProcessor.hpp.
using dunedaq::trigger::TCProcessor::consttcptr = const TCWrapper* |
Definition at line 46 of file TCProcessor.hpp.
using dunedaq::trigger::TCProcessor::inherited = datahandlinglibs::TaskRawDataProcessorModel<TCWrapper> |
Definition at line 44 of file TCProcessor.hpp.
|
private |
Definition at line 179 of file TCProcessor.hpp.
Definition at line 45 of file TCProcessor.hpp.
Definition at line 47 of file TCProcessor.hpp.
using dunedaq::trigger::TCProcessor::TDBitset = std::bitset<64> |
Definition at line 48 of file TCProcessor.hpp.
|
explicit |
Definition at line 32 of file TCProcessor.cpp.
dunedaq::trigger::TCProcessor::~TCProcessor | ( | ) |
Definition at line 37 of file TCProcessor.cpp.
|
private |
Definition at line 714 of file TCProcessor.cpp.
|
private |
Definition at line 401 of file TCProcessor.cpp.
|
private |
Definition at line 471 of file TCProcessor.cpp.
|
private |
Definition at line 369 of file TCProcessor.cpp.
|
private |
Definition at line 494 of file TCProcessor.cpp.
|
private |
Definition at line 544 of file TCProcessor.cpp.
|
private |
Definition at line 594 of file TCProcessor.cpp.
|
private |
Definition at line 571 of file TCProcessor.cpp.
|
private |
Definition at line 556 of file TCProcessor.cpp.
|
overridevirtual |
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< TCWrapper >.
Definition at line 96 of file TCProcessor.cpp.
|
private |
Definition at line 702 of file TCProcessor.cpp.
|
private |
Definition at line 297 of file TCProcessor.cpp.
|
private |
Definition at line 686 of file TCProcessor.cpp.
|
overridevirtual |
Hook for customisable pubblication. The function can throw, exception will be caught by the monitoring thread
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< TCWrapper >.
Definition at line 222 of file TCProcessor.cpp.
|
private |
Definition at line 526 of file TCProcessor.cpp.
|
private |
Definition at line 759 of file TCProcessor.cpp.
|
private |
Definition at line 778 of file TCProcessor.cpp.
|
private |
Definition at line 505 of file TCProcessor.cpp.
|
private |
Definition at line 827 of file TCProcessor.cpp.
|
protected |
Pipeline Stage 2.: put valid TCs in a vector for grouping and forming of TDs
Definition at line 255 of file TCProcessor.cpp.
|
private |
Definition at line 658 of file TCProcessor.cpp.
|
private |
Definition at line 629 of file TCProcessor.cpp.
|
private |
Definition at line 723 of file TCProcessor.cpp.
|
private |
Definition at line 766 of file TCProcessor.cpp.
|
private |
Definition at line 673 of file TCProcessor.cpp.
|
private |
Definition at line 845 of file TCProcessor.cpp.
|
private |
Definition at line 647 of file TCProcessor.cpp.
|
private |
Definition at line 744 of file TCProcessor.cpp.
|
private |
Definition at line 585 of file TCProcessor.cpp.
|
private |
Definition at line 785 of file TCProcessor.cpp.
|
overridevirtual |
Unconfigure.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< TCWrapper >.
Definition at line 196 of file TCProcessor.cpp.
|
private |
Definition at line 349 of file TCProcessor.cpp.
|
private |
Definition at line 609 of file TCProcessor.cpp.
|
overridevirtual |
Start operation.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< TCWrapper >.
Definition at line 41 of file TCProcessor.cpp.
|
overridevirtual |
Stop operation.
Reimplemented from dunedaq::datahandlinglibs::TaskRawDataProcessorModel< TCWrapper >.
Definition at line 69 of file TCProcessor.cpp.
|
private |
Definition at line 142 of file TCProcessor.hpp.
|
private |
Definition at line 132 of file TCProcessor.hpp.
|
private |
Definition at line 145 of file TCProcessor.hpp.
|
private |
Definition at line 74 of file TCProcessor.hpp.
|
private |
Definition at line 75 of file TCProcessor.hpp.
|
private |
Ignore TCs that overlap with already made TD.
Definition at line 114 of file TCProcessor.hpp.
|
private |
Definition at line 170 of file TCProcessor.hpp.
|
private |
Definition at line 171 of file TCProcessor.hpp.
|
private |
Definition at line 116 of file TCProcessor.hpp.
|
private |
Definition at line 198 of file TCProcessor.hpp.
|
private |
Definition at line 197 of file TCProcessor.hpp.
|
private |
Definition at line 196 of file TCProcessor.hpp.
|
private |
Definition at line 199 of file TCProcessor.hpp.
|
private |
Definition at line 73 of file TCProcessor.hpp.
|
private |
Definition at line 130 of file TCProcessor.hpp.
|
private |
Definition at line 160 of file TCProcessor.hpp.
|
private |
Definition at line 158 of file TCProcessor.hpp.
|
private |
Definition at line 110 of file TCProcessor.hpp.
|
private |
Definition at line 98 of file TCProcessor.hpp.
|
private |
Definition at line 99 of file TCProcessor.hpp.
|
private |
Definition at line 102 of file TCProcessor.hpp.
|
private |
Definition at line 103 of file TCProcessor.hpp.
|
private |
Definition at line 104 of file TCProcessor.hpp.
|
private |
Definition at line 118 of file TCProcessor.hpp.
|
private |
Definition at line 120 of file TCProcessor.hpp.
|
private |
Definition at line 144 of file TCProcessor.hpp.
|
private |
Definition at line 70 of file TCProcessor.hpp.
|
private |
Definition at line 193 of file TCProcessor.hpp.
|
private |
Definition at line 111 of file TCProcessor.hpp.
|
private |
Definition at line 187 of file TCProcessor.hpp.
|
private |
Definition at line 143 of file TCProcessor.hpp.
|
private |
Definition at line 176 of file TCProcessor.hpp.
|
private |
Definition at line 131 of file TCProcessor.hpp.
|
private |
Definition at line 184 of file TCProcessor.hpp.
|
private |
Definition at line 192 of file TCProcessor.hpp.
|
private |
Definition at line 180 of file TCProcessor.hpp.
|
private |
Definition at line 188 of file TCProcessor.hpp.
|
private |
Definition at line 182 of file TCProcessor.hpp.
|
private |
Definition at line 190 of file TCProcessor.hpp.
|
private |
Definition at line 183 of file TCProcessor.hpp.
|
private |
Definition at line 191 of file TCProcessor.hpp.
|
private |
Definition at line 181 of file TCProcessor.hpp.
|
private |
Definition at line 189 of file TCProcessor.hpp.
|
private |
Definition at line 76 of file TCProcessor.hpp.
|
private |
Definition at line 150 of file TCProcessor.hpp.
|
private |
Definition at line 167 of file TCProcessor.hpp.
|
private |
Definition at line 149 of file TCProcessor.hpp.
|
private |
Definition at line 157 of file TCProcessor.hpp.
|
private |
Definition at line 90 of file TCProcessor.hpp.