Index: /trunk/FACT++/src/DataCalib.h
===================================================================
--- /trunk/FACT++/src/DataCalib.h	(revision 14699)
+++ /trunk/FACT++/src/DataCalib.h	(revision 14700)
@@ -29,5 +29,5 @@
 
 public:
-    DataCalib(const std::string &path, uint32_t id, DimDescribedService &dim, DimDescribedService &runs, MessageImp &imp) : DataWriteFits2(path, id, imp), fDim(dim), fDimRuns(runs)
+    DataCalib(const std::string &path, uint64_t night, uint32_t id, DimDescribedService &dim, DimDescribedService &runs, MessageImp &imp) : DataWriteFits2(path, night, id, imp), fDim(dim), fDimRuns(runs)
     {
     }
Index: /trunk/FACT++/src/DataProcessorImp.cc
===================================================================
--- /trunk/FACT++/src/DataProcessorImp.cc	(revision 14699)
+++ /trunk/FACT++/src/DataProcessorImp.cc	(revision 14700)
@@ -2,4 +2,5 @@
 
 #include "FAD.h"
+#include "tools.h"
 
 #include "DimWriteStatistics.h" // weird dependency
@@ -15,5 +16,5 @@
 //! @param extension a string containing the extension to be appened to the file name
 //
-string DataProcessorImp::FormFileName(const string &path, uint32_t runid, const string &extension)
+string DataProcessorImp::FormFileName(const string &path, uint64_t night, uint32_t runid, const string &extension)
 {
     ostringstream name;
@@ -26,9 +27,5 @@
     }
 
-    const Time time;
-
-    const Time night = time - boost::posix_time::hours(12);
-
-    name << night.GetAsStr("%Y/%m/%d/");
+    name << Tools::Form("%04d/%02d/%02d/", night/10000, (night/100)%100, night%100);
 
     try
@@ -42,5 +39,5 @@
     }
 
-    name << time.NightAsInt() << '_' << setfill('0') << setw(3) << runid << '.' << extension;
+    name << night << '_' << setfill('0') << setw(3) << runid << '.' << extension;
     return name.str();
 }
Index: /trunk/FACT++/src/DataProcessorImp.h
===================================================================
--- /trunk/FACT++/src/DataProcessorImp.h	(revision 14699)
+++ /trunk/FACT++/src/DataProcessorImp.h	(revision 14700)
@@ -20,4 +20,5 @@
 {
     std::string fPath;
+    uint64_t    fNight;
     uint32_t    fRunId;
 
@@ -32,5 +33,5 @@
 
 public:
-    DataProcessorImp(const std::string &path, uint32_t id, MessageImp &imp) : fPath(path), fRunId(id), fMsg(imp) { }
+    DataProcessorImp(const std::string &path, uint64_t night, uint32_t id, MessageImp &imp) : fPath(path), fNight(night), fRunId(id), fMsg(imp) { }
     virtual ~DataProcessorImp() { }
 
@@ -44,8 +45,8 @@
     uint32_t    GetRunId() const { return fRunId; }
 
-    static std::string FormFileName(const std::string &path, uint32_t runid, const std::string &extension);
+    static std::string FormFileName(const std::string &path, uint64_t night, uint32_t runid, const std::string &extension);
     std::string FormFileName(const std::string &extension)
     {
-        return FormFileName(fPath, fRunId, extension);
+        return FormFileName(fPath, fNight, fRunId, extension);
     }
 };
@@ -58,5 +59,5 @@
 
 public:
-    DataDump(const std::string &path, uint32_t id, MessageImp &imp) : DataProcessorImp(path, id, imp) { }
+    DataDump(const std::string &path, uint64_t night, uint32_t id, MessageImp &imp) : DataProcessorImp(path, night, id, imp) { }
 
     bool Open(const RUN_HEAD* h, const FAD::RunDescription &d);
@@ -68,5 +69,5 @@
 {
 public:
-    DataDebug(const std::string &path, uint32_t id, MessageImp &imp) : DataDump(path, id, imp) { }
+    DataDebug(const std::string &path, uint64_t night, uint32_t id, MessageImp &imp) : DataDump(path, night, id, imp) { }
 
     bool WriteEvt(EVENT *e);
Index: /trunk/FACT++/src/DataWriteFits.h
===================================================================
--- /trunk/FACT++/src/DataWriteFits.h	(revision 14699)
+++ /trunk/FACT++/src/DataWriteFits.h	(revision 14700)
@@ -28,6 +28,6 @@
 
 public:
-    DataWriteFits(const std::string path, uint32_t runid, MessageImp &imp) :
-        DataProcessorImp(path, runid, imp), fConv(0), fFile(imp)
+    DataWriteFits(const std::string path, uint64_t night,  uint32_t runid, MessageImp &imp) :
+        DataProcessorImp(path, night, runid, imp), fConv(0), fFile(imp)
     {
     }
Index: /trunk/FACT++/src/DataWriteFits2.h
===================================================================
--- /trunk/FACT++/src/DataWriteFits2.h	(revision 14699)
+++ /trunk/FACT++/src/DataWriteFits2.h	(revision 14700)
@@ -22,6 +22,6 @@
 
 public:
-    DataWriteFits2(const std::string path, uint32_t runid, MessageImp &imp) :
-        DataProcessorImp(path, runid, imp)
+    DataWriteFits2(const std::string path, uint64_t night, uint32_t runid, MessageImp &imp) :
+        DataProcessorImp(path, night, runid, imp)
     {
     }
Index: /trunk/FACT++/src/DataWriteRaw.h
===================================================================
--- /trunk/FACT++/src/DataWriteRaw.h	(revision 14699)
+++ /trunk/FACT++/src/DataWriteRaw.h	(revision 14700)
@@ -68,5 +68,5 @@
 
 public:
-    DataWriteRaw(const std::string &path, uint32_t id, MessageImp &imp) : DataProcessorImp(path, id, imp), fPosTail(0) { }
+    DataWriteRaw(const std::string &path, uint64_t night, uint32_t id, MessageImp &imp) : DataProcessorImp(path, night, id, imp), fPosTail(0) { }
     ~DataWriteRaw() { if (fOut.is_open()) Close(); }
 
