Index: trunk/MagicSoft/Mars/mcalib/CalibLinkDef.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/CalibLinkDef.h	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/CalibLinkDef.h	(revision 8408)
@@ -19,5 +19,4 @@
 #pragma link C++ class MCalibrationIntensityCam+;
 #pragma link C++ class MCalibrationIntensityChargeCam+;
-#pragma link C++ class MCalibrationIntensityConstCam+;
 #pragma link C++ class MCalibrationIntensityBlindCam+;
 #pragma link C++ class MCalibrationIntensityQECam+;
Index: trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.cc	(revision 8408)
@@ -32,5 +32,4 @@
 //   MCalibrationIntensityChargeCam
 //   MCalibrationIntensityRelTimeCam
-//   MCalibrationIntensityConstCam
 //   MBadPixelsIntensityCam 
 //
@@ -63,6 +62,5 @@
 #include "MCalibrationIntensityBlindCam.h"
 #include "MCalibrationIntensityQECam.h"
-#include "MCalibrationIntensityRelTimeCam.h"
-#include "MCalibrationIntensityConstCam.h"
+//#include "MCalibrationIntensityRelTimeCam.h"
 
 #include "MBadPixelsIntensityCam.h"
@@ -90,5 +88,5 @@
 MCalibCalcFromPast::MCalibCalcFromPast(const char *name, const char *title)
     : fGeom(NULL), fParList(NULL), fRunHeader(NULL),
-      fIntensCharge(NULL), fIntensBlind(NULL), fIntensRelTime(NULL), fIntensConst(NULL),
+      fIntensCharge(NULL), fIntensBlind(NULL), fIntensRelTime(NULL),
       fIntensBad(NULL),
       fChargeCalc(NULL), fRelTimeCalc(NULL), fCalibrate(NULL),
@@ -165,5 +163,4 @@
     fIntensCharge = (MCalibrationIntensityChargeCam*)pList->FindCreateObj("MCalibrationIntensityChargeCam");
     fIntensQE     = (MCalibrationIntensityQECam*)    pList->FindCreateObj("MCalibrationIntensityQECam");
-    fIntensConst  = (MCalibrationIntensityConstCam*) pList->FindCreateObj("MCalibrationIntensityConstCam");
 
     if (!fIntensCharge)
@@ -171,7 +168,4 @@
     if (!fIntensQE)
         return kFALSE;
-    if (!fIntensConst)
-        return kFALSE;
-    
 
     MCalibrationChargeCam *chargeinit = (MCalibrationChargeCam*)pList->FindObject("MCalibrationChargeCam");
@@ -188,14 +182,6 @@
       *fLog << "Could not find initial MCalibrationQECam, cannot initialize intensity cam" << endl;
 
-    fIntensConst->GetCam()->Init(*fGeom);
-
     if (!fChargeCalc)
       fChargeCalc   = (MCalibrationChargeCalc*)pList->FindObject("MCalibrationChargeCalc");
-
-    if (!fCalibrate)
-      fCalibrate   = (MCalibrateData*)pList->FindObject("MCalibrateData");
-    
-    *fLog << inf << "Found MHCalibrationChargeCam ... " << flush;
-
     if (!fChargeCalc)
       {
@@ -205,10 +191,15 @@
 
     if (!fCalibrate)
+      fCalibrate   = (MCalibrateData*)pList->FindObject("MCalibrateData");
+    if (!fCalibrate)
       {
         *fLog << err << "Could not find MCalibrateData abort... " << endl;
         return kFALSE;
       }
-  }
-      
+    
+    *fLog << inf << "Found MHCalibrationChargeCam ... " << flush;
+
+  }
+
   // 
   // Look for the MFillH name "FillRelTimeCam". In case yes, initialize the 
@@ -219,9 +210,4 @@
 
     fIntensRelTime = (MCalibrationIntensityRelTimeCam*)pList->FindCreateObj("MCalibrationIntensityRelTimeCam");
-    if (!fRelTimeCalc)
-      fRelTimeCalc   = (MCalibrationRelTimeCalc*)pList->FindObject(AddSerialNumber("MCalibrationRelTimeCalc"));
-
-    *fLog << inf << "Found MHCalibrationRelTimeCam ... " << flush;
-
     if (!fIntensRelTime)
       {
@@ -231,8 +217,12 @@
 
     if (!fRelTimeCalc)
+      fRelTimeCalc   = (MCalibrationRelTimeCalc*)pList->FindObject(AddSerialNumber("MCalibrationRelTimeCalc"));
+    if (!fRelTimeCalc)
       {
         *fLog << err << "Could not find MCalibrationRelTimeCalc abort... " << endl;
         return kFALSE;
       }
+
+    *fLog << inf << "Found MHCalibrationRelTimeCam ... " << flush;
   }
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.h	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/MCalibCalcFromPast.h	(revision 8408)
@@ -21,5 +21,4 @@
 class MCalibrationIntensityQECam;
 class MCalibrationIntensityRelTimeCam;
-class MCalibrationIntensityConstCam;
 class MBadPixelsIntensityCam;
 
@@ -37,5 +36,4 @@
   MCalibrationIntensityQECam      *fIntensQE;        //! Intensity QE     Cam (to be created)
   MCalibrationIntensityRelTimeCam *fIntensRelTime;   //! Intensity Rel. Time Cam (to be created)
-  MCalibrationIntensityConstCam   *fIntensConst;     //! Intensity Rel. Time Cam (to be created)
   MBadPixelsIntensityCam          *fIntensBad;       //! Intensity Bad Pixels Cam (to be created)
   
Index: trunk/MagicSoft/Mars/mcalib/MCalibConstCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibConstCam.cc	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/MCalibConstCam.cc	(revision 8408)
@@ -18,14 +18,19 @@
 !   Author(s): Markus Gaug    01/2005 <mailto:markus@ifae.es>
 !
-!   Copyright: MAGIC Software Development, 2000-2005
+!   Copyright: MAGIC Software Development, 2000-2007
 !
 \* ======================================================================== */
 
 /////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-// MCalibConstCam                                                          //
-//                                                                         //
-// Hold the temporary conversion factors for MCalibrateDatara              //
-//                                                                         //
+//
+// MCalibConstCam
+//
+// Hold the temporary conversion factors for MCalibrateDatara
+//
+// Version 2:
+// ---------
+//   - fRunNumber
+//
+//
 /////////////////////////////////////////////////////////////////////////////
 #include "MCalibConstCam.h"
@@ -40,7 +45,11 @@
 #include "MGeomPix.h"
 
+#include "MBadPixelsCam.h"
+#include "MBadPixelsPix.h"
+
 ClassImp(MCalibConstCam);
 
 using namespace std;
+
 // --------------------------------------------------------------------------
 //
@@ -59,5 +68,6 @@
 // has to be performed (in MGeomApply). 
 //
-MCalibConstCam::MCalibConstCam(const char *name, const char *title) 
+MCalibConstCam::MCalibConstCam(const char *name, const char *title)
+    : fBadPixels(0)
 {
   fName  = name  ? name  : "MCalibConstCam";
@@ -253,4 +263,7 @@
 {
     if (GetSize() <= idx)
+        return kFALSE;
+
+    if (fBadPixels && (*fBadPixels)[idx].IsUnsuitable())
         return kFALSE;
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibConstCam.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibConstCam.h	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/MCalibConstCam.h	(revision 8408)
@@ -13,7 +13,8 @@
 #endif
 
-
 class MGeomCam;
 class MCalibConstPix;
+class MBadPixelsCam;
+
 class MCalibConstCam : public MParContainer, public MCamEvent
 {
@@ -24,6 +25,8 @@
   TClonesArray *fAverageSectors;  //-> Array of MCalibConstPix, one per camera sector
 
-  Int_t fRunNumber;               // Run number
-  
+  //Int_t fRunNumber;               // Run number
+
+  MBadPixelsCam *fBadPixels;      //!
+
 public:
 
@@ -54,10 +57,11 @@
 
   // Setters
-  void SetRunNumber( const Int_t n )   {  fRunNumber = n; }
+  //void SetRunNumber(const Int_t n)    { fRunNumber = n; }
+  void SetBadPixels(MBadPixelsCam *b) { fBadPixels = b; }
   
   Bool_t GetPixelContent (Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const;
   void   DrawPixelContent(Int_t idx) const;
 
-  ClassDef(MCalibConstCam, 1)	// Temporary Storage for calibration constants
+  ClassDef(MCalibConstCam, 2)	// Temporary Storage for calibration constants
 };
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc	(revision 8408)
@@ -1,4 +1,4 @@
 /* ======================================================================== *\
-! $Name: not supported by cvs2svn $:$Id: MCalibrateData.cc,v 1.65 2007-04-11 13:35:13 tbretz Exp $
+! $Name: not supported by cvs2svn $:$Id: MCalibrateData.cc,v 1.66 2007-04-17 12:39:14 tbretz Exp $
 ! --------------------------------------------------------------------------
 !
@@ -122,5 +122,4 @@
 #include "MCalibrationQEPix.h"
  
-#include "MCalibrationIntensityConstCam.h"
 #include "MCalibConstCam.h"
 #include "MCalibConstPix.h"
@@ -159,5 +158,4 @@
     : fGeomCam(NULL),   fBadPixels(NULL), fCalibrations(NULL), fIntensCalib(NULL),
       fQEs(NULL), fIntensQE(NULL), fSignals(NULL), fCerPhotEvt(NULL), fCalibConstCam(NULL),
-    fIntensConst(NULL), /*fPedestalExt(NULL), fPedestalRndm(NULL), fPedPhotCam(NULL),*/
     fPedestalFlag(kNo), fSignalType(kPhot), fRenormFactor(1.), fScaleFactor(1.)
 {
@@ -216,23 +214,4 @@
         return kFALSE;
     }
-    /*
-    fPedPhotCam = (MPedPhotCam*)pList->FindCreateObj("MPedPhotCam");
-    if (!fPedPhotCam)
-        return kFALSE;
-
-    fPedestalExt  = (MPedestalCam*)pList->FindObject("MPedestalFromExtractor", "MPedestalCam");
-    if (!fPedestalExt)
-    {
-        *fLog << err << "MPedestalFromExtractor [MPedestalCam] not found ... aborting" << endl;
-        return kFALSE;
-    }
-
-    fPedestalRndm = (MPedestalCam*)pList->FindObject("MPedestalFromExtractorRndm", "MPedestalCam");
-    if (!fPedestalRndm)
-    {
-        *fLog << err << "MPedestalFromExtractorRndm [MPedestalCam] not found ... aborting" << endl;
-        return kFALSE;
-    }
-    */
 
     fSignals    = 0;
@@ -251,13 +230,7 @@
             return kFALSE;
 
-        fIntensConst = (MCalibrationIntensityConstCam*)pList->FindObject(AddSerialNumber("MCalibrationIntensityConstCam"));
-        if (fIntensConst)
-            *fLog << inf << "Found MCalibrationIntensityConstCam ... " << endl;
-        else
-        {
-            fCalibConstCam = (MCalibConstCam*)pList->FindCreateObj(AddSerialNumber("MCalibConstCam"));
-            if (!fCalibConstCam)
-                return kFALSE;
-        }
+        fCalibConstCam = (MCalibConstCam*)pList->FindCreateObj(AddSerialNumber("MCalibConstCam"));
+        if (!fCalibConstCam)
+            return kFALSE;
     }
 
@@ -546,6 +519,4 @@
     fHiLoConvErr.Reset();
 
-    MCalibConstCam *constcam = fIntensConst ? fIntensConst->GetCam() : fCalibConstCam;
-
     MCalibrationChargeCam *chargecam = NULL;
     MCalibrationQECam     *qecam     = NULL;
@@ -580,6 +551,4 @@
         Float_t calibUpdate   = 1.;
 
-	MCalibConstPix &cpix  = (*constcam)[pixidx];
-	    
         if(fCalibrationMode!=kNone)
           {
@@ -727,13 +696,13 @@
             *fLog << fCalibConvMinLimit << "," << fCalibConvMaxLimit << "[... set to 0. " << endl;
 	  }
-	cpix.SetCalibConst(calibConv);
+
+        MCalibConstPix &cpix  = (*fCalibConstCam)[pixidx];
+
+        cpix.SetCalibConst(calibConv);
 	cpix.SetCalibFFactor(calibFFactor);
 
       } /*     for (Int_t pixidx=0; pixidx<fGeomCam->GetNumPixels(); pixidx++) */
 
-    if (fIntensConst)
-        fIntensConst->SetReadyToSave();
-    else
-        fCalibConstCam->SetReadyToSave();
+    fCalibConstCam->SetReadyToSave();
 
     if (skip>fGeomCam->GetNumPixels()*0.9)
@@ -842,11 +811,4 @@
               //break;
             }
-           /*
-            const Double_t mean = (*fPedestalExt)[pixidx].GetPedestal()    * pedmeancalib;
-            const Double_t rms  = (*fPedestalExt)[pixidx].GetPedestalRms() * pedrmscalib;
-
-            (*fPedPhotCam)[pixidx].Set(mean, rms);
-            fPedPhotCam->SetReadyToSave();
-            */
         } /* if (pedestal) */
     }
Index: trunk/MagicSoft/Mars/mcalib/MCalibrateData.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrateData.h	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrateData.h	(revision 8408)
@@ -23,5 +23,4 @@
 class MCalibrationIntensityChargeCam;
 class MCalibrationIntensityQECam;
-class MCalibrationIntensityConstCam;
 
 class MCalibrateData : public MTask
@@ -71,8 +70,4 @@
   MSignalCam                     *fCerPhotEvt;    //! Cerenkov Photon Event used for calculation
   MCalibConstCam                 *fCalibConstCam; //! Temporary calib consts storage
-  MCalibrationIntensityConstCam  *fIntensConst;   //! Temporary calib consts storage
-//  MPedestalCam                   *fPedestalExt;   //! Input container for calibrated pedestal
-//  MPedestalCam                   *fPedestalRndm;  //! Input container for calibrated pedestal
-//  MPedPhotCam                    *fPedPhotCam;    //! Output container for calibrated pedestal
   
   CalibrationMode_t fCalibrationMode;    // Flag defining the calibration mode (CalibrationMode_t)
Index: trunk/MagicSoft/Mars/mcalib/Makefile
===================================================================
--- trunk/MagicSoft/Mars/mcalib/Makefile	(revision 8398)
+++ trunk/MagicSoft/Mars/mcalib/Makefile	(revision 8408)
@@ -40,5 +40,4 @@
 	   MCalibrateRelTimes.cc \
            MCalibrationIntensityCam.cc \
-           MCalibrationIntensityConstCam.cc \
            MCalibrationIntensityChargeCam.cc \
            MCalibrationIntensityBlindCam.cc \
