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 --------------371FE2679189191188D61EED Content-Type: text/plain; charset=us-ascii; name="Date.H" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Date.H"#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
--------------371FE2679189191188D61EED--