Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 2486)
+++ trunk/MagicSoft/Mars/Changelog	(revision 2487)
@@ -38,4 +38,13 @@
    * status.cc:
      - added (not yet in Makefile)
+
+   * manalysis/MMcPedestalCopy.[h,cc]:
+     - made sure, that MPedestalCam is in the list 
+     
+   * mraw/MRawEvtData.cc:
+     - set the maximum/minimum of the fadc histograms
+     
+   * mraw/MRawEvtPixelIter.[h,cc]:
+     - added a fixes for the case that fData->fLoGainPixId->GetArray()=NULL
 
 
Index: trunk/MagicSoft/Mars/Makefile
===================================================================
--- trunk/MagicSoft/Mars/Makefile	(revision 2486)
+++ trunk/MagicSoft/Mars/Makefile	(revision 2487)
@@ -74,4 +74,5 @@
 	@echo " "
 
+include Makefile.rules
 include Makefile.depend
 
@@ -127,6 +128,4 @@
 	root -b -q dohtml.C
 
-include Makefile.rules
-
 clean:	rmcint rmobjs rmcore rmlib
 
Index: trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.cc	(revision 2486)
+++ trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.cc	(revision 2487)
@@ -91,4 +91,14 @@
 // --------------------------------------------------------------------------
 //
+// Make sure, that there is an MPedestalCam Object in the Parameter List.
+//
+Int_t MMcPedestalCopy::PreProcess(MParList *pList)
+{
+    // FIXME: This should be done for MC files only...
+    return pList->FindCreateObj(AddSerialNumber("MPedestalCam")) ? kTRUE : kFALSE;
+}
+
+// --------------------------------------------------------------------------
+//
 // Check for the runtype.
 // Search for MPedestalCam and MMcFadcHeader.
Index: trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.h	(revision 2486)
+++ trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.h	(revision 2487)
@@ -10,4 +10,5 @@
 private:
     Bool_t CheckRunType(MParList *pList) const;
+    Int_t  PreProcess(MParList *pList);
     Bool_t ReInit(MParList *pList);
 
Index: trunk/MagicSoft/Mars/mraw/MRawEvtData.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 2486)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtData.cc	(revision 2487)
@@ -269,5 +269,7 @@
 
         TH1F *histhi = graphhi->GetHistogram();
-
+        histhi->SetMinimum(0);
+        histhi->SetMaximum(255);
+ 
         histhi->SetXTitle("Time/FADC Slices");
         histhi->SetYTitle("Signal/FADC Units");
@@ -302,4 +304,6 @@
 
         TH1F *histh = new TH1F(name, "FADC Samples", nh, -0.5, nh-.5);
+        histh->SetMinimum(0);
+        histh->SetMaximum(255);
         histh->SetXTitle("Time [FADC Slices]");
         histh->SetYTitle("Signal [FADC Units]");
Index: trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.cc	(revision 2486)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.cc	(revision 2487)
@@ -57,4 +57,6 @@
 ClassImp(MRawEvtPixelIter);
 
+using namespace std;
+
 MRawEvtPixelIter::MRawEvtPixelIter(MRawEvtData *dat) : fData(dat)
 {
@@ -92,5 +94,5 @@
     //
     if (fNumLoGainEntry != fData->fLoGainPixId->GetSize())
-        if (*fHiGainId == *fLoGainId)
+        if (HasLoGain())
         {
             //
@@ -133,7 +135,14 @@
     //
     fHiGainId   = fData->fHiGainPixId->GetArray()-1;
-    fLoGainId   = fData->fLoGainPixId->GetArray()-1;
+    fLoGainId   = fData->fLoGainPixId->GetArray();
     fHiGainPos  = fData->fHiGainFadcSamples->GetArray()-fNumHiGainSamples;
     fLoGainPos  = fData->fLoGainFadcSamples->GetArray()-fNumLoGainSamples;
+
+    //
+    // In case fLoGainPixId.GetSize()=0 some root versions seems to
+    // initialize the array with NULL. This makes both cases work.
+    //
+    if (fLoGainId)
+        fLoGainId -= 1;
 }
 
Index: trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.h
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.h	(revision 2486)
+++ trunk/MagicSoft/Mars/mraw/MRawEvtPixelIter.h	(revision 2487)
@@ -91,5 +91,5 @@
         // return kTRUE  the lo gains exist for the actual pixel, else return kFALSE
         //
-        return *fHiGainId==*fLoGainId;
+        return fLoGainId && *fHiGainId==*fLoGainId;
     }
 
