Back to index

See source file

PHTimeStamp.h

 
//----------------------------------------------------------------------------- 
//  $Header: /afs/rhic/phenix/PHENIX_CVS/offline/database/pdbcal/PHTimeStamp.h,v 1.6 2000/06/04 04:13:55 purschke Exp $ 
// 
//  The PHOOL's Software 
//  Copyright (C) PHENIX collaboration, 1999 
// 
//  Purpose: PHENIX - wide time stamp class 
// 
//  Declaration of class PHTimeStamp 
// 
//  Author: Matthias Messer 
//----------------------------------------------------------------------------- 
#ifndef __PHTIMESTAMP_H__ 
#define __PHTIMESTAMP_H__ 
 
#include "iostream.h" 
#include <time.h> 
 
typedef unsigned long long phtime_t; 
 
class PHTimeStamp {  
public: 
   enum { PHFarFuture = 2147483647 }; 
    
   PHTimeStamp();  
   PHTimeStamp(int, int, int, int, int, int, int = 0); 
   PHTimeStamp(time_t); 
   ~PHTimeStamp();  
 
public:  
   void set(int, int, int, int, int, int, int = 0); 
   void set(const char *); 
   void setToSystemTime(); 
   void setToFarFuture() { setTics(PHFarFuture); } 
    
   phtime_t getBinaryTime() const { return binaryTime; } 
    
   time_t getTics() const; 
   void   setTics(time_t); 
 
   int isInRange(const PHTimeStamp &, const PHTimeStamp &); 
   void print(); 
    
   int operator == (const PHTimeStamp &) const; 
   int operator != (const PHTimeStamp &) const; 
   int operator >  (const PHTimeStamp &) const; 
   int operator >= (const PHTimeStamp &) const; 
   int operator <  (const PHTimeStamp &) const; 
   int operator <= (const PHTimeStamp &) const; 
 
   PHTimeStamp & operator =  (const PHTimeStamp &); 
   PHTimeStamp   operator += (time_t); 
   PHTimeStamp   operator -= (time_t); 
 
 
   char * formatTimeString() const; 
   void print() const; 
   
private: 
   phtime_t ticsToBinaryTime(time_t) const; 
   time_t   binaryTimeToTics(phtime_t) const; 
   
protected:  
   phtime_t binaryTime; 
 
};  
 
PHTimeStamp operator + (const PHTimeStamp &, time_t); 
PHTimeStamp operator - (const PHTimeStamp &, time_t); 
time_t      operator - (const PHTimeStamp &, const PHTimeStamp &); 
 
ostream &   operator << (ostream &, const PHTimeStamp &); 
istream &   operator >> (istream &, PHTimeStamp &); 
    
#endif /* __PHTIMESTAMP_H__ */  

Back to index

See source file