DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TimestampGeneratorNode.hpp
Go to the documentation of this file.
1
12#ifndef TIMING_INCLUDE_TIMING_TIMESTAMPGENERATORNODE_HPP_
13#define TIMING_INCLUDE_TIMING_TIMESTAMPGENERATORNODE_HPP_
14
15// PDT Headers
16#include "TimingIssues.hpp"
17#include "timing/TimingNode.hpp"
19#include "logging/Logging.hpp" // NOTE: if ISSUES ARE DECLARED BEFORE include logging/Logging.hpp, TLOG_DEBUG<<issue wont work.
20
21// uHal Headers
22#include "uhal/DerivedNode.hpp"
23
24// C++ Headers
25#include <chrono>
26#include <string>
27
28namespace dunedaq {
30 TimestampNotReady,
31 " Timestamp not ready in time; loaded: " << loaded << ", error: " << error,
32 ((uint32_t)loaded)((uint32_t)error)
33)
34namespace timing {
35
39class TimestampGeneratorNode : public TimingNode
40{
41 UHAL_DERIVEDNODE(TimestampGeneratorNode)
42public:
43 explicit TimestampGeneratorNode(const uhal::Node& node);
44 virtual ~TimestampGeneratorNode();
45
49 std::string get_status(bool print_out = false) const override;
50
56 uhal::ValVector<uint32_t> read_raw_timestamp(bool dispatch = true) const; // NOLINT(build/unsigned)
57
63 uint64_t read_timestamp() const; // NOLINT(build/unsigned)
64
70 uint64_t read_start_timestamp() const; // NOLINT(build/unsigned)
71
77 uint64_t read_sw_init_timestamp() const; // NOLINT(build/unsigned)
78
82 void set_timestamp(TimestampSource source) const; // NOLINT(build/unsigned)
83};
84
85} // namespace timing
86} // namespace dunedaq
87
88#endif // TIMING_INCLUDE_TIMING_TIMESTAMPGENERATORNODE_HPP_
#define ERS_DECLARE_ISSUE(namespace_name, class_name, message, attributes)
Including Qt Headers.
Factory couldn t std::string alg_name Invalid configuration error
Definition Issues.hpp:34