DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
EndpointDesignInterface.hpp
Go to the documentation of this file.
1
12#ifndef TIMING_INCLUDE_TIMING_ENDPOINTDESIGNINTERFACE_HPP_
13#define TIMING_INCLUDE_TIMING_ENDPOINTDESIGNINTERFACE_HPP_
14
15// PDT Headers
16#include "TimingIssues.hpp"
19
22
23// uHal Headers
24#include "uhal/DerivedNode.hpp"
25
26// C++ Headers
27#include <chrono>
28#include <sstream>
29#include <string>
30
31namespace dunedaq {
32namespace timing {
33
38{
39
40public:
41 explicit EndpointDesignInterface(const uhal::Node& node)
42 : TopDesignInterface(node) {}
44
50 virtual const EndpointNodeInterface* get_endpoint_node_plain(uint32_t ept_id) const // NOLINT(build/unsigned)
51 {
52 const std::string node_name = "endpoint" + std::to_string(ept_id);
53 return dynamic_cast<const EndpointNodeInterface*>(&uhal::Node::getNode(node_name));
54 }
55
61 virtual uint32_t get_number_of_endpoint_nodes() const // NOLINT(build/unsigned)
62 {
63 std::string regex_string = "endpoint[0-9]+";
64 return uhal::Node::getNodes(regex_string).size();
65 }
66
70 virtual void get_info(uint32_t ept_id, timingendpointinfo::TimingEndpointInfo& mon_data) const
71 {
72 get_endpoint_node_plain(ept_id)->get_info(mon_data);
73 }
74
76};
77
78} // namespace timing
79} // namespace dunedaq
80
81#endif // TIMING_INCLUDE_TIMING_ENDPOINTDESIGNINTERFACE_HPP_
Base class for timing endpoint design nodes.
virtual void get_info(uint32_t ept_id, timingendpointinfo::TimingEndpointInfo &mon_data) const
Give info to collector.
virtual const EndpointNodeInterface * get_endpoint_node_plain(uint32_t ept_id) const
Return the timing endpoint node.
virtual uint32_t get_number_of_endpoint_nodes() const
Return the timing endpoint node.
virtual void get_info(timingendpointinfo::TimingEndpointInfo &) const
Collect monitoring information for timing endpoint.
Base class for timing top design nodes.
virtual void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const =0
Give info to collector.
Including Qt Headers.