Hi Rene,.. up to now I was tasked by a bunch of uninteressting but important stuff,.. therefor this late answer. Rene Brun wrote: > > Hi Selim, > I could not run a complete test with your files. I am still missing > Date.H. I attached Date.H to this mail,.. [... http://root.cern.ch/root/RootCintMan.html ...] I will proceed with the [...] and also try Masaharu's advises. Many, many Thanks! Selim -- Selim Issever | Tel: 040 8998-2843 +---- I'd horsewhip you -------- DESY-F15 | Fax: 040 8998-4033 +--------- if I had a horse. --- Notkestr. 85 | selim.issever@desy.de +--------------- Groucho Marx -- 22603 Hamburg/Germany | http://www.physik.uni-dortmund.de/~issevers #ifndef Date_H #define Date_H #include <time.h> // struct tm { // int tm_sec; /* seconds after the minute - [0, 61] */ // /* for leap seconds */ // int tm_min; /* minutes after the hour - [0, 59] */ // int tm_hour; /* hour since midnight - [0, 23] */ // int tm_mday; /* day of the month - [1, 31] */ // int tm_mon; /* months since January - [0, 11] */ // int tm_year; /* years since 1900 */ // int tm_wday; /* days since Sunday - [0, 6] */ // int tm_yday; /* days since January 1 - [0, 365] */ // int tm_isdst; /* flag for alternate daylight */ // /* savings time */ // }; #include "TObject.h" #include "TList.h" // === Date ============================================================= // format: year,month,day,hour,min,sec list of decimals, // seperated by non decimals class Date { public: Date(char *aDateStr); Date(time_t aSecs=0); void set(time_t aSecs); void set(const Date& aDate); void set(char *aDateStr); void addSeconds(time_t aSecs); time_t GetSeconds() const; time_t GetDayStartSeconds() const; int GetDayHours() const; double GetTimeInHoursFromDay() const; double GetTimeInHoursFromDayFromDate(Date *aDate) const; time_t GetTimeInSecondsFromDate(Date *aDate) const; const char* GetAsString() const; const char* GetAsMyString() const; // -- comparison operators bool operator< (const Date& aDate) const; bool operator> (const Date& aDate) const; bool operator<=(const Date& aDate) const; bool operator>=(const Date& aDate) const; bool operator==(const Date& aDate) const; bool operator!=(const Date& aDate) const; private: void updateString(); char pReturner[512]; char pReturner2[512]; //struct tm pDate; time_t pSecs; }; const Date& max(const Date& aDate1, const Date& aDate2); const Date& min(const Date& aDate1, const Date& aDate2); // === DateRange ========================================================== class DateRange : public TObject { public: DateRange(time_t aStart=0, time_t aEnd=1); DateRange(const Date& aStart, const Date& aEnd); DateRange(char* aStart, char* aEnd); const Date& getStart() const; const Date& getEnd() const; bool isOverlapping(const DateRange& aDR) const; bool isntOverlapping(const DateRange& aDR) const; bool containsTotally(const DateRange& aDR) const; void merge(const DateRange& aDR); // not fool proove! may do something else than expected! DateRange* cutOut(const DateRange& aDR); // not fool proove! may do something else than expected! private: Date pStart; Date pEnd; }; // === Date vs DateRange ================================================== bool operator< (const Date& aDate, const DateRange& aDateRange); bool operator> (const Date& aDate, const DateRange& aDateRange); bool operator<=(const Date& aDate, const DateRange& aDateRange); bool operator>=(const Date& aDate, const DateRange& aDateRange); bool operator!=(const Date& aDate, const DateRange& aDateRange); bool operator==(const Date& aDate, const DateRange& aDateRange); // === DateRangeList ====================================================== class DateRangeList { public: DateRangeList(); ~DateRangeList(); void include(DateRange &aDR); void exclude(DateRange &aDR); DateRange* init(); DateRange* next(); void clear(); void show(); private: TList pDRList; TObject* pActDR; }; #endif
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:34 MET