Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 4021)
+++ trunk/MagicSoft/Mars/Changelog	(revision 4022)
@@ -31,4 +31,12 @@
    * Makefile.rules:
      - added DYLIB to rmbin
+
+   * mraw/MRawEvtData.cc:
+     - changed some output
+
+   * mraw/MRawEvtHeader.[h,cc]:
+     - skip the rest of the header if the time is invalid. Otherwise
+       merpps force-mode will corrupt the data when further processing
+     - implemented GetNumBytes returning the size of the header
 
 
Index: trunk/MagicSoft/Mars/mraw/MRawEvtData.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 4021)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 4022)
@@ -438,5 +438,5 @@
     {
         *fLog << err << "RawEvtData::AddPixel: Error, number of samples in ";
-        *fLog << "TArrayC doesn't match actual number" << endl;
+        *fLog << "TArrayC " << ns << " doesn't match current number " << nSamp << endl;
         return;
     }
Index: trunk/MagicSoft/Mars/mraw/MRawEvtHeader.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtHeader.cc	(revision 4021)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtHeader.cc	(revision 4022)
@@ -310,5 +310,7 @@
         if (!DecodeTime(abstime))
         {
-            *fLog << warn << "WARNING - Event time in event header invalid... abort." << endl;
+            *fLog << warn << "WARNING - Event time in event header invalid..." << endl;
+            // Skip the rest of the header in case of merpps force-mode
+            fin.seekg(GetNumBytes()-12, ios::cur);
             return kCONTINUE;
         }
@@ -335,5 +337,5 @@
 void MRawEvtHeader::SkipEvt(istream &fin, UShort_t ver)
 {
-    fin.seekg(36+fPixLoGainOn->GetSize(), ios::cur);
+    fin.seekg(GetNumBytes(), ios::cur);
 }
 
@@ -361,8 +363,4 @@
 UInt_t MRawEvtHeader::GetTriggerID() const
 {
-  UInt_t trigID=0;
-
-  trigID = fTrigPattern[0];
-
-  return trigID;
-}
+    return fTrigPattern[0];
+}
Index: trunk/MagicSoft/Mars/mraw/MRawEvtHeader.h
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtHeader.h	(revision 4021)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtHeader.h	(revision 4022)
@@ -47,4 +47,6 @@
     Bool_t DecodeTime(UInt_t abstime[2]) const;
 
+    Int_t GetNumBytes() const { return 36+fPixLoGainOn->GetSize(); }
+
 public:
     MRawEvtHeader(const char *name=NULL, const char *title=NULL);
