$treeview $search $mathjax $extrastylesheet
artdaq_core
v3_06_01
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef artdaq_core_Utilities_TimeUtils_h 00002 #define artdaq_core_Utilities_TimeUtils_h 00003 00004 #include <sys/time.h> 00005 #include <chrono> 00006 #include <string> 00007 00008 namespace artdaq { 00012 namespace TimeUtils { 00022 typedef std::chrono::duration<double, std::ratio<1>> seconds; 00023 00030 inline constexpr double GetElapsedTime(std::chrono::steady_clock::time_point then, std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now()) 00031 { 00032 return std::chrono::duration_cast<seconds>(now - then).count(); 00033 } 00034 00041 inline constexpr size_t GetElapsedTimeMicroseconds(std::chrono::steady_clock::time_point then, std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now()) 00042 { 00043 return static_cast<size_t>(GetElapsedTime(then, now) * 1000000); 00044 } 00045 00052 inline constexpr size_t GetElapsedTimeMilliseconds(std::chrono::steady_clock::time_point then, std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now()) 00053 { 00054 return static_cast<size_t>(GetElapsedTime(then, now) * 1000); 00055 } 00056 00062 std::string convertUnixTimeToString(time_t inputUnixTime); 00063 00069 std::string convertUnixTimeToString(struct timeval const& inputUnixTime); 00070 00076 std::string convertUnixTimeToString(struct timespec const& inputUnixTime); 00077 00082 uint64_t gettimeofday_us(); 00083 00088 struct timespec get_realtime_clock(); 00089 00095 double convertUnixTimeToSeconds(time_t inputUnixTime); 00096 00102 double convertUnixTimeToSeconds(struct timeval const& inputUnixTime); 00103 00109 double convertUnixTimeToSeconds(struct timespec const& inputUnixTime); 00110 } // namespace TimeUtils 00111 } // namespace artdaq 00112 00113 #endif /* artdaq_core_Utilities_TimeUtils_h */ 00114 00115 // Local Variables: 00116 // mode: c++ 00117 // End: