Index: /trunk/FACT++/src/DataWriteFits.cc
===================================================================
--- /trunk/FACT++/src/DataWriteFits.cc	(revision 12147)
+++ /trunk/FACT++/src/DataWriteFits.cc	(revision 12148)
@@ -121,4 +121,41 @@
             WriteKey("FWVER", i, hh.version_no, "Firmware Version");
         }
+
+        // FIXME: Calculate average ref clock frequency
+        for (int i=0; i<h->NBoard; i++)
+        {
+            const PEVNT_HEADER &hh = h->FADhead[i];
+
+            if (hh.start_package_flag==0)
+                continue;
+
+            fFile.WriteKey("RUN",   hh.runnumber, "Run number");
+            fFile.WriteKey("PRESC", hh.trigger_generator_prescaler, "Trigger generator prescaler");
+            fFile.WriteKey("PHASE", hh.adc_clock_phase_shift, "ADC clock phase shift");
+
+            for (int j=0; j<8; j++)
+            {
+                ostringstream dac;
+                dac << "DAC" << j;
+                fFile.WriteKey(dac.str(), hh.dac[j], "DAC command value");
+            }
+
+            break;
+        }
+
+        double avg = 0;
+        int    cnt = 0;
+        for (int i=0; i<h->NBoard; i++)
+        {
+            const PEVNT_HEADER &hh = h->FADhead[i];
+
+            if (hh.start_package_flag==0)
+                continue;
+
+            avg += hh.REFCLK_frequency;
+            cnt ++;
+        }
+
+        fFile.WriteKey("REFCLK", avg/cnt, "Average reference clock frequency in Hz");
     }
     catch (const CCfits::FitsException &e)
@@ -127,39 +164,4 @@
         return false;
     }
-
-    /*
-     //now the boards related keywords
-     for (int i=0; i<h->NBoard; i++)
-     {
-     const PEVNT_HEADER &hh = h->FADhead[i];
-
-     WriteKey("STPKGFG", i, hh.start_package_flag, "Start package flag");
-     WriteKey("PKGLEN",  i, hh.package_length, "Package length");
-     WriteKey("STATUS",  i, hh.PLLLCK, "");
-
-     //            WriteKey("TRIGCRC", i, hh.trigger_crc,      "Trigger CRC");
-     //            WriteKey("TRIGTYP", i, hh.trigger_type,     "Trigger type");
-     //            WriteKey("TRIGID",  i, hh.trigger_id,       "Trigger ID");
-     //            WriteKey("EVTCNTR", i, hh.fad_evt_counter,  "FAD Event Counter");
-     //            WriteKey("REFCLK",  i, hh.REFCLK_frequency, "Reference Clock Frequency");
-
-     WriteKey("PHASESH", i, hh.adc_clock_phase_shift,          "ADC clock phase shift");
-     WriteKey("TRGGEN",  i, hh.number_of_triggers_to_generate, "Number of triggers to generate");
-     WriteKey("PRESC",   i, hh.trigger_generator_prescaler,    "Trigger generator prescaler");
-     WriteKey("RUNNB",   i, hh.runnumber,                      "Run number");
-
-     WriteKey("TIME",    i, hh.time,      "Time");
-
-     //            for (int j=0;j<NTemp;j++)
-     //            {
-     //                str.str(""); str2.str("");
-     //                str << "DRS_T" << i << j;
-     //                str2 << "DRS temperature #" << i << " " << j;
-     //                WriteKey(str.str(), h->FADhead[i].drs_temperature[j], str2.str());
-     //            }
-     for (int j=0;j<NDAC;j++)
-     WriteKey("DAC", i*NDAC+j, hh.dac[j], "DAC");
-     }
-     */
 
     //Last but not least, add header keys that will be updated when closing the file
