Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 2720)
+++ trunk/MagicSoft/Mars/Changelog	(revision 2721)
@@ -6,8 +6,15 @@
 
  2003/12/18: Abelardo Moralejo
+
+   * manalysis/MMcCalibrationCalc.[h,cc]
+     - Changed names of conversion factors, because their meaning 
+       changed from "ADC->photoelectrons" to "ADC->photons before 
+       the PM". Added some comments. Added calls to MCalibrationPix::
+       SetBlindPixelMethodValid() and SetConversionBlindPixelMethod()
 
    * manalysis/MCalibrate.cc
      - Corrected variable names: Convertion -> Conversion, and also
        removed the "f" in from of local (non-member) variables.
+     - Added fGeomCam, fPedPhotCam (created in the PreProcess).
 
  2003/12/18: Markus Gaug, Michele Doro
Index: trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.cc	(revision 2720)
+++ trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.cc	(revision 2721)
@@ -54,4 +54,5 @@
 #include "MExtractedSignalCam.h"
 #include "MExtractedSignalPix.h"
+#include "MGeomCam.h"
 #include "MPedPhotCam.h"
 #include "MPedPhotPix.h"
@@ -69,6 +70,6 @@
     fTitle = title ? title : "Write MC pedestals and conversion factors into MCalibration Container";
 
-    fADC2PheInner = 1.;
-    fADC2PheOuter = 1.;
+    fADC2PhInner = 1.;
+    fADC2PhOuter = 1.;
 
 }
@@ -110,4 +111,17 @@
     }
 
+  if ( ! pList->FindCreateObj(AddSerialNumber("MPedPhotCam")))
+    {
+      *fLog << err << dbginf << "Cannot create MPedPhotCam... aborting." << endl;
+      return kFALSE;
+    }
+
+  fGeom = (MGeomCam*) pList->FindObject(AddSerialNumber("MGeomCam"));
+  if ( ! fGeom )
+    {
+      *fLog << err << dbginf << "Cannot find MGeomCam... aborting." << endl;
+      return kFALSE;
+    }
+
   fSignalCam = (MExtractedSignalCam*) pList->FindObject(AddSerialNumber("MExtractedSignalCam"));
   if ( ! fSignalCam)
@@ -124,5 +138,5 @@
 //
 // Check for the runtype.
-// Search for MCalibrationCam and MMcFadcHeader.
+// Search for MCalibrationCam, MPedPhotCam and MMcFadcHeader.
 //
 Bool_t MMcCalibrationCalc::ReInit(MParList *pList)
@@ -154,4 +168,12 @@
     }
 
+    fPedPhotCam = (MPedPhotCam*)pList->FindObject(AddSerialNumber("MPedPhotCam"));
+
+    if (!fPedPhotCam)
+    {
+        *fLog << err << dbginf << "Could not create MPedPhotCam... aborting. " << endl;
+        return kFALSE;
+    }
+
     return kTRUE;
 }
@@ -160,5 +182,5 @@
 // --------------------------------------------------------------------------
 //
-// Fill the MCalibrationCam object
+// Fill the MCalibrationCam and MCerPhotPed objects
 //
 Int_t MMcCalibrationCalc::Process()
@@ -171,4 +193,8 @@
 	MExtractedSignalPix &sigpix = (*fSignalCam)[i];
 
+	//
+	// ped mean and rms per pixel, in ADC counts, according to signal 
+	// calculation (hi or low gain and number of integrated slices):
+	//
         const Float_t pedestmean = sigpix.IsLoGainUsed()? 
 	  fSignalCam->GetNumUsedLoGainFADCSlices()*fHeaderFadc->GetPedestal(i) : 
@@ -179,12 +205,11 @@
 	  sqrt((Double_t)(fSignalCam->GetNumUsedHiGainFADCSlices())) * fHeaderFadc->GetPedestalRmsHigh(i);
 
-	// ped mean and rms per pixel, according to signal calculation:
-
         calpix.SetPedestal(pedestmean, pedestrms);
-
-	if (i < 397) // FIXME!
-	  calpix.SetConversionBlindPixelMethod(fADC2PheInner, 0., 0.);
+	calpix.SetBlindPixelMethodValid();
+
+	if ( fGeom->GetPixRatio(i) > fGeom->GetPixRatio(0) )
+	  calpix.SetConversionBlindPixelMethod(fADC2PhOuter, 0., 0.);
 	else
-	  calpix.SetConversionBlindPixelMethod(fADC2PheOuter, 0., 0.);
+	  calpix.SetConversionBlindPixelMethod(fADC2PhInner, 0., 0.);
 
     }
