$treeview $search $mathjax $extrastylesheet
artdaq_core
v3_04_20a
$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 <string> 00006 #include <chrono> 00007 00008 namespace artdaq 00009 { 00013 namespace TimeUtils 00014 { 00024 typedef std::chrono::duration<double, std::ratio<1>> seconds; 00025 00032 inline constexpr double GetElapsedTime(std::chrono::steady_clock::time_point then, std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now()) 00033 { 00034 return std::chrono::duration_cast<seconds>(now - then).count(); 00035 } 00036 00043 inline constexpr size_t GetElapsedTimeMicroseconds(std::chrono::steady_clock::time_point then, std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now()) 00044 { 00045 return static_cast<size_t>(GetElapsedTime(then, now) * 1000000); 00046 } 00047 00054 inline constexpr size_t GetElapsedTimeMilliseconds(std::chrono::steady_clock::time_point then, std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now()) 00055 { 00056 return static_cast<size_t>(GetElapsedTime(then, now) * 1000); 00057 } 00058 00064 std::string convertUnixTimeToString(time_t inputUnixTime); 00065 00071 std::string convertUnixTimeToString(struct timeval const& inputUnixTime); 00072 00078 std::string convertUnixTimeToString(struct timespec const& inputUnixTime); 00079 00084 uint64_t gettimeofday_us(); 00085 00091 double convertUnixTimeToSeconds(time_t inputUnixTime); 00092 00098 double convertUnixTimeToSeconds(struct timeval const& inputUnixTime); 00099 00105 double convertUnixTimeToSeconds(struct timespec const& inputUnixTime); 00106 } 00107 } 00108 00109 #endif /* artdaq_core_Utilities_TimeUtils_h */ 00110 00111 // Local Variables: 00112 // mode: c++ 00113 // End: