Index: /trunk/Mars/msim/MPhotonEvent.cc
===================================================================
--- /trunk/Mars/msim/MPhotonEvent.cc	(revision 18540)
+++ /trunk/Mars/msim/MPhotonEvent.cc	(revision 18541)
@@ -554,4 +554,31 @@
         operator[](i).SimWavelength(wmin, wmax);
 }
+
+Int_t MPhotonEvent::ReadEventIoEvtCompact(MCorsikaFormat *fInFormat)
+{
+   Int_t bunchHeader[3];
+   fInFormat->Read(bunchHeader, 3 * sizeof(Int_t));
+
+   Int_t n = 0;
+
+   for (int bunch = 0; bunch < bunchHeader[2]; bunch++)
+   {
+       Short_t buffer[8];
+       fInFormat->Read(buffer, 8 * sizeof(Short_t));
+
+       if (Add(n).FillEventIO(buffer))
+           n++;
+   }
+
+   Resize(n);
+   fData.UnSort();
+
+   SetReadyToSave();
+
+   //*fLog << all << "Number of photon bunches: " << fData.GetEntriesFast() << endl;
+   return kTRUE;
+
+}
+
 Int_t MPhotonEvent::ReadEventIoEvt(MCorsikaFormat *fInFormat)
 {
Index: /trunk/Mars/msim/MPhotonEvent.h
===================================================================
--- /trunk/Mars/msim/MPhotonEvent.h	(revision 18540)
+++ /trunk/Mars/msim/MPhotonEvent.h	(revision 18541)
@@ -63,4 +63,5 @@
     // I/O
     Int_t ReadEventIoEvt(MCorsikaFormat *fInFormat);
+    Int_t ReadEventIoEvtCompact(MCorsikaFormat *fInFormat);
     Int_t ReadCorsikaEvt(Float_t * data, Int_t numEvents, Int_t arrayIdx);
 
