Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3697)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3698)
@@ -31,4 +31,9 @@
        MHCalibrationChargeCalc needs no pointer to the signal extractors
        any more -> removed
+
+   * mcalib/MCalibrationChargePINDiode.[h,cc]	
+   * mcalib/MCalibrationChargeBlindPix.[h,cc]	
+   * mcalib/MCalibrationCam.[h,cc]	
+     - put a default pulser color kNONE
 
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationCam.cc	(revision 3697)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationCam.cc	(revision 3698)
@@ -75,5 +75,5 @@
 //
 // Initializes:
-// - fPulserColor to kCT1 
+// - fPulserColor to kNONE 
 // - fNumHiGainFADCSlices to 0.
 // - fNumLoGainFADCSlices to 0.
@@ -88,5 +88,5 @@
 //
 MCalibrationCam::MCalibrationCam(const char *name, const char *title)
-    : fNumHiGainFADCSlices(0.), fNumLoGainFADCSlices(0.), fPulserColor(kCT1), 
+    : fNumHiGainFADCSlices(0.), fNumLoGainFADCSlices(0.), fPulserColor(kNONE), 
       fPixels(NULL), fAverageAreas(NULL), fAverageSectors(NULL)
 {
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationCam.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationCam.h	(revision 3697)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationCam.h	(revision 3698)
@@ -20,5 +20,5 @@
 public:
 
-  enum PulserColor_t { kCT1=0, kGREEN=1, kBLUE=2, kUV=3 }; // Possible Pulser colours
+  enum PulserColor_t { kCT1=0, kGREEN=1, kBLUE=2, kUV=3, kNONE=4 }; // Possible Pulser colours
   static const Int_t gkNumPulserColors;                     // Number of Pulser colours (now set to: 4)
   
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeBlindPix.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeBlindPix.cc	(revision 3697)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeBlindPix.cc	(revision 3698)
@@ -98,4 +98,5 @@
 // - all flags to kFALSE
 // - all variables to -1.
+// - the fColor to MCalibrationCam::kNONE
 //
 // Calls: 
@@ -126,4 +127,6 @@
   SetFluxInsidePlexiglassAvailable ( kFALSE );
   
+  SetColor(MCalibrationCam::kNONE);
+
   MCalibrationChargePix::Clear();
 }
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3697)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 3698)
@@ -114,5 +114,6 @@
 //       - Tracing the atmospheric conditions   -> LIDAR
 //       - Tracing the observation zenith angle -> Drive System
-//   4) Some knowlegde about the impact parameter:
+//
+//    4) Some knowlegde about the impact parameter:
 //       - This is the only part which cannot be accomplished well with a
 //         single telescope. We would thus need to convolute the spectrum
@@ -281,4 +282,10 @@
 }
 
+// --------------------------------------------------------------------------
+//
+// Sets:
+// - all variables to 0., 
+// - all flags to kFALSE
+//
 void MCalibrationChargeCalc::Clear(const Option_t *o)
 {
@@ -305,67 +312,58 @@
 // cannot be found, the corresponding calibration part is only skipped.
 //
+//  - MTime
+//
+Int_t MCalibrationChargeCalc::PreProcess(MParList *pList)
+{
+  
+  // 
+  // Containers that have to be there.
+  //
+  fPedestals = (MPedestalCam*)pList->FindObject("MPedestalCam");
+  if (!fPedestals)
+    {
+      *fLog << err << "MPedestalCam not found... aborting" << endl;
+      return kFALSE;
+    }
+  
+  // 
+  // Containers that are created in case that they are not there.
+  //
+  fQECam = (MCalibrationQECam*)pList->FindCreateObj("MCalibrationQECam");
+  if (!fQECam)
+    {
+      *fLog << err << "Cannot find nor create MCalibrationQECam... aborting" << endl;
+      return kFALSE;
+    }
+
+  fBadPixels = (MBadPixelsCam*)pList->FindCreateObj("MBadPixelsCam");
+  if (!fBadPixels)
+    {
+      *fLog << err << "Could not find or create MBadPixelsCam ... aborting." << endl;
+      return kFALSE;
+    }
+
+  
+  fEvtTime = (MTime*)pList->FindObject("MTime");
+  
+  return kTRUE;
+}
+
+
+// --------------------------------------------------------------------------
+//
+// Search for the following input containers and abort if not existing:
+//  - MGeomCam
+//  - MCalibrationChargeCam
+// 
+// Search for the following input containers and give a warning if not existing:
 //  - MCalibrationChargeBlindPix
 //  - MCalibrationChargePINDiode
-//  - MTime
 //
 // Sets the pulser colour in:
 //
 // - MCalibrationChargeCam
-// - MCalibrationChargeBlindPix
-// - MCalibrationChargePINDiode
-//
-Int_t MCalibrationChargeCalc::PreProcess(MParList *pList)
-{
-  
-  // 
-  // Containers that have to be there.
-  //
-  fPedestals = (MPedestalCam*)pList->FindObject("MPedestalCam");
-  if (!fPedestals)
-    {
-      *fLog << err << "MPedestalCam not found... aborting" << endl;
-      return kFALSE;
-    }
-  
-  // 
-  // Containers that are created in case that they are not there.
-  //
-  fQECam = (MCalibrationQECam*)pList->FindCreateObj("MCalibrationQECam");
-  if (!fQECam)
-    {
-      *fLog << err << "Cannot find nor create MCalibrationQECam... aborting" << endl;
-      return kFALSE;
-    }
-
-  fBadPixels = (MBadPixelsCam*)pList->FindCreateObj("MBadPixelsCam");
-  if (!fBadPixels)
-    {
-      *fLog << err << "Could not find or create MBadPixelsCam ... aborting." << endl;
-      return kFALSE;
-    }
-
-  
-  fEvtTime = (MTime*)pList->FindObject("MTime");
-  
-  //
-  // Initialize the pulser colours
-  //
-  fCam->SetPulserColor( fPulserColor );
-
-  if (fBlindPixel)
-    fBlindPixel->SetColor( fPulserColor );
-  
-  if (fPINDiode)
-    fPINDiode->SetColor( fPulserColor );
-  
-  return kTRUE;
-}
-
-
-// --------------------------------------------------------------------------
-//
-// The ReInit searches for the following input containers:
-//  - MGeomCam
-//  - MCalibrationChargeCam
+// - MCalibrationChargeBlindPix (if existing)
+// - MCalibrationChargePINDiode (if existing)
 //
 // It retrieves the following variables from MCalibrationChargeCam:
@@ -409,17 +407,30 @@
   fBlindPixel = (MCalibrationChargeBlindPix*)pList->FindObject("MCalibrationChargeBlindPix");
   if (!fBlindPixel)
-    {
-      *fLog << warn << GetDescriptor() 
-            << ": MCalibrationChargeBlindPix not found... no blind pixel method! " << endl;
-      return kFALSE;
-    }
-  
-  fPINDiode = (MCalibrationChargePINDiode*)pList->FindCreateObj("MCalibrationChargePINDiode");
+    *fLog << warn << GetDescriptor() 
+          << ": MCalibrationChargeBlindPix not found... no blind pixel method! " << endl;
+  
+  fPINDiode = (MCalibrationChargePINDiode*)pList->FindObject("MCalibrationChargePINDiode");
   if (!fPINDiode)
-    {
-      *fLog << warn << GetDescriptor() 
-            << "MCalibrationChargePINDiode not found... no PIN Diode method! " << endl;
-      return kFALSE;
-    }
+    *fLog << warn << GetDescriptor() 
+          << "MCalibrationChargePINDiode not found... no PIN Diode method! " << endl;
+
+  //
+  // Initialize the pulser colours
+  //
+  if (fPulserColor != fCam->GetPulserColor())
+    {
+      *fLog << err << GetDescriptor() << ": Pulser colour has changed w.r.t. last file."
+            << "This feature is not yet implemented, sorry ... aborting " << endl;
+      return kFALSE;
+    }
+
+  fCam->SetPulserColor( fPulserColor );
+
+  if (fBlindPixel)
+    fBlindPixel->SetColor( fPulserColor );
+  
+  if (fPINDiode)
+    fPINDiode->SetColor( fPulserColor );
+  
 
   fNumHiGainSamples  =  fCam->GetNumHiGainFADCSlices();
@@ -448,12 +459,4 @@
       
     }
-
-  if (fPulserColor != fCam->GetPulserColor())
-    {
-      *fLog << err << GetDescriptor() << ": Pulser colour has changed w.r.t. last file."
-            << "This feature is not yet implemented, sorry ... aborting " << endl;
-      return kFALSE;
-    }
-  
 
   return kTRUE;
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.cc	(revision 3697)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.cc	(revision 3698)
@@ -114,4 +114,5 @@
   SetChargeFitValid     ( kFALSE );
   SetTimeFitValid       ( kFALSE );
+  SetColor              ( MCalibrationCam::kNONE);
     
   fAbsTimeMean              =  -1.;
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.h	(revision 3697)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.h	(revision 3698)
@@ -62,42 +62,40 @@
   ~MCalibrationChargePINDiode() {}
   
-  void Clear(Option_t *o="");
+  void   Clear(Option_t *o="");
+  Bool_t CalcFluxOutsidePlexiglass();
+
+  // Getters
+  Float_t GetAbsTimeMean                  () const { return fAbsTimeMean;           }
+  Float_t GetAbsTimeRms                   () const { return fAbsTimeRms;            }
+  MCalibrationCam::PulserColor_t GetColor () const { return fColor;                 }
+  Float_t GetFluxOutsidePlexiglass        () const { return fFluxOutsidePlexiglass; }
+  Float_t GetFluxOutsidePlexiglassErr     () const;
+  Float_t GetFluxOutsidePlexiglassRelVar  () const;  
+  Float_t GetNumPhotons                   () const { return fNumPhotons;            } 
+  Float_t GetNumPhotonsErr                () const;
+  Float_t GetNumPhotonsRelVar             () const;
+  Float_t GetPed                          () const { return fPed;                   }
+  Float_t GetPedRms                       () const { return fPedRms;                }
+
+  Bool_t  IsChargeFitValid                () const;
+  Bool_t  IsTimeFitValid                  () const;
+  Bool_t  IsOscillating                   () const;
+  Bool_t  IsFluxOutsidePlexiglassAvailable() const;
   
   // Setters
-  void SetAbsTimeMean        ( const Float_t f )                      { fAbsTimeMean        = f;   }
-  void SetAbsTimeRms         ( const Float_t f )                      { fAbsTimeRms         = f;   }
+  void SetAbsTimeMean        ( const Float_t f      )                 { fAbsTimeMean        = f;   }
+  void SetAbsTimeRms         ( const Float_t f      )                 { fAbsTimeRms         = f;   }
   void SetChargeToPhotons    ( const Float_t f=fgChargeToPhotons    ) { fChargeToPhotons    = f;   }  
   void SetChargeToPhotonsErr ( const Float_t f=fgChargeToPhotonsErr ) { fChargeToPhotonsVar = f*f; }  
   void SetColor              ( const MCalibrationCam::PulserColor_t color) { fColor = color;   }
   void SetPedestal           (       Float_t ped, Float_t pedrms    );
-  void SetRmsChargeMean      ( const Float_t f )                      { fRmsChargeMean      = f;   }
-  void SetRmsChargeMeanErr   ( const Float_t f )                      { fRmsChargeMeanErr   = f;   }
-  void SetRmsChargeSigma     ( const Float_t f )                      { fRmsChargeSigma     = f;   }
-  void SetRmsChargeSigmaErr  ( const Float_t f )                      { fRmsChargeSigmaErr  = f;   }
+  void SetRmsChargeMean      ( const Float_t f      )                 { fRmsChargeMean      = f;   }
+  void SetRmsChargeMeanErr   ( const Float_t f      )                 { fRmsChargeMeanErr   = f;   }
+  void SetRmsChargeSigma     ( const Float_t f      )                 { fRmsChargeSigma     = f;   }
+  void SetRmsChargeSigmaErr  ( const Float_t f      )                 { fRmsChargeSigmaErr  = f;   }
   void SetOscillating        ( const Bool_t b=kTRUE );
   void SetChargeFitValid     ( const Bool_t b=kTRUE );
   void SetTimeFitValid       ( const Bool_t b=kTRUE );
   void SetFluxOutsidePlexiglassAvailable ( const Bool_t b = kTRUE );
-
-  // Getters
-  Float_t GetFluxOutsidePlexiglass      () const { return fFluxOutsidePlexiglass; }
-  Float_t GetFluxOutsidePlexiglassErr   () const;
-  Float_t GetFluxOutsidePlexiglassRelVar() const;  
-
-  // Pedestals
-  Float_t GetAbsTimeMean  ()     const { return fAbsTimeMean; }
-  Float_t GetAbsTimeRms   ()     const { return fAbsTimeRms;  }
-  Float_t GetNumPhotons   ()     const { return fNumPhotons;  } 
-  Float_t GetNumPhotonsErr()     const;
-  Float_t GetNumPhotonsRelVar()  const;
-  Float_t GetPed()               const { return fPed;         }
-  Float_t GetPedRms()            const { return fPedRms;      }
-
-  Bool_t  IsChargeFitValid()     const;
-  Bool_t  IsTimeFitValid()       const;
-  Bool_t  IsOscillating()        const;
-  Bool_t  IsFluxOutsidePlexiglassAvailable() const;
-  
-  Bool_t  CalcFluxOutsidePlexiglass();
 
   ClassDef(MCalibrationChargePINDiode, 1)	// Container Charge Calibration Results PIN Diode
