Diana Software
QTime.hh
Go to the documentation of this file.
1 
7 #ifndef _QTIME_HH_
8 #define _QTIME_HH_
9 
10 #include "QObject.hh"
11 #include <ctime>
12 #include <iostream>
13 #include <string>
14 
16 
17 class QTime : public QObject {
18 
19 public:
21  QTime();
23  QTime(time_t time){fStartRunUnix=time; fFromStartRunNs=0ULL;}
24 
26  virtual ~QTime();
27 
29  void SetFromStartRunNs(unsigned long long time) {fFromStartRunNs = time;}
30 
32  void SetStartRunUnix(unsigned int time) {fStartRunUnix = time;}
33 
35  void SetStartRunUnix(int year, int month, int day, int hour, int min, int sec);
36 
38  unsigned long long GetFromStartRunNs() const {return fFromStartRunNs;}
39 
41  time_t GetStartRunUnix() const {return fStartRunUnix;}
42 
44  time_t GetTimeSec()const {return fStartRunUnix+int(fFromStartRunNs/1e9);}
45 
47  unsigned int GetTimeNSec()const {return fFromStartRunNs%1000000000;}
48 
50  std::string GetTimeAsString() const {time_t tmp= GetTimeSec(); return ctime(&tmp);}
51 
53  bool operator==(const QTime& other) const;
54 
56  bool operator<(const QTime& other) const;
57 
59  void Clear();
60 
62  void Dump(std::ostream& o) const;
63 
64 private:
65 
66  unsigned long long fFromStartRunNs;
67  unsigned int fStartRunUnix;
68 
70 
71 };
72 
74 
75 #endif
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
double min(const Diana::QVector &v)
Definition: QVector.cc:878
base class for objects handled by QEvent and QGlobalDataManager.
Definition: QObject.hh:76
Diana time.
Definition: QTime.hh:17
unsigned long long fFromStartRunNs
Definition: QTime.hh:66
std::string GetTimeAsString() const
retrieve time of event in string format
Definition: QTime.hh:50
time_t GetTimeSec() const
retrieve time of event in seconds from 1/1/1970
Definition: QTime.hh:44
unsigned long long GetFromStartRunNs() const
retrieve time from start of run in ns
Definition: QTime.hh:38
void SetStartRunUnix(unsigned int time)
set time of start of run in seconds from 1/1/1970
Definition: QTime.hh:32
QObjectDef(QTime, 2)
time_t GetStartRunUnix() const
retrieve time of start of run in seconds from 1/1/1970
Definition: QTime.hh:41
unsigned int fStartRunUnix
Definition: QTime.hh:67
void Dump(std::ostream &o) const
dump object
Definition: QTime.cc:45
QTime()
default constructor
Definition: QTime.cc:16
void SetFromStartRunNs(unsigned long long time)
set time from start of run in ns
Definition: QTime.hh:29
void Clear()
clear values
Definition: QTime.cc:24
virtual ~QTime()
default destructor
Definition: QTime.cc:20
bool operator<(const QTime &other) const
operator<
Definition: QTime.cc:59
unsigned int GetTimeNSec() const
retrieve time of event in nanoseconds from the last second
Definition: QTime.hh:47
QTime(time_t time)
constructor from a time_t => only unixtime is set
Definition: QTime.hh:23
bool operator==(const QTime &other) const
operator==
Definition: QTime.cc:53