Index: trunk/Mars/mraw/MRawFileRead.cc
===================================================================
--- trunk/Mars/mraw/MRawFileRead.cc	(revision 11430)
+++ trunk/Mars/mraw/MRawFileRead.cc	(revision 11431)
@@ -162,4 +162,21 @@
 }
 
+istream *MRawFileRead::OpenFile(const char *filename)
+{
+    return new MZlib(filename);
+}
+
+Bool_t MRawFileRead::ReadRunHeader(istream &fin)
+{
+    //
+    // Read RUN HEADER (see specification) from input stream
+    //
+    if (!fRawRunHeader->ReadEvt(fin))
+        if (!fForce)
+            return kFALSE;
+
+    return kTRUE;
+}
+
 // --------------------------------------------------------------------------
 //
@@ -188,5 +205,5 @@
 
     const char *expname = gSystem->ExpandPathName(name);
-    fIn = new MZlib(expname);
+    fIn = OpenFile(expname);
 
     const Bool_t noexist = !(*fIn);
@@ -220,15 +237,11 @@
     MRawRunHeader h(*fRawRunHeader);
 
-    //
-    // Read RUN HEADER (see specification) from input stream
-    //
-    if (!fRawRunHeader->ReadEvt(*fIn))
-        if (!fForce)
-            return kERROR;
+    if (!ReadRunHeader(*fIn))
+        return kERROR;
 
     if (!(*fIn))
     {
         *fLog << err << "Error: Accessing file '" << name << "'" << endl;
-        return kERROR;
+        return kFALSE;
     }
 
Index: trunk/Mars/mraw/MRawFileRead.h
===================================================================
--- trunk/Mars/mraw/MRawFileRead.h	(revision 11430)
+++ trunk/Mars/mraw/MRawFileRead.h	(revision 11431)
@@ -7,5 +7,4 @@
 
 class TList;
-class MZlib;
 class MTaskList;
 
@@ -18,5 +17,5 @@
     UInt_t    fNumTotalEvents; //! total number of events in all files
 
-    MZlib    *fIn;             //! input stream (file to read from)
+    istream  *fIn;             //! input stream (file to read from)
 
     MParList *fParList;        //! tasklist to call ReInit from
@@ -25,4 +24,7 @@
 
     Bool_t    fForce;
+
+    virtual istream *OpenFile(const char *filename);
+    virtual Bool_t   ReadRunHeader(istream &fin);
 
     Int_t  OpenNextFile(Bool_t print=kTRUE);
