1 #ifndef __RAT_TimeUtil__
2 #define __RAT_TimeUtil__
4 #include <TTimeStamp.h>
9 const long TIME_UTIL_BILLION = 1000000000L;
12 inline TTimeStamp AddNanoseconds(
const TTimeStamp &a,
const long nanoseconds) {
13 time_t new_sec = a.GetSec();
14 long new_nsec = a.GetNanoSec() + nanoseconds;
17 new_sec -= 1 + (-new_nsec / TIME_UTIL_BILLION);
18 new_nsec = TIME_UTIL_BILLION - (-new_nsec % TIME_UTIL_BILLION);
19 }
else if (new_nsec >= TIME_UTIL_BILLION) {
20 new_sec += new_nsec / TIME_UTIL_BILLION;
21 new_nsec = new_nsec % TIME_UTIL_BILLION;
23 return TTimeStamp(new_sec, new_nsec);
28 inline long TimeDifference(
const TTimeStamp &a,
const TTimeStamp &b) {
29 return (a.GetSec() - b.GetSec()) * TIME_UTIL_BILLION + (a.GetNanoSec() - b.GetNanoSec());
Definition: CCCrossSecMessenger.hh:29