StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
clockClass.h
1 #ifndef _CLOCKCLASS_H_
2 #define _CLOCKCLASS_H_
3 
4 // Only for linux
5 // Only for use from ROOT
6 
7 #include <unistd.h>
8 #include <sys/time.h>
9 
11 {
12  public:
13 
14  timeval ts_old;
15  timeval ts_last;
16  timeval ts_new;
17 
18  double t;
19 
20  RtsTimer_root() {
21  reset();
22  }
23 
24  void reset() {
25  gettimeofday(&ts_old,NULL);
26  ts_last = ts_old;
27  }
28 
29  double currtime() {
30  gettimeofday(&ts_new, NULL);
31  t = ts_new.tv_sec - ts_old.tv_sec;
32  t += ((double)(ts_new.tv_usec - ts_old.tv_usec))/1000000.0;
33 
34  return t;
35  }
36 
37  double record_time() {
38  gettimeofday(&ts_new, NULL);
39  t = ts_new.tv_sec - ts_last.tv_sec;
40  t += ((double)(ts_new.tv_usec - ts_last.tv_usec))/1000000.0;
41  ts_last = ts_new;
42  return t;
43  }
44 };
45 
46 #endif