DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
timinglibs
src
detail
TimingHardwareManagerBase.hxx
Go to the documentation of this file.
1
namespace
dunedaq::timinglibs
{
2
3
template
<
class
Child>
4
void
5
TimingHardwareManagerBase::register_timing_hw_command
(
const
std::string& hw_cmd_id,
6
void
(Child::*f)(
const
timingcmd::TimingHwCmd
&))
7
{
8
using namespace
std::placeholders;
9
10
std::string hw_cmd_name = hw_cmd_id;
11
TLOG_DEBUG
(0) <<
"Registering timing hw command id: "
<< hw_cmd_name <<
" called with "
<<
typeid
(f).name()
12
<< std::endl;
13
14
bool
done =
m_timing_hw_cmd_map_
.emplace(hw_cmd_name, std::bind(f,
dynamic_cast<
Child*
>
(
this
), _1)).second;
15
if
(!done) {
16
throw
TimingHardwareCommandRegistrationFailed(
ERS_HERE
, hw_cmd_name, get_name());
17
}
18
}
19
20
template
<
class
TIMING_DEV>
21
TIMING_DEV
22
TimingHardwareManagerBase::get_timing_device
(
const
std::string& device_name)
23
{
24
auto
device =
get_timing_device_plain
(device_name);
25
auto
timing_device =
cast_timing_device<TIMING_DEV>
(device, device_name);
26
return
timing_device;
27
}
28
29
}
// namespace dunedaq::timinglibs
ERS_HERE
#define ERS_HERE
Definition
LocalContext.hpp:130
dunedaq::timinglibs::TimingHardwareInterface::cast_timing_device
TIMING_DEV cast_timing_device(const uhal::Node *device_node, std::string timing_device_name)
Definition
TimingHardwareInterface.hxx:6
dunedaq::timinglibs::TimingHardwareManagerBase::get_timing_device_plain
const timing::TimingNode * get_timing_device_plain(const std::string &device_name)
Definition
TimingHardwareManagerBase.cpp:139
dunedaq::timinglibs::TimingHardwareManagerBase::get_timing_device
TIMING_DEV get_timing_device(const std::string &device_name)
Definition
TimingHardwareManagerBase.hxx:22
dunedaq::timinglibs::TimingHardwareManagerBase::register_timing_hw_command
void register_timing_hw_command(const std::string &hw_cmd_id, void(Child::*f)(const timingcmd::TimingHwCmd &))
Definition
TimingHardwareManagerBase.hxx:5
dunedaq::timinglibs::TimingHardwareManagerBase::m_timing_hw_cmd_map_
std::map< timingcmd::TimingHwCmdId, std::function< void(const timingcmd::TimingHwCmd &)> > m_timing_hw_cmd_map_
Definition
TimingHardwareManagerBase.hpp:112
TLOG_DEBUG
#define TLOG_DEBUG(lvl,...)
Definition
Logging.hpp:112
dunedaq::timinglibs
Definition
TimingController.hxx:1
dunedaq::timinglibs::timingcmd::TimingHwCmd
Definition
Structs.hpp:125
Generated on Sat Jun 28 2025 for DUNE-DAQ by
1.12.0