Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 9288)
+++ trunk/MagicSoft/Mars/Changelog	(revision 9289)
@@ -19,7 +19,30 @@
                                                  -*-*- END OF LINE -*-*-
 
+ 2009/02/02 Thomas Bretz
+
+   * mcamera/MCameraCentralPix.[h,cc]:
+     - added data member fDC
+     - increased class version number accordingly
+
+   * mreport/MReportCC.cc:
+     - improved debug output
+     - remove minus from the third argument in SCHEDULE
+
+   * mreport/MReportCamera.[h,cc]:
+     - fixed for ver>=200812140
+     - added InterpretePSSEN
+     - added InterpreteLIQ
+
+
+
  2009/01/30 Thomas Bretz
 
    * RELEASE V2.2
+
+
+ 2009/02/02 Thomas Bretz
+
+   * mjobs/MJCalibrateSignal.cc, mjobs/MJStar.cc:
+     - fixed the regular expresssion
 
 
Index: trunk/MagicSoft/Mars/mcamera/MCameraCentralPix.cc
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraCentralPix.cc	(revision 9288)
+++ trunk/MagicSoft/Mars/mcamera/MCameraCentralPix.cc	(revision 9289)
@@ -18,5 +18,5 @@
 !   Author(s): Daniel Mazin, 04/2005 <mailto:mazin@mppmu.mpg.de>
 !
-!   Copyright: MAGIC Software Development, 2000-2005
+!   Copyright: MAGIC Software Development, 2000-2009
 !
 !
@@ -27,4 +27,8 @@
 // MCameraCentralPix
 //
+// Class Version 2:
+// ----------------
+//   + Float_t fDC
+//
 /////////////////////////////////////////////////////////////////////////////
 #include "MCameraCentralPix.h"
Index: trunk/MagicSoft/Mars/mcamera/MCameraCentralPix.h
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraCentralPix.h	(revision 9288)
+++ trunk/MagicSoft/Mars/mcamera/MCameraCentralPix.h	(revision 9289)
@@ -13,6 +13,8 @@
     Bool_t fStatus; // Status of central pixel
 
+    Float_t fDC;    // [nA]
+
 public:
-    MCameraCentralPix()
+    MCameraCentralPix() : fDC(-1)
     {
         fName  = "MCameraCentralPix";
@@ -23,5 +25,5 @@
     Bool_t GetStatusCPix() const { return fStatus; } // deprecated - for compatibility only
 
-    ClassDef(MCameraCentralPix, 1) // Container storing information about the Central Pixel status
+    ClassDef(MCameraCentralPix, 2) // Container storing information about the Central Pixel status
 };
 
Index: trunk/MagicSoft/Mars/mreport/MReportCC.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCC.cc	(revision 9288)
+++ trunk/MagicSoft/Mars/mreport/MReportCC.cc	(revision 9289)
@@ -149,11 +149,15 @@
             }
 
-            const TString str2 = str(0, pos2);
+            TString str2 = str(0, pos2);
 
             str.Remove(0, pos2);
+
+            // Remove a leading minus. FIXME: What is its meaning?
+            if (str2[0]=='-')
+                str2.Remove(0, 1);
 
             if (!str2.IsDigit())
             {
-                *fLog << warn << "WARNING - Wrong type of second argument." << endl;
+                *fLog << warn << "WARNING - Wrong type of second argument: " << str2 << endl;
                 return kFALSE;
             }
Index: trunk/MagicSoft/Mars/mreport/MReportCamera.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCamera.cc	(revision 9288)
+++ trunk/MagicSoft/Mars/mreport/MReportCamera.cc	(revision 9289)
@@ -400,6 +400,6 @@
     str.Remove(0, len);
     str=str.Strip(TString::kBoth);
-    return kTRUE;
-
+
+    return kTRUE;
 }
 
@@ -443,5 +443,5 @@
 // Interprete the Central Pixel part
 //
-Bool_t MReportCamera::InterpreteCentralPix(TString &str)
+Bool_t MReportCamera::InterpreteCentralPix(TString &str, Int_t ver)
 {
     if (!CheckTag(str, "CPIX "))
@@ -450,10 +450,26 @@
     Int_t len;
     Short_t status;
-    Int_t n=sscanf(str.Data(), " %hd %n",
-                   &status, &len);
+
+    Int_t n=sscanf(str.Data(), " %hd %n", &status, &len);
     if (n!=1)
     {
         *fLog << warn << "WARNING - Reading information of 'CPIX' section." << endl;
-        return kFALSE;
+            return kFALSE;
+    }
+
+    if (ver>=200812140)
+    {
+        Int_t len2;
+        Int_t dc;
+        n=sscanf(str.Data()+len, " %d %n", &dc, &len2);
+        if (n!=1)
+        {
+            *fLog << warn << "WARNING - Reading information of 'CPIX' section." << endl;
+            return kFALSE;
+        }
+
+        fCentralPix->fDC = dc;
+
+        len += len2;
     }
 
@@ -518,4 +534,56 @@
 
     str.Remove(0, pos);
+    str=str.Strip(TString::kBoth);
+
+    return kTRUE;
+}
+
+// --------------------------------------------------------------------------
+//
+// ps: Camera cabinet power supply
+// v1: PS sensor v1
+// v2: PS sensor v2
+//
+Bool_t MReportCamera::InterpretePSSEN(TString &str)
+{
+    if (!CheckTag(str, "PSSEN "))
+        return kFALSE;
+
+    Int_t len;
+    Int_t ps, v1, v2;
+
+    const Int_t n=sscanf(str.Data(), "%d %d %d %n", &ps, &v1, &v2, &len);
+    if (n!=3)
+    {
+        *fLog << warn << "WARNING - Reading information of 'PSSEN' section." << endl;
+        return kFALSE;
+    }
+
+    str.Remove(0, len);
+    str=str.Strip(TString::kBoth);
+
+    return kTRUE;
+}
+
+// --------------------------------------------------------------------------
+//
+// liq: Liquid inside camera
+//
+Bool_t MReportCamera::InterpreteLIQ(TString &str)
+{
+    if (!CheckTag(str, "LIQ "))
+        return kFALSE;
+
+    Int_t len;
+    Int_t liq;
+
+    const Int_t n=sscanf(str.Data(), "%d %n", &liq, &len);
+    if (n!=1)
+    {
+        *fLog << warn << "WARNING - Reading information of 'LIQ' section." << endl;
+        return kFALSE;
+    }
+
+    str.Remove(0, len);
     str=str.Strip(TString::kBoth);
 
@@ -621,5 +689,5 @@
          if (!InterpreteActiveLoad(str))
             return kCONTINUE;
-         if (!InterpreteCentralPix(str))
+         if (!InterpreteCentralPix(str, ver))
             return kCONTINUE;
     }
@@ -633,10 +701,18 @@
     }
 
+    if (ver >= 200812140)
+    {
+        if (!InterpretePSSEN(str))
+            return kCONTINUE;
+        if (!InterpreteLIQ(str))
+            return kCONTINUE;
+    }
+
     if (str!="OVER")
     {
-        *fLog << warn << "WARNING - 'OVER' tag not found." << endl;
-        return kCONTINUE;
-    }
-
-    return kTRUE;
-}
+        *fLog << warn << "WARNING - 'OVER' tag not found... remaining: " << str << endl;
+        return kCONTINUE;
+    }
+
+    return kTRUE;
+}
Index: trunk/MagicSoft/Mars/mreport/MReportCamera.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportCamera.h	(revision 9288)
+++ trunk/MagicSoft/Mars/mreport/MReportCamera.h	(revision 9289)
@@ -44,7 +44,9 @@
     Bool_t InterpreteHOT(TString &str);
     Bool_t InterpreteActiveLoad(TString &str);
-    Bool_t InterpreteCentralPix(TString &str);
+    Bool_t InterpreteCentralPix(TString &str, Int_t ver);
     Bool_t InterpreteCHTEMP(TString &str);
     Bool_t InterpreteHVFIL(TString &str);
+    Bool_t InterpretePSSEN(TString &str);
+    Bool_t InterpreteLIQ(TString &str);
 
     Int_t  InterpreteBody(TString &str, Int_t ver);
