CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/DataFormats/Scalers/interface/TimeSpec.h

Go to the documentation of this file.
00001 
00002 #ifndef DataFormats_Scalers_TimeSpec_h
00003 #define DataFormats_Scalers_TimeSpec_h
00004 
00005 #include <ctime>
00006 
00007 class TimeSpec {
00008 
00009 public:
00010 
00011   TimeSpec() :
00012     tv_sec_(0),
00013     tv_nsec_(0) {}
00014 
00015   TimeSpec(long tv_sec, long tv_nsec) :
00016     tv_sec_(tv_sec),
00017     tv_nsec_(tv_nsec) {}
00018 
00019   TimeSpec(timespec const& ts) :
00020     tv_sec_(static_cast<long>(ts.tv_sec)),
00021     tv_nsec_(static_cast<long>(ts.tv_nsec)) {}
00022 
00023   long tv_sec() const { return tv_sec_; } 
00024   long tv_nsec() const { return tv_nsec_; }
00025 
00026   void set_tv_sec(long value) { tv_sec_ = value; } 
00027   void set_tv_nsec(long value) { tv_nsec_ = value; }
00028 
00029   timespec get_timespec() const;
00030 
00031 private:
00032 
00033   long tv_sec_;   // seconds
00034   long tv_nsec_;  // nanoseconds
00035 };
00036 
00037 #endif