Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 5013)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 5014)
@@ -32,4 +32,7 @@
 
  2004/09/14: Markus Gaug
+
+   * mhcalib/MHCalibration*Cam.[h,cc]
+     - added MBadpixelsIntenstiyCam
 
    * mbadpixels/MBadPixelsIntensityCam.[h,cc]
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.cc	(revision 5013)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.cc	(revision 5014)
@@ -69,6 +69,7 @@
 #include "MCalibrationPix.h"
 
+#include "MBadPixelsIntensityCam.h"
+#include "MBadPixelsCam.h"
 #include "MBadPixelsPix.h"
-#include "MBadPixelsCam.h"
 
 #include "MGeomCam.h"
@@ -112,5 +113,5 @@
     :  fHistName(gsHistName),fHistTitle(gsHistTitle),
        fHistXTitle(gsHistXTitle),fHistYTitle(gsHistYTitle), 
-       fColor(MCalibrationCam::kNONE), 
+       fColor(MCalibrationCam::kNONE), fIntensBad(NULL),
        fBadPixels(NULL), fIntensCam(NULL), fCam(NULL), fGeom(NULL), fRunHeader(NULL)
 {
@@ -466,4 +467,5 @@
 //
 // Gets or creates the pointers to:
+// - MBadPixelsIntensityCam
 // - MBadPixelsCam
 //
@@ -503,18 +505,24 @@
   const Int_t nareas   = fGeom->GetNumAreas();
 
-  fBadPixels = (MBadPixelsCam*)pList->FindObject("MBadPixelsCam");
-  if (!fBadPixels)
-    {
-
-      fBadPixels = (MBadPixelsCam*)pList->FindCreateObj(AddSerialNumber("MBadPixelsCam"));
+  fIntensBad = (MBadPixelsIntensityCam*)pList->FindObject(AddSerialNumber("MBadPixelsIntensityCam"));
+  if (fIntensBad)
+    *fLog << inf << "Found MBadPixelsIntensityCam ... " << endl;
+  else
+    {
+      fBadPixels = (MBadPixelsCam*)pList->FindObject("MBadPixelsCam");
       if (!fBadPixels)
         {
-          *fLog << err << "Cannot find nor create MBadPixelsCam ... abort." << endl;
-          return kFALSE;
+          
+          fBadPixels = (MBadPixelsCam*)pList->FindCreateObj(AddSerialNumber("MBadPixelsCam"));
+          if (!fBadPixels)
+            {
+              *fLog << err << "Cannot find nor create MBadPixelsCam ... abort." << endl;
+              return kFALSE;
+            }
+          else 
+            fBadPixels->InitSize(npixels);
         }
-      else 
-        fBadPixels->InitSize(npixels);
-    }
-
+    }
+  
   if (IsAverageing())
     {
@@ -538,5 +546,7 @@
       for (Int_t i=0; i<npixels; i++)
         {
-          if ((*fBadPixels)[i].IsBad())
+          
+          MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
+          if (bad.IsBad())
             continue;
           
@@ -647,5 +657,6 @@
         h->SetYTitle(fHistYTitle.Data());
         
-        InitHists(pix,(*fBadPixels)[i],i);
+        MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
+        InitHists(pix,bad,i);
       }
   }
@@ -759,5 +770,6 @@
           h->SetYTitle(fHistYTitle.Data());
 
-          InitHists(pix,(*fBadPixels)[i],i);
+          MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
+          InitHists(pix,bad,i);
       }
   }
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.h
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.h	(revision 5013)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationCam.h	(revision 5014)
@@ -34,4 +34,5 @@
 class MCalibrationCam;
 class MCalibrationPix;
+class MBadPixelsIntensityCam;
 class MBadPixelsCam;
 class MBadPixelsPix;
@@ -78,5 +79,6 @@
 
   MCalibrationCam::PulserColor_t fColor; // Colour of the pulsed LEDs
-  
+
+  MBadPixelsIntensityCam *fIntensBad;    //! Bad Pixels intensity calibration storage container  
   MBadPixelsCam    *fBadPixels;          //! Bad Pixels storage container
   MCalibrationIntensityCam *fIntensCam;  //! Intensity Calibration Cam with the results
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc	(revision 5013)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc	(revision 5014)
@@ -127,4 +127,5 @@
 #include "MGeomPix.h"
 
+#include "MBadPixelsIntensityCam.h"
 #include "MBadPixelsCam.h"
 #include "MBadPixelsPix.h"
@@ -430,5 +431,6 @@
         h->SetYTitle(fAbsHistYTitle.Data());
 
-        InitHists((*this)[i],(*fBadPixels)[i],i);
+        MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
+        InitHists((*this)[i],bad,i);
       }
   }
@@ -592,5 +594,6 @@
           h->SetYTitle(fAbsHistYTitle.Data());
 
-          InitHists(pix,(*fBadPixels)[i],i);
+          MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
+          InitHists(pix,bad,i);
       }
   }
@@ -949,5 +952,5 @@
         }
 
-      MBadPixelsPix          &bad    = (*fBadPixels)[i];
+      MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
 
       h = histhi.GetHGausHist();
@@ -979,5 +982,5 @@
         
         MHCalibrationChargePix &histlo = (MHCalibrationChargePix&)(*this)(i);
-        MBadPixelsPix          &bad    = (*fBadPixels)[i];
+        MBadPixelsPix &bad = fIntensBad ? (*fIntensBad)[i] : (*fBadPixels)[i];
         
         if (histlo.IsExcluded())
@@ -1037,5 +1040,5 @@
         }
 
-      MBadPixelsPix          &bad    = fIntensCam 
+      MBadPixelsPix &bad    = fIntensCam 
         ? fIntensCam->GetAverageBadArea(j)
         : fCam->GetAverageBadArea(j);
@@ -1063,5 +1066,5 @@
         if (pix.IsHiGainSaturation())
           {
-            MBadPixelsPix          &bad    = fIntensCam
+            MBadPixelsPix &bad    = fIntensCam
               ? fIntensCam->GetAverageBadArea(j)  
               : fCam->GetAverageBadArea(j);      
@@ -1087,5 +1090,5 @@
         }
 
-      MBadPixelsPix          &bad    = fIntensCam 
+      MBadPixelsPix &bad = fIntensCam 
         ? fIntensCam->GetAverageBadSector(j)
         : fCam->GetAverageBadSector(j);      
@@ -1124,5 +1127,5 @@
   //
   FitHiGainArrays(fIntensCam ? (MCalibrationCam&)(*fIntensCam->GetCam()) : (MCalibrationCam&)(*fCam),
-                  *fBadPixels,
+                  fIntensBad ?                   (*fIntensBad->GetCam()) : *fBadPixels,
                   MBadPixelsPix::kHiGainNotFitted,
                   MBadPixelsPix::kHiGainOscillating);
@@ -1133,5 +1136,5 @@
   if (IsLoGain())
     FitLoGainArrays(fIntensCam ? (MCalibrationCam&)(*fIntensCam->GetCam()) : (MCalibrationCam&)(*fCam),
-                    *fBadPixels,
+                    fIntensBad ?                   (*fIntensBad->GetCam()) : *fBadPixels,
                     MBadPixelsPix::kLoGainNotFitted,
                     MBadPixelsPix::kLoGainOscillating);
@@ -1191,9 +1194,11 @@
 void MHCalibrationChargeCam::FinalizeBadPixels()
 {
-      
-  for (Int_t i=0; i<fBadPixels->GetSize(); i++)
-    {
-      
-      MBadPixelsPix    &bad    = (*fBadPixels)[i];
+
+  MBadPixelsCam *badcam = fIntensBad ? fIntensBad->GetCam() : fBadPixels;
+      
+  for (Int_t i=0; i<badcam->GetSize(); i++)
+    {
+      
+      MBadPixelsPix    &bad    = (*badcam)[i];
       MCalibrationPix  &pix    = fIntensCam ? (*fIntensCam)[i] : (*fCam)[i];
 
@@ -1219,13 +1224,4 @@
         }
     }
-}
-
-// --------------------------------------------------------------------------
-//
-// Dummy, needed by MCamEvent
-//
-Bool_t MHCalibrationChargeCam::GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type) const
-{
-  return kTRUE;
 }
 
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.h
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.h	(revision 5013)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.h	(revision 5014)
@@ -119,5 +119,5 @@
   void SetAbsHistYTitle( const char *name )  { fAbsHistYTitle = name; }
    
-  Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const;
+  Bool_t GetPixelContent ( Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const { return kTRUE; }
   void   DrawPixelContent( Int_t num )  const;    
 
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationRelTimeCam.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationRelTimeCam.cc	(revision 5013)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationRelTimeCam.cc	(revision 5014)
@@ -105,4 +105,5 @@
 #include "MGeomPix.h"
 
+#include "MBadPixelsIntensityCam.h"
 #include "MBadPixelsCam.h"
 #include "MBadPixelsPix.h"
@@ -484,5 +485,5 @@
 
   FitHiGainArrays(fIntensCam ? (MCalibrationCam&)(*fIntensCam->GetCam()) : (MCalibrationCam&)(*fCam),
-                  *fBadPixels,
+                  fIntensBad ?                   (*fIntensBad->GetCam()) : *fBadPixels,
                   MBadPixelsPix::kRelTimeNotFitted,
                   MBadPixelsPix::kRelTimeOscillating);
@@ -490,5 +491,5 @@
   if (IsLoGain())        
     FitLoGainArrays(fIntensCam ? (MCalibrationCam&)(*fIntensCam->GetCam()) : (MCalibrationCam&)(*fCam),
-                    *fBadPixels,
+                    fIntensBad ?                   (*fIntensBad->GetCam()) : *fBadPixels,
                     MBadPixelsPix::kRelTimeNotFitted,
                     MBadPixelsPix::kRelTimeOscillating);
@@ -506,8 +507,9 @@
 {
 
-  for (Int_t i=0; i<fBadPixels->GetSize(); i++)
-    {
-      
-      MBadPixelsPix          &bad    = (*fBadPixels)[i];
+  MBadPixelsCam *badcam = fIntensBad ? fIntensBad->GetCam() : fBadPixels;
+
+  for (Int_t i=0; i<badcam->GetSize(); i++)
+    {
+      MBadPixelsPix          &bad    = (*badcam)[i];
 
       if (bad.IsUncalibrated( MBadPixelsPix::kRelTimeNotFitted ))
