Index: /trunk/FACT++/src/EventBuilderWrapper.h
===================================================================
--- /trunk/FACT++/src/EventBuilderWrapper.h	(revision 11419)
+++ /trunk/FACT++/src/EventBuilderWrapper.h	(revision 11420)
@@ -63,5 +63,5 @@
     {
         ostringstream name;
-        name << Time().NightAsInt() << '.' << setfill('0') << setw(3) << runid << '.' << extension;
+        name << Time().NightAsInt() << '_' << setfill('0') << setw(3) << runid << '.' << extension;
         return name.str();
     }
@@ -502,4 +502,6 @@
         //now the events header related variables
         WriteKey("VERSION",  h->Version,  "Builder version");
+        WriteKey("NIGHT",    Time().NightAsInt(), "Night as int");
+        WriteKey("RUNID",    GetRunId(),  "Run number");
         WriteKey("RUNTYPE",  h->RunType,  "Type of run");
         WriteKey("NBOARD",   h->NBoard,   "Number of acquisition boards");
@@ -507,4 +509,5 @@
         WriteKey("NTM",      h->NTm,      "Number of Time marks");
         WriteKey("NROI",     h->Nroi,     "Number of slices per pixels");
+        WriteKey("CAMERA",   "MGeomCamFact", "");
 /*
         //now the boards related keywords
@@ -770,4 +773,5 @@
     DimDescribedService fDimDNA;
     DimDescribedService fDimTemperature;
+    DimDescribedService fDimPrescaler;
     DimDescribedService fDimRefClock;
     DimDescribedService fDimStatistics1;
@@ -819,4 +823,5 @@
         fDimDNA         ("FAD_CONTROL/DNA",              "X:40", ""),
         fDimTemperature ("FAD_CONTROL/TEMPERATURE",      "F:82", ""),
+        fDimPrescaler   ("FAD_CONTROL/PRESCALER",        "S:42", ""),
         fDimRefClock    ("FAD_CONTROL/REFERENCE_CLOCK",  "I:42", ""),
         fDimStatistics1 ("FAD_CONTROL/STATISTICS1",      "I:3;I:2;X:4;I:3;I:1;I:2;C:40;I:40;I:40;X:40", ""),
@@ -1367,4 +1372,16 @@
     }
 
+    set<uint32_t> fStartedRuns;
+
+    bool IsRunStarted(uint32_t runno) const
+    {
+        return fStartedRuns.find(runno)!=fStartedRuns.end();
+    }
+
+    void gotNewRun(int runnr, PEVNT_HEADER *headers)
+    {
+        fStartedRuns.insert(runnr);
+    }
+
     map<boost::thread::id, string> fLastMessage;
 
@@ -1635,4 +1652,10 @@
             const boost::array<uint32_t,42> run = Compare(&h, &h.fRunNumber);
             fDimRunNumber.Update(run);
+        }
+
+        if (old.fTriggerGeneratorPrescaler != h.fTriggerGeneratorPrescaler || changed)
+        {
+            const boost::array<uint16_t,42> pre = Compare(&h, &h.fTriggerGeneratorPrescaler);
+            fDimPrescaler.Update(pre);
         }
 
@@ -1780,4 +1803,9 @@
         return EventBuilderWrapper::This->eventCheck(fadhd, event);
     }
+
+    void gotNewRun( int runnr, PEVNT_HEADER *headers )
+    {
+        return EventBuilderWrapper::This->gotNewRun(runnr, headers);
+    }
 }
 
