Index: /trunk/FACT++/src/Time.cc
===================================================================
--- /trunk/FACT++/src/Time.cc	(revision 10459)
+++ /trunk/FACT++/src/Time.cc	(revision 10460)
@@ -130,4 +130,16 @@
 }
 
+double_t Time::SecondsOfDay() const
+{
+    const time_duration tod = time_of_day();
+
+    const int exp = tod.num_fractional_digits();
+
+    const double frac = tod.fractional_seconds()/pow(10, exp);
+    const double sec  = tod.total_seconds()+frac;
+
+    return sec;
+}
+
 // --------------------------------------------------------------------------
 //
@@ -141,12 +153,5 @@
 double Time::Mjd() const
 {
-    const time_duration tod = time_of_day();
-
-    const int exp = tod.num_fractional_digits();
-
-    const double frac = tod.fractional_seconds()/pow(10, exp);
-    const double sec  = tod.total_seconds()+frac;
-
-    return date().modjulian_day()+sec/(24*60*60);
+    return date().modjulian_day()+SecondsOfDay()/(24*60*60);
 
     /*
@@ -161,8 +166,12 @@
 // Return seconds since 1970/1/1
 //
-time_t Time::GetUnixTime() const
-{
-    const time_duration unx = *this - ptime(fUnixOffset);
-    return unx.total_seconds();
+double Time::UnixTime() const
+{
+    return (date().modjulian_day()-40587)*24*60*60 + SecondsOfDay();
+}
+
+double Time::RootTime() const
+{
+    return (date().modjulian_day()-49718)*24*60*60 + SecondsOfDay();
 }
 
Index: /trunk/FACT++/src/Time.h
===================================================================
--- /trunk/FACT++/src/Time.h	(revision 10459)
+++ /trunk/FACT++/src/Time.h	(revision 10460)
@@ -91,6 +91,8 @@
     unsigned int   us() const { return time_of_day().total_microseconds()%1000000; }
 
-    time_t GetUnixTime() const;
+    double SecondsOfDay() const;
 
+    double UnixTime() const;
+    double RootTime() const;
 };
 
