DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
EndpointDesignInterface.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_ENDPOINTDESIGNINTERFACE_HPP_
13
#define TIMING_INCLUDE_TIMING_ENDPOINTDESIGNINTERFACE_HPP_
14
15
// PDT Headers
16
#include "
TimingIssues.hpp
"
17
#include "
timing/TopDesignInterface.hpp
"
18
#include "
timing/EndpointNode.hpp
"
19
20
#include "
timing/timingendpointinfo/Nljs.hpp
"
21
#include "
timing/timingendpointinfo/Structs.hpp
"
22
23
// uHal Headers
24
#include "uhal/DerivedNode.hpp"
25
26
// C++ Headers
27
#include <chrono>
28
#include <sstream>
29
#include <string>
30
31
namespace
dunedaq
{
32
namespace
timing
{
33
37
class
EndpointDesignInterface
:
virtual
public
TopDesignInterface
38
{
39
40
public
:
41
explicit
EndpointDesignInterface
(
const
uhal::Node& node)
42
:
TopDesignInterface
(node) {}
43
virtual
~EndpointDesignInterface
() {}
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
75
using
TopDesignInterface::get_info
;
76
};
77
78
}
// namespace timing
79
}
// namespace dunedaq
80
81
#endif
// TIMING_INCLUDE_TIMING_ENDPOINTDESIGNINTERFACE_HPP_
EndpointNode.hpp
TopDesignInterface.hpp
dunedaq::timing::EndpointDesignInterface::get_info
virtual void get_info(uint32_t ept_id, timingendpointinfo::TimingEndpointInfo &mon_data) const
Give info to collector.
Definition
EndpointDesignInterface.hpp:70
dunedaq::timing::EndpointDesignInterface::get_endpoint_node_plain
virtual const EndpointNodeInterface * get_endpoint_node_plain(uint32_t ept_id) const
Return the timing endpoint node.
Definition
EndpointDesignInterface.hpp:50
dunedaq::timing::EndpointDesignInterface::~EndpointDesignInterface
virtual ~EndpointDesignInterface()
Definition
EndpointDesignInterface.hpp:43
dunedaq::timing::EndpointDesignInterface::get_number_of_endpoint_nodes
virtual uint32_t get_number_of_endpoint_nodes() const
Return the timing endpoint node.
Definition
EndpointDesignInterface.hpp:61
dunedaq::timing::EndpointDesignInterface::EndpointDesignInterface
EndpointDesignInterface(const uhal::Node &node)
Definition
EndpointDesignInterface.hpp:41
dunedaq::timing::EndpointNodeInterface
Base class for timing IO nodes.
Definition
EndpointNodeInterface.hpp:36
dunedaq::timing::EndpointNodeInterface::get_info
virtual void get_info(timingendpointinfo::TimingEndpointInfo &) const
Collect monitoring information for timing endpoint.
Definition
EndpointNodeInterface.hpp:80
dunedaq::timing::TopDesignInterface::TopDesignInterface
TopDesignInterface(const uhal::Node &node)
Definition
TopDesignInterface.hpp:42
dunedaq::timing::TopDesignInterface::get_info
virtual void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const =0
Give info to collector.
TimingIssues.hpp
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::timing::timingendpointinfo::TimingEndpointInfo
Definition
Structs.hpp:40
Nljs.hpp
Structs.hpp
Generated on
for DUNE-DAQ by
1.17.0