DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
toolbox.hpp File Reference
#include "definitions.hpp"
#include "TimingIssues.hpp"
#include "ers/Issue.hpp"
#include "logging/Logging.hpp"
#include <uhal/Node.hpp>
#include <boost/format.hpp>
#include <boost/format/group.hpp>
#include <boost/static_assert.hpp>
#include <boost/type_traits/is_signed.hpp>
#include <boost/type_traits/is_unsigned.hpp>
#include <boost/unordered_map.hpp>
#include <chrono>
#include <cstdint>
#include <cstdlib>
#include <iomanip>
#include <istream>
#include <string>
#include <vector>
#include "detail/toolbox.hxx"
Include dependency graph for toolbox.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  dunedaq
 Including Qt Headers.
 
namespace  dunedaq::timing
 < Message parameters
 

Functions

template<typename T >
std::string dunedaq::timing::to_string (const T &v)
 
template<typename M >
bool dunedaq::timing::map_value_comparator (typename M::value_type &p1, typename M::value_type &p2)
 
template<typename T >
std::vector< T > dunedaq::timing::sanitize (const std::vector< T > &vec)
 
template<typename T , typename U >
dunedaq::timing::safe_enum_cast (const U &value, const std::vector< T > &valid)
 
Snapshot dunedaq::timing::snapshot (const uhal::Node &node)
 Walk & read the node structure.
 
Snapshot dunedaq::timing::snapshot (const uhal::Node &node, const std::string &regex)
 Walk & read the sub-nodes whose IDs match this regex.
 
void dunedaq::timing::millisleep (const double &time_in_milliseconds)
 
std::string dunedaq::timing::strprintf (const char *fmt,...)
 
std::vector< std::string > dunedaq::timing::shell_expand_paths (const std::string &path)
 
std::string dunedaq::timing::shellExpandPath (const std::string &path)
 
void dunedaq::timing::throw_if_not_file (const std::string &path)
 
template<typename C >
std::string dunedaq::timing::join (const C &strings, const std::string &delimiter=" ")
 Converts a vector of strings in a delimiter-separated string.
 
uint8_t dunedaq::timing::dec_rng (uint8_t word, uint8_t ibit, uint8_t nbits=1)
 
uint64_t dunedaq::timing::tstamp2int (uhal::ValVector< uint32_t > raw_timestamp)
 
template<class T >
std::string dunedaq::timing::format_reg_value (T reg_value, uint32_t base)
 
template<class T >
std::string dunedaq::timing::format_reg_table (T data, std::string title="", std::vector< std::string > headers={ "Register", "Value" })
 Format reg-value table.
 
int64_t dunedaq::timing::get_milliseconds_since_epoch ()
 
int64_t dunedaq::timing::get_seconds_since_epoch ()
 
std::string dunedaq::timing::format_timestamp (uhal::ValVector< uint32_t > raw_timestamp, uint32_t clock_frequency_hz)
 
std::string dunedaq::timing::format_timestamp (uint64_t raw_timestamp, uint32_t clock_frequency_hz)
 
template<class T >
std::string dunedaq::timing::format_counters_table (std::vector< T > counters, std::vector< std::string > counter_node_titles={}, std::string table_title="", std::vector< std::string > counter_labels={}, std::string counter_labels_header="Cmd")
 Format reg-value table.
 
double dunedaq::timing::convert_bits_to_float (uint64_t bits, bool is_double_precision=false)
 
BoardType dunedaq::timing::convert_value_to_board_type (uint32_t Board_type)
 
CarrierType dunedaq::timing::convert_value_to_carrier_type (uint32_t darrier_type)
 
DesignType dunedaq::timing::convert_value_to_design_type (uint32_t design_type)
 
template<typename T >
std::string dunedaq::timing::vec_fmt (const std::vector< T > &vec)
 
template<typename T >
std::string dunedaq::timing::short_vec_fmt (const std::vector< T > &vec)
 
std::string dunedaq::timing::format_firmware_version (uint32_t firmware_version)
 

Detailed Description

Timing utility functions

This is part of the DUNE DAQ Software Suite, copyright 2020. Licensing/copyright details are in the COPYING file that you should have received with this code.

Definition in file toolbox.hpp.