Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3046)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3047)
@@ -6,6 +6,12 @@
  2004/02/06: Thomas Bretz
 
-  * mhist/MHPixVsTime.[h,cc]:
-    - changed such that you can set the name of the time container now 
+   * mhist/MHPixVsTime.[h,cc]:
+     - changed such that you can set the name of the time container now 
+
+   * mraw/MRawRunHeader.[h,cc]:
+     - added GetMaxPixId()
+
+   * mraw/MRawEvtData.cc:
+     - fixed wrong size calculation for fABflags
 
 
@@ -13,7 +19,7 @@
  2004/02/06: Oscar Blanch
 
-  * mmc/MFadcDefine.h && mmc/MMcFadcHeader.cxx
-    - We cahnged the name (and values) of the global variable
-       MFADC_RESPONSE_AMPLITUDE to  MFADC_RESPONSE_INTEGRAL
+   * mmc/MFadcDefine.h && mmc/MMcFadcHeader.cxx
+     - We cahnged the name (and values) of the global variable
+        MFADC_RESPONSE_AMPLITUDE to  MFADC_RESPONSE_INTEGRAL
 
 
Index: trunk/MagicSoft/Mars/mraw/MRawEvtData.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 3046)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 3047)
@@ -399,5 +399,5 @@
         fHiGainFadcSamples = new MArrayB(npix*fRunHeader->GetNumSamplesHiGain());
         fLoGainFadcSamples = new MArrayB(npix*fRunHeader->GetNumSamplesLoGain());
-        fABFlags           = new TArrayC((npix-1)/8+1);
+        fABFlags           = new TArrayC(fRunHeader->GetMaxPixId());
 
         fArraySize  = npix;
Index: trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 3046)
+++ trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 3047)
@@ -235,4 +235,9 @@
 }
 
+// --------------------------------------------------------------------------
+//
+// Return the number of pixel which are markes as connected in the
+// pix assignment (>0)
+//
 UShort_t MRawRunHeader::GetNumConnectedPixels() const
 {
@@ -241,6 +246,23 @@
     UShort_t rc = 0;
     for (int i=0; i<num; i++)
+    {
         if (GetPixAssignment(i)>0)
             rc++;
+    }
+    return rc;
+}
+
+// --------------------------------------------------------------------------
+//
+// Return the maximum id which exists in the pix assignment
+//
+UShort_t MRawRunHeader::GetMaxPixId() const
+{
+    const Int_t num = fPixAssignment->GetSize();
+
+    UShort_t rc = 0;
+    for (int i=0; i<num; i++)
+        rc = TMath::Max(GetPixAssignment(i), rc);
+
     return rc;
 }
Index: trunk/MagicSoft/Mars/mraw/MRawRunHeader.h
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawRunHeader.h	(revision 3046)
+++ trunk/MagicSoft/Mars/mraw/MRawRunHeader.h	(revision 3047)
@@ -93,4 +93,5 @@
     const MTime &GetRunEnd() const        { return fRunStop; }
     UShort_t GetPixAssignment(UShort_t i) const;
+    UShort_t GetMaxPixId() const;
     UShort_t GetNumConnectedPixels() const;
 
