Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3277)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3278)
@@ -24,5 +24,9 @@
      - discovered an error in the calculation of phe's in 
        CalcFFactorMethod(). The average QE was applied twice. 
-       This error has been introduced on 13/02/04
+       This error had been introduced on 13/02/04
+
+   * mcalib/MCalibrate.cc
+     - test validity of every calibration method before retrieving
+       conversion factors
 
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibrate.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrate.cc	(revision 3277)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrate.cc	(revision 3278)
@@ -204,19 +204,31 @@
 	    {
 	    case kBlindPixel:
-	      calibrationConversionFactor      = pix.GetMeanConversionBlindPixelMethod();
-	      calibrationConversionFactorErr   = pix.GetConversionBlindPixelMethodErr();
+		if (pix.IsBlindPixelMethodValid())
+		{
+		    calibrationConversionFactor      = pix.GetMeanConversionBlindPixelMethod();
+		    calibrationConversionFactorErr   = pix.GetConversionBlindPixelMethodErr();
+		}
 	      break;
 	    case kPinDiode:
-	      calibrationConversionFactor      = pix.GetMeanConversionPINDiodeMethod();
-	      calibrationConversionFactorErr   = pix.GetConversionPINDiodeMethodErr();
+		if (pix.IsPINDiodeMethodValid())
+		{
+		    calibrationConversionFactor      = pix.GetMeanConversionPINDiodeMethod();
+		    calibrationConversionFactorErr   = pix.GetConversionPINDiodeMethodErr();
+		}
 	      break;
 	    case kFfactor:
-	      calibrationConversionFactor      = pix.GetMeanConversionFFactorMethod();
-	      calibrationConversionFactorErr   = pix.GetConversionFFactorMethodErr();
+		if (pix.IsFFactorMethodValid())
+		{
+		    calibrationConversionFactor      = pix.GetMeanConversionFFactorMethod();
+		    calibrationConversionFactorErr   = pix.GetConversionFFactorMethodErr();
+		}
 	      break;
 	    case kCombined:
-	      calibrationConversionFactor      = pix.GetMeanConversionCombinedMethod();
-	      calibrationConversionFactorErr   = pix.GetConversionCombinedMethodErr();
-	      break;
+		if (pix.IsCombinedMethodValid())
+		{
+		    calibrationConversionFactor      = pix.GetMeanConversionCombinedMethod();
+		    calibrationConversionFactorErr   = pix.GetConversionCombinedMethodErr();
+		}
+		break;
             case kDummy:
 	      calibrationConversionFactor      = 1.;
