Index: trunk/MagicSoft/Mars/mraw/MRawEvtData.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 656)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 657)
@@ -301,6 +301,6 @@
     // Enhance array by the size which we'll read now
     //
-    Byte_t *lo = new Byte_t[nlo];
-    Byte_t *hi = new Byte_t[nhi];
+//    Byte_t *lo = new Byte_t[nlo];
+//    Byte_t *hi = new Byte_t[nhi];
 
     const int npixhi = fHiGainPixId->GetSize();
@@ -315,4 +315,7 @@
     fHiGainFadcSamples->Set(nsamhi+nhi*npic);
     fLoGainFadcSamples->Set(nsamlo+nlo*npic);
+
+    Byte_t *higainsam = fHiGainFadcSamples->GetArray()+nsamhi;
+    Byte_t *logainsam = fLoGainFadcSamples->GetArray()+nsamlo;
 
     for (int i=0; i<npic; i++)
@@ -328,18 +331,22 @@
         //  Add to lo gains if lflag = 1
         //
-        fin.read(hi, nhi);
         fHiGainPixId->AddAt(npix, npixhi+i);
-        fHiGainFadcSamples->AddAt(hi, nsamhi+i*nhi, nhi);
+        fin.read(higainsam, nhi);
+        higainsam += nhi;
+        //+++fin.read(hi, nhi);
+        //+++fHiGainFadcSamples->AddAt(hi, nsamhi+i*nhi, nhi);
 
         // FIXME: Not implemented in the raw files yet
         //if (IsLoGainOn(i, j))
         //{
-        fin.read(lo, nlo);
         fLoGainPixId->AddAt(npix, npixlo+i);
-        fLoGainFadcSamples->AddAt(lo, nsamlo+i*nlo, nlo);
+        fin.read(logainsam, nlo);
+        logainsam += nlo;
+        //+++fin.read(lo, nlo);
+        //+++fLoGainFadcSamples->AddAt(lo, nsamlo+i*nlo, nlo);
         //}
     }
-    delete lo;
-    delete hi;
-}
-
+//    delete lo;
+//    delete hi;
+}
+
