DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::timing::TimingNode Class Referenceabstract

Base class for timing nodes. More...

#include <TimingNode.hpp>

Inheritance diagram for dunedaq::timing::TimingNode:
[legend]
Collaboration diagram for dunedaq::timing::TimingNode:
[legend]

Public Member Functions

 TimingNode (const uhal::Node &node)
 
virtual ~TimingNode ()
 
virtual std::string get_status (bool print_out=false) const =0
 Get the status string of the timing node. Optionally print it.
 
std::map< std::string, uhal::ValWord< uint32_t > > read_sub_nodes (const uhal::Node &node, bool dispatch=true) const
 Read subnodes.
 
void reset_sub_nodes (const uhal::Node &node, uint32_t aValue=0x0, bool dispatch=true) const
 Reset subnodes.
 

Detailed Description

Base class for timing nodes.

Definition at line 31 of file TimingNode.hpp.

Constructor & Destructor Documentation

◆ TimingNode()

dunedaq::timing::TimingNode::TimingNode ( const uhal::Node & node)
explicit

Definition at line 18 of file TimingNode.cpp.

19 : uhal::Node(node)
20{}

◆ ~TimingNode()

dunedaq::timing::TimingNode::~TimingNode ( )
virtual

Definition at line 24 of file TimingNode.cpp.

24{}

Member Function Documentation

◆ get_status()

◆ read_sub_nodes()

std::map< std::string, uhal::ValWord< uint32_t > > dunedaq::timing::TimingNode::read_sub_nodes ( const uhal::Node & node,
bool dispatch = true ) const

Read subnodes.

Definition at line 29 of file TimingNode.cpp.

30{
31 auto node_names = node.getNodes();
32
33 std::map<std::string, uhal::ValWord<uint32_t>> node_name_value_pairs; // NOLINT(build/unsigned)
34
35 for (auto it = node_names.begin(); it != node_names.end(); ++it)
36 node_name_value_pairs[*it] = node.getNode(*it).read();
37 if (dispatch)
38 getClient().dispatch();
39 return node_name_value_pairs;
40}

◆ reset_sub_nodes()

void dunedaq::timing::TimingNode::reset_sub_nodes ( const uhal::Node & node,
uint32_t aValue = 0x0,
bool dispatch = true ) const

Reset subnodes.

Definition at line 45 of file TimingNode.cpp.

46{
47
48 auto node_names = node.getNodes();
49
50 for (auto it = node_names.begin(); it != node_names.end(); ++it)
51 node.getNode(*it).write(aValue);
52
53 if (dispatch)
54 getClient().dispatch();
55}

The documentation for this class was generated from the following files: