Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 2730)
+++ trunk/MagicSoft/Mars/Changelog	(revision 2731)
@@ -5,4 +5,13 @@
                                                  -*-*- END OF LINE -*-*-
  2003/12/20: Abelardo Moralejo
+
+   * manalysis/MMcCalibration.[h,cc]
+     - adapted to changes in calibration classes. Removed SetADC2PhOuter
+       (ratio of inner to outer can be found from MMcFadcHeader).
+
+   * mananalysis/MCalibrate.cc
+     - commented out check of sizes of MExtractedSignal and 
+       MCalibrationCam (they are different in MC when no noise is 
+       simulated).
 
    * mmc/MMcFadcHeader.hxx
Index: trunk/MagicSoft/Mars/manalysis/MCalibrate.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MCalibrate.cc	(revision 2730)
+++ trunk/MagicSoft/Mars/manalysis/MCalibrate.cc	(revision 2731)
@@ -114,4 +114,5 @@
 Int_t MCalibrate::Process()
 {
+  /*
     if (fCalibrations->GetNumPixels() != (UInt_t)fSignals->GetSize())
     {
@@ -123,4 +124,5 @@
         return kFALSE;
     }
+  */
 
     const UInt_t imaxnumpix = fSignals->GetSize();
@@ -148,5 +150,5 @@
         }
 
-        //      Float_t calibrationConvertionFactor = pix.GetMeanConversionFFactorMethod();
+        //      Float_t calibrationConversionFactor = pix.GetMeanConversionFFactorMethod();
         const Float_t calibrationConversionFactor      = pix.GetMeanConversionBlindPixelMethod();
         const Float_t calibrationConversionFactorError = pix.GetErrorConversionBlindPixelMethod();
Index: trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.cc	(revision 2730)
+++ trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.cc	(revision 2731)
@@ -93,4 +93,18 @@
 }
 
+
+//---------------------------------------------------------------------------
+//
+// Set ADC to photon conversion factors.
+//
+void MMcCalibrationCalc::SetADC2PhInner(Float_t x)
+{
+  fADC2PhInner = x;
+  fADC2PhOuter = x * 
+    fHeaderFadc->GetAmplitud() / fHeaderFadc->GetAmplitudOuter();
+
+  return;
+}
+
 // --------------------------------------------------------------------------
 //
@@ -176,4 +190,6 @@
     }
 
+    fPedPhotCam->InitSize(fGeom->GetNumPixels());
+
     return kTRUE;
 }
@@ -207,9 +223,28 @@
         calpix.SetPedestal(pedestmean, pedestrms);
 	calpix.SetBlindPixelMethodValid();
-
-	if ( fGeom->GetPixRatio(i) > fGeom->GetPixRatio(0) )
-	  calpix.SetConversionBlindPixelMethod(fADC2PhOuter, 0., 0.);
+	calpix.SetConversionHiLo(fConversionHiLo);
+	calpix.SetConversionHiLoError(0.);         // FIXME ?
+
+	//
+	// Write conversion factor ADC to photons (different for inner
+	// and outer pixels).
+	//
+
+	Float_t adc2phot = (fGeom->GetPixRatio(i) > fGeom->GetPixRatio(0))?
+	  fADC2PhOuter : fADC2PhInner;
+
+	calpix.SetConversionBlindPixelMethod(adc2phot, 0., 0.);
+
+	//
+	// Write mean pedestal and pedestal rms per pixel
+	// in number of photons:
+	//
+	MPedPhotPix &pedpix = (*fPedPhotCam)[i];
+
+	if (sigpix.IsLoGainUsed())
+	  pedpix.Set(adc2phot*fConversionHiLo*pedestmean, 
+		     adc2phot*fConversionHiLo*pedestrms);
 	else
-	  calpix.SetConversionBlindPixelMethod(fADC2PhInner, 0., 0.);
+	  pedpix.Set(adc2phot*pedestmean, adc2phot*pedestrms);
 
     }
Index: trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.h	(revision 2730)
+++ trunk/MagicSoft/Mars/manalysis/MMcCalibrationCalc.h	(revision 2731)
@@ -29,9 +29,11 @@
     Float_t fADC2PhOuter; // for inner and outer pixels.
 
+    Float_t fConversionHiLo;
+
 public:
     MMcCalibrationCalc(const char *name=NULL, const char *title=NULL);
 
-    void SetADC2PhInner(Float_t x) {fADC2PhInner = x; }
-    void SetADC2PhOuter(Float_t x) {fADC2PhOuter = x; }
+    void SetADC2PhInner(Float_t x);
+    void SetConversionHiLo(Float_t x) { fConversionHiLo = x; }
 
     ClassDef(MMcCalibrationCalc, 0)   // Task which obtains, for MC files, the pedestal mean and rms, and the calibration factor from ADC counts to photons. 
