Index: /trunk/Mars/mreport/MReportCC.cc
===================================================================
--- /trunk/Mars/mreport/MReportCC.cc	(revision 12772)
+++ /trunk/Mars/mreport/MReportCC.cc	(revision 12773)
@@ -37,7 +37,13 @@
 //  +  Float_t fDifRubGPS; // [us] Difference between the Rubidium clock time and the time provided by the GPS receiver
 //
+// Class Version 3:
+// ----------------
+//  * Moved weather data to new base class
+//
 //
 //////////////////////////////////////////////////////////////////////////////
 #include "MReportCC.h"
+
+#include "fits.h"
 
 #include "MLogManip.h"
@@ -51,4 +57,5 @@
 #include "MCameraRecTemp.h"
 
+ClassImp(MReportWeather);
 ClassImp(MReportCC);
 
@@ -60,5 +67,5 @@
 // is expected to have no 'subsystem' time.
 //
-MReportCC::MReportCC() : MReport("CC-REPORT", kFALSE)
+MReportCC::MReportCC() : MReportWeather("CC-REPORT")
 {
     fName  = "MReportCC";
@@ -239,5 +246,5 @@
 // Print contents of report
 //
-void MReportCC::Print(Option_t *opt) const
+void MReportWeather::Print(Option_t *opt) const
 {
     *fLog << all << GetDescriptor() << ":  Status=" << (int)GetState();
@@ -247,2 +254,10 @@
     *fLog << "km/h  SolarRad=" << Form("%4.0f", fSolarRadiation) << "W/m^2" << endl;
 }
+
+Bool_t MReportWeather::SetupReadingFits(std::fits &file)
+{
+    return
+        file.SetRefAddress("T", fTemperature) &&
+        file.SetRefAddress("H", fHumidity)    &&
+        file.SetRefAddress("v", fWindSpeed);
+}
Index: /trunk/Mars/mreport/MReportCC.h
===================================================================
--- /trunk/Mars/mreport/MReportCC.h	(revision 12772)
+++ /trunk/Mars/mreport/MReportCC.h	(revision 12773)
@@ -11,7 +11,7 @@
 class MCameraRecTemp;
 
-class MReportCC : public MReport
+class MReportWeather : public MReport
 {
-private:
+protected:
     Float_t fHumidity;        // [%]
     Float_t fTemperature;     // [deg] celsius
@@ -19,4 +19,21 @@
     Float_t fSolarRadiation;  // [W/m^2] IR-Radiation
 
+    Bool_t SetupReadingFits(std::fits &fits);
+
+public:
+    MReportWeather(const char *rep="WEATHER-REPORT")  : MReport(rep, kFALSE)
+    {
+        fName  = "MReportWeather";
+        fTitle = "Class for Weather data";
+    }
+
+    void Print(Option_t *opt) const;
+
+    ClassDef(MReportWeather, 1) // Class for Weather information
+};
+
+class MReportCC : public MReportWeather
+{
+private:
     Float_t fUPSStatus;       // arbitrary units (still not properly defined)
     Float_t fDifRubGPS;       // [us] Difference between the Rubidium clock time and the time provided by the GPS receiver
@@ -45,7 +62,5 @@
     Float_t GetSolarRadiation() const { return fSolarRadiation; }
 
-    void Print(Option_t *opt) const;
-
-    ClassDef(MReportCC, 2) // Class for CC-REPORT information
+    ClassDef(MReportCC, 3) // Class for CC-REPORT information
 };
 
