Index: trunk/MagicSoft/Mars/mcalib/MCalibColorSet.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibColorSet.cc	(revision 6012)
+++ trunk/MagicSoft/Mars/mcalib/MCalibColorSet.cc	(revision 6013)
@@ -34,5 +34,5 @@
 //
 //  Output Containers:
-//   MRawEvtHeader
+//   MCalibrationPattern
 //
 //////////////////////////////////////////////////////////////////////////////
@@ -48,5 +48,6 @@
 #include "MParList.h"
 
-#include "MRawEvtHeader.h"
+#include "MCalibrationCam.h"
+#include "MCalibrationPattern.h"
 #include "MRawRunHeader.h"
 
@@ -75,6 +76,7 @@
 {
   
-  fPattern = 0;
-  fIsValid = kFALSE;
+  fColor    = MCalibrationCam::kNONE;
+  fStrength = -1.;
+  fIsValid  = kFALSE;
   
 }
@@ -84,8 +86,15 @@
 //
 // The following container are searched for and execution aborted if not in MParList:
-//  - MRawEvtHeader
+//  - MCalibrationPattern
 //
 Int_t MCalibColorSet::PreProcess(MParList *pList)
 {
+
+  fPattern = (MCalibrationPattern*)pList->FindObject("MCalibrationPattern");
+  if (!fPattern)
+    {
+      *fLog << err << "MCalibrationPattern not found... abort." << endl;
+      return kFALSE;
+    }
 
   fHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
@@ -109,11 +118,11 @@
 // repitions of the same piece of code for many many times.
 //
-void MCalibColorSet::CheckAndSet(const TString &str, const char *regexp, UInt_t &pattern, UInt_t pat, Int_t &color, Int_t col) const
+void MCalibColorSet::CheckAndSet(const TString &str, const char *regexp, MCalibrationCam::PulserColor_t col, Float_t strength)
 {
     if (!str.Contains(TRegexp(regexp)))
         return;
 
-    pattern |= pat;
-    color = col;
+    fStrength = strength;
+    fColor    = col;
 }
 
@@ -159,49 +168,5 @@
       return kTRUE;
     }
-
-  enum { kNONE, kGREEN, kBLUE, kUV, kCT1 };
-  
-  enum ColorCode_t 
-    {
-      k01LedGreen  = BIT(15),
-      k1LedGreen   = BIT(14),
-      k2LedGreen   = BIT(1 ),
-      k3LedGreen   = k1LedGreen | k2LedGreen,
-      k5LedGreen   = BIT(0 ),
-      k6LedGreen   = k5LedGreen | k1LedGreen,
-      k7LedGreen   = k5LedGreen | k2LedGreen,
-      k8LedGreen   = k5LedGreen | k3LedGreen,
-      k1LedUV      = BIT(3 ),
-      k2LedUV      = BIT(4 ),
-      k3LedUV      = k1LedUV | k2LedUV,
-      k5LedUV1     = BIT(11),
-      k5LedUV2     = BIT(12),
-      k6LedUV      = k5LedUV1 | k1LedUV,
-      k7LedUV      = k5LedUV1 | k2LedUV,
-      k8LedUV      = k5LedUV1 | k3LedUV,
-      k10LedUV     = k5LedUV1 | k5LedUV2,
-      k11LedUV     = k10LedUV | k1LedUV,
-      k12LedUV     = k10LedUV | k2LedUV,
-      k13LedUV     = k10LedUV | k1LedUV,
-      k01LedBlue   = BIT(8 ),
-      k1LedBlue    = BIT(10),
-      k2LedBlue    = BIT(7 ),
-      k3LedBlue    = k1LedBlue | k2LedBlue,
-      k5LedBlue1   = BIT(13),
-      k5LedBlue2   = BIT(2 ),      
-      k5LedBlue3   = BIT(5 ),
-      k5LedBlue4   = BIT(6 ),
-      k6LedBlue    = k5LedBlue1 | k1LedBlue,
-      k7LedBlue    = k5LedBlue1 | k2LedBlue,
-      k8LedBlue    = k5LedBlue1 | k3LedBlue,
-      k10LedBlue   = k5LedBlue1 | k5LedBlue2,
-      k15LedBlue   = k10LedBlue | k5LedBlue3,
-      k20LedBlue   = k15LedBlue | k5LedBlue4,
-      k21LedBlue   = k20LedBlue | k1LedBlue,
-      k22LedBlue   = k20LedBlue | k2LedBlue,
-      k23LedBlue   = k22LedBlue | k1LedBlue,
-      kCT1Pulser   = BIT(16)
-    };
-
+ 
   const Int_t num = header->GetRunNumber();
 
@@ -209,5 +174,5 @@
     {
       *fLog << inf << "Assumed MC run ... using GREEN pulser." << endl;
-      fPattern |= k1LedGreen;
+      fColor    = MCalibrationCam::kGREEN;
       fIsValid  = kTRUE;
       return kTRUE;
@@ -217,11 +182,13 @@
     {
       *fLog << inf << "Run taken before inauguration of IFAE-box... using CT1 pulser." << endl;
-      fPattern |= kCT1Pulser;
+      fColor    = MCalibrationCam::kCT1;
+      fStrength = 10.;
       fIsValid  = kTRUE;
       return kTRUE;
     }
   
-  Int_t color = kNONE;
-  fPattern = 0;
+  fColor    = MCalibrationCam::kNONE;
+  fStrength = 0.;
+  fPattern  = 0;
 
   switch (num)
@@ -267,5 +234,5 @@
     case 45607:
       //    case 31756:
-      color = kBLUE;
+      fColor = MCalibrationCam::kBLUE;
       break;
       
@@ -294,5 +261,5 @@
     case 45373:
     case 45608:
-      color = kGREEN;
+      fColor = MCalibrationCam::kGREEN;
       break;
       
@@ -327,7 +294,7 @@
     case 45614:
     case 45618:
-      color = kUV;
-      break;
-
+      fColor = MCalibrationCam::kUV;
+      break;
+      
     case 43914:
     case 43916:
@@ -335,5 +302,5 @@
     case 43920:
     case 43922:
-      color = kCT1;
+      fColor = MCalibrationCam::kCT1;
       break;
 
@@ -365,13 +332,14 @@
     }
   
-  if (color!=kNONE)
+  if (fColor != MCalibrationCam::kNONE)
   {
       *fLog << inf << "Color determined from the run-number... ";
-      switch (color)
+      switch (fColor)
       {
-      case kGREEN: *fLog << "Green."; fPattern |= k5LedGreen; break;
-      case kBLUE:  *fLog << "Blue.";  fPattern |= k5LedBlue1; break;
-      case kUV:    *fLog << "UV.";    fPattern |= k10LedUV;   break;
-      case kCT1:   *fLog << "CT1.";   fPattern |= kCT1Pulser; break;
+      case MCalibrationCam::kGREEN: *fLog << "Green."; break;
+      case MCalibrationCam::kBLUE:  *fLog << "Blue.";  break;
+      case MCalibrationCam::kUV:    *fLog << "UV.";    break;
+      case MCalibrationCam::kCT1:   *fLog << "CT1.";   break;
+      default: break;
       }
       *fLog << endl;
@@ -384,41 +352,41 @@
 
   // Possible green combinations
-  CheckAndSet(proj, "0.1led[s]?gree", fPattern, k01LedGreen, color, kGREEN);
-  CheckAndSet(proj, "1led[s]?gree",   fPattern, k1LedGreen,  color, kGREEN);
-  CheckAndSet(proj, "2led[s]?gree",   fPattern, k2LedGreen,  color, kGREEN);
-  CheckAndSet(proj, "3led[s]?gree",   fPattern, k3LedGreen,  color, kGREEN);
-  CheckAndSet(proj, "5led[s]?gree",   fPattern, k5LedGreen,  color, kGREEN);
-  CheckAndSet(proj, "6led[s]?gree",   fPattern, k6LedGreen,  color, kGREEN);
-  CheckAndSet(proj, "7led[s]?gree",   fPattern, k7LedGreen,  color, kGREEN);
-  CheckAndSet(proj, "8led[s]?gree",   fPattern, k8LedGreen,  color, kGREEN);
+  CheckAndSet(proj, "0.1led[s]?gree", MCalibrationCam::kGREEN, 0.1);
+  CheckAndSet(proj, "1led[s]?gree",   MCalibrationCam::kGREEN, 1. );
+  CheckAndSet(proj, "2led[s]?gree",   MCalibrationCam::kGREEN, 2. );
+  CheckAndSet(proj, "3led[s]?gree",   MCalibrationCam::kGREEN, 3. );
+  CheckAndSet(proj, "5led[s]?gree",   MCalibrationCam::kGREEN, 5. );
+  CheckAndSet(proj, "6led[s]?gree",   MCalibrationCam::kGREEN, 6. );
+  CheckAndSet(proj, "7led[s]?gree",   MCalibrationCam::kGREEN, 7. );
+  CheckAndSet(proj, "8led[s]?gree",   MCalibrationCam::kGREEN, 8. );
 
   // Possible blue combinations
-  CheckAndSet(proj, "0.1led[s]?blue", fPattern, k01LedBlue,  color, kBLUE);
-  CheckAndSet(proj, "1led[s]?blue",   fPattern, k1LedBlue,   color, kBLUE);
-  CheckAndSet(proj, "2led[s]?blue",   fPattern, k2LedBlue,   color, kBLUE);
-  CheckAndSet(proj, "3led[s]?blue",   fPattern, k3LedBlue,   color, kBLUE);
-  CheckAndSet(proj, "5led[s]?blue",   fPattern, k5LedBlue1,  color, kBLUE);
-  CheckAndSet(proj, "6led[s]?blue",   fPattern, k6LedBlue,   color, kBLUE);
-  CheckAndSet(proj, "7led[s]?blue",   fPattern, k7LedBlue,   color, kBLUE);
-  CheckAndSet(proj, "8led[s]?blue",   fPattern, k8LedBlue,   color, kBLUE);
-  CheckAndSet(proj, "10led[s]?blue",  fPattern, k10LedBlue,  color, kBLUE);
-  CheckAndSet(proj, "15led[s]?blue",  fPattern, k15LedBlue,  color, kBLUE);
-  CheckAndSet(proj, "20led[s]?blue",  fPattern, k20LedBlue,  color, kBLUE);
-  CheckAndSet(proj, "21led[s]?blue",  fPattern, k21LedBlue,  color, kBLUE);
-  CheckAndSet(proj, "22led[s]?blue",  fPattern, k22LedBlue,  color, kBLUE);
-  CheckAndSet(proj, "23led[s]?blue",  fPattern, k23LedBlue,  color, kBLUE);
+  CheckAndSet(proj, "0.1led[s]?blue", MCalibrationCam::kBLUE, 0.1);
+  CheckAndSet(proj, "1led[s]?blue",   MCalibrationCam::kBLUE,  1.);
+  CheckAndSet(proj, "2led[s]?blue",   MCalibrationCam::kBLUE,  2.);
+  CheckAndSet(proj, "3led[s]?blue",   MCalibrationCam::kBLUE,  3.);
+  CheckAndSet(proj, "5led[s]?blue",   MCalibrationCam::kBLUE,  5.);
+  CheckAndSet(proj, "6led[s]?blue",   MCalibrationCam::kBLUE,  6.);
+  CheckAndSet(proj, "7led[s]?blue",   MCalibrationCam::kBLUE,  7.);
+  CheckAndSet(proj, "8led[s]?blue",   MCalibrationCam::kBLUE,  8.);
+  CheckAndSet(proj, "10led[s]?blue",  MCalibrationCam::kBLUE, 10.);
+  CheckAndSet(proj, "15led[s]?blue",  MCalibrationCam::kBLUE, 15.);
+  CheckAndSet(proj, "20led[s]?blue",  MCalibrationCam::kBLUE, 20.);
+  CheckAndSet(proj, "21led[s]?blue",  MCalibrationCam::kBLUE, 21.);
+  CheckAndSet(proj, "22led[s]?blue",  MCalibrationCam::kBLUE, 22.);
+  CheckAndSet(proj, "23led[s]?blue",  MCalibrationCam::kBLUE, 23.);
 
   // Possible UV combinations
-  CheckAndSet(proj, "1led[s]?uv",     fPattern, k1LedUV,    color,  kUV);
-  CheckAndSet(proj, "2led[s]?uv",     fPattern, k2LedUV,    color,  kUV);
-  CheckAndSet(proj, "3led[s]?uv",     fPattern, k3LedUV,    color,  kUV);
-  CheckAndSet(proj, "5led[s]?uv",     fPattern, k5LedUV1,   color,  kUV);
-  CheckAndSet(proj, "6led[s]?uv",     fPattern, k6LedUV,    color,  kUV);
-  CheckAndSet(proj, "7led[s]?uv",     fPattern, k7LedUV,    color,  kUV);
-  CheckAndSet(proj, "8led[s]?uv",     fPattern, k8LedUV,    color,  kUV);
-  CheckAndSet(proj, "10led[s]?uv",    fPattern, k10LedUV,   color,  kUV);
-  CheckAndSet(proj, "11led[s]?uv",    fPattern, k11LedUV,   color,  kUV);
-  CheckAndSet(proj, "12led[s]?uv",    fPattern, k12LedUV,   color,  kUV);
-  CheckAndSet(proj, "13led[s]?uv",    fPattern, k13LedUV,   color,  kUV);
+  CheckAndSet(proj, "1led[s]?uv",     MCalibrationCam::kUV,  1.);
+  CheckAndSet(proj, "2led[s]?uv",     MCalibrationCam::kUV,  2.);
+  CheckAndSet(proj, "3led[s]?uv",     MCalibrationCam::kUV,  3.);
+  CheckAndSet(proj, "5led[s]?uv",     MCalibrationCam::kUV,  5.);
+  CheckAndSet(proj, "6led[s]?uv",     MCalibrationCam::kUV,  6.);
+  CheckAndSet(proj, "7led[s]?uv",     MCalibrationCam::kUV,  7.);
+  CheckAndSet(proj, "8led[s]?uv",     MCalibrationCam::kUV,  8.);
+  CheckAndSet(proj, "10led[s]?uv",    MCalibrationCam::kUV, 10.);
+  CheckAndSet(proj, "11led[s]?uv",    MCalibrationCam::kUV, 11.);
+  CheckAndSet(proj, "12led[s]?uv",    MCalibrationCam::kUV, 12.);
+  CheckAndSet(proj, "13led[s]?uv",    MCalibrationCam::kUV, 13.);
 
   // Possible slot combinations
@@ -439,25 +407,75 @@
           nr = atoi(proj.Data())-1;
 
-          fPattern |= BIT(nr);
-
-          color = nr < 2 ? kGREEN :
-              ( nr < 3 ) ? kBLUE :
-              ( nr < 5 ) ? kUV :
-              ( nr < 11 ) ? kBLUE :
-              ( nr < 13 ) ? kUV :
-              ( nr < 14 ) ? kBLUE :
-              ( nr < 16 ) ? kGREEN :
-              kCT1;
+          fColor = nr < 2 ? MCalibrationCam::kGREEN :
+              ( nr < 3 )  ? MCalibrationCam::kBLUE :
+              ( nr < 5 )  ? MCalibrationCam::kUV :
+              ( nr < 11 ) ? MCalibrationCam::kBLUE :
+              ( nr < 13 ) ? MCalibrationCam::kUV :
+              ( nr < 14 ) ? MCalibrationCam::kBLUE :
+              ( nr < 16 ) ? MCalibrationCam::kGREEN :
+              MCalibrationCam::kCT1;
+
+	  switch (nr)
+	    {
+	    case 0: 
+	      fStrength = 5;
+	      break;
+	    case 1: 
+	      fStrength = 2.;
+	      break;
+	    case 2: 
+	      fStrength = 5.;
+	      break;
+	    case 3: 
+	      fStrength = 1.;
+	      break;
+	    case 4: 
+	      fStrength = 2.;
+	      break;
+	    case 5: 
+	      fStrength = 5.;
+	      break;
+	    case 6: 
+	      fStrength = 5.;
+	      break;
+	    case 7: 
+	      fStrength = 2.;
+	      break;
+	    case 8: 
+	      fStrength = 0.2;
+	      break;
+	    case 9: 
+	      fStrength = 0.;
+	      break;
+	    case 10: 
+	      fStrength = 1.;
+	      break;
+	    case 11: 
+	      fStrength = 5.;
+	      break;
+	    case 12: 
+	      fStrength = 5.;
+	      break;
+	    case 13: 
+	      fStrength = 5.;
+	      break;
+	    case 14: 
+	      fStrength = 1;
+	      break;
+	    case 15: 
+	      fStrength = 0.2;
+	      break;
+	    }
       }
   }
 
-  if (color == kNONE)
+  if (fColor == MCalibrationCam::kNONE)
   {
-      CheckAndSet(proj, "gree", fPattern, k5LedGreen, color, kGREEN);
-      CheckAndSet(proj, "blue", fPattern, k5LedBlue1, color, kBLUE);
-      CheckAndSet(proj, "uv",   fPattern, k5LedUV1,   color, kUV);
-      CheckAndSet(proj, "ct1",  fPattern, kCT1Pulser, color, kCT1);
-
-      if (color != kNONE)
+      CheckAndSet(proj, "gree", MCalibrationCam::kGREEN, 1.);
+      CheckAndSet(proj, "blue", MCalibrationCam::kBLUE,  1.);
+      CheckAndSet(proj, "uv",   MCalibrationCam::kUV,    1.);
+      CheckAndSet(proj, "ct1",  MCalibrationCam::kCT1,   1.);
+
+      if (fColor != MCalibrationCam::kNONE)
           *fLog << inf << "Color determined from project-name (" << proj << ")... ";
       else
@@ -473,5 +491,5 @@
       *fLog << inf << "Color and Intensity determined from project-name (" << proj << ")... ";
 
-  if (color == kNONE)
+  if (fColor == MCalibrationCam::kNONE)
   {
       *fLog << err;
@@ -482,10 +500,11 @@
   }
 
-  switch (color)
+  switch (fColor)
   {
-  case kGREEN: *fLog << "Green.";  break;
-  case kBLUE:  *fLog << "Blue.";   break;
-  case kUV:    *fLog << "UV.";     break;
-  case kCT1:   *fLog << "CT1.";    break;
+  case MCalibrationCam::kGREEN: *fLog << "Green.";  break;
+  case MCalibrationCam::kBLUE:  *fLog << "Blue.";   break;
+  case MCalibrationCam::kUV:    *fLog << "UV.";     break;
+  case MCalibrationCam::kCT1:   *fLog << "CT1.";    break;
+  default: break;
   }
   *fLog << endl;
@@ -498,5 +517,5 @@
 // --------------------------------------------------------------------------
 //
-// Sets the pattern to MRawEvtHeader from outside, if fIsValid is set.
+// Sets the pattern to MCalibrationPattern from outside, if fIsValid is set.
 //
 Int_t MCalibColorSet::Process()
@@ -505,8 +524,9 @@
   if (fIsValid)
     {
-      if (fPattern == 0)
+      if (fColor == MCalibrationCam::kNONE)
         return kCONTINUE;
 
-      fHeader->SetCalibrationPattern(fPattern);
+      fPattern->SetPulserColor(fColor);
+      fPattern->SetPulserStrength(fStrength);
     }
   
Index: trunk/MagicSoft/Mars/mcalib/MCalibColorSet.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibColorSet.h	(revision 6012)
+++ trunk/MagicSoft/Mars/mcalib/MCalibColorSet.h	(revision 6013)
@@ -6,5 +6,10 @@
 #endif
 
+#ifndef MARS_MCalibrationCam
+#include "MCalibrationCam.h"
+#endif
+
 class MParList;
+class MCalibrationPattern;
 class MRawEvtHeader;
 
@@ -17,10 +22,13 @@
   static const UInt_t gkFirstRunWithFinalBits; //! Run number of first functionning digital modules 
   
-  MRawEvtHeader *fHeader;                     //! Event header with the pulse pattern information
+  MCalibrationPattern *fPattern;               //! Calibration Pattern with the pulse pattern information
+  MRawEvtHeader       *fHeader;                //! Event header with the project name
   
-  UInt_t fPattern;                            //  Current pulse pattern
-  Bool_t fIsValid;                            //  Have to set the pulse pattern?
+  MCalibrationCam::PulserColor_t fColor;       //  Pulser Color to be set
+  Float_t                        fStrength;    //  Pulser Strength to be set
 
-  void CheckAndSet(const TString &str, const char *regexp, UInt_t &pattern, UInt_t pat, Int_t &color, Int_t col) const;
+  Bool_t fIsValid;                             //  Have to set the pulse pattern?
+
+  void CheckAndSet(const TString &str, const char *regexp, MCalibrationCam::PulserColor_t col, Float_t strength);
 
   Bool_t ReInit(MParList *pList);
Index: trunk/MagicSoft/Mars/mcalib/MCalibColorSteer.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibColorSteer.cc	(revision 6012)
+++ trunk/MagicSoft/Mars/mcalib/MCalibColorSteer.cc	(revision 6013)
@@ -30,5 +30,5 @@
 // 
 //  Input Containers:
-//   MRawEvtHeader
+//   MCalibrationPattern
 //   MParList
 //   MCalibrationIntensityChargeCam
@@ -66,4 +66,5 @@
 #include "MRawRunHeader.h"
 #include "MRawEvtHeader.h"
+#include "MCalibrationPattern.h"
 
 #include "MGeomCam.h"
@@ -78,5 +79,5 @@
 //
 MCalibColorSteer::MCalibColorSteer(const char *name, const char *title)
-    : fHeader(NULL), fGeom(NULL), fParList(NULL), 
+    : fCalibPattern(NULL), fGeom(NULL), fParList(NULL), 
       fIntensCharge(NULL), fIntensRelTime(NULL), fIntensBad(NULL),
       fBad(NULL), fChargeCalc(NULL), fRelTimeCalc(NULL), fPattern(0)
@@ -91,5 +92,5 @@
 //
 // The following container are searched for and execution aborted if not in MParList:
-//  - MRawEvtHeader
+//  - MCalibrationPattern
 //  - MTaskList
 //
@@ -97,15 +98,22 @@
 {
 
-  fHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
-  if (!fHeader)
+  fCalibPattern = (MCalibrationPattern*)pList->FindObject("MCalibrationPattern");
+  if (!fCalibPattern)
+    {
+      *fLog << err << "MCalibrationPattern not found... abort." << endl;
+      return kFALSE;
+    }
+
+  fRunHeader = (MRawRunHeader*)pList->FindObject("MRawRunHeader");
+  if (!fRunHeader)
+    {
+      *fLog << err << "MRawRunHeader not found... abort." << endl;
+      return kFALSE;
+    }
+
+  fEvtHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
+  if (!fEvtHeader)
     {
       *fLog << err << "MRawEvtHeader not found... abort." << endl;
-      return kFALSE;
-    }
-
-  fRunHeader = (MRawRunHeader*)pList->FindObject("MRawRunHeader");
-  if (!fHeader)
-    {
-      *fLog << err << "MRawRunHeader not found... abort." << endl;
       return kFALSE;
     }
@@ -226,5 +234,5 @@
 // --------------------------------------------------------------------------
 //
-// Reads the pattern from MRawEvtHeader and initializes new containers in the 
+// Reads the pattern from MCalibrationPattern and initializes new containers in the 
 // Intensity Cams, if the pattern has changed. Executes Finalize of the 
 // MCalibration*Calc classes in that case.
@@ -233,5 +241,5 @@
 {
 
-  const UInt_t pattern = fHeader->GetPulserSlotPattern();
+  const UInt_t pattern = fEvtHeader->GetPulserSlotPattern();
 
   if (fPattern == 0)
@@ -290,5 +298,5 @@
       hist->Finalize();
       hist->ResetHists();
-      hist->SetColor( fHeader->GetPulserColor());
+      hist->SetColor( fCalibPattern->GetPulserColor());
       return kTRUE;
     }
@@ -322,5 +330,5 @@
       fIntensCharge->AddToList(Form("MCalibrationChargeCam%s",namep.Data()),*fGeom);
       MCalibrationCam *cam = fIntensCharge->GetCam();
-      cam->SetPulserColor(fHeader->GetPulserColor());
+      cam->SetPulserColor(fCalibPattern->GetPulserColor());
       *fLog << inf << "New MCalibrationChargeCam with name: " << cam->GetName() << endl;
     }
@@ -335,5 +343,5 @@
       fIntensBlind->AddToList(Form("MCalibrationBlindCam%s",namep.Data()),*fGeom);
       MCalibrationCam *cam = fIntensBlind->GetCam();
-      cam->SetPulserColor(fHeader->GetPulserColor());
+      cam->SetPulserColor(fCalibPattern->GetPulserColor());
       *fLog << inf << "New MCalibrationBlindCam with name: " << cam->GetName() << endl;
     }
@@ -343,5 +351,5 @@
       fIntensRelTime->AddToList(Form("MCalibrationRelTimeCam%s",namep.Data()),*fGeom);
       MCalibrationCam *cam = fIntensRelTime->GetCam();
-      cam->SetPulserColor(fHeader->GetPulserColor());
+      cam->SetPulserColor(fCalibPattern->GetPulserColor());
       *fLog << inf << "New MCalibrationRelTimeCam with name: " << cam->GetName() << endl;
     }
@@ -354,6 +362,6 @@
 {
 
-  const Float_t strength = fHeader->GetPulserStrength();
-  const MCalibrationCam::PulserColor_t col = fHeader->GetPulserColor();
+  const Float_t strength = fCalibPattern->GetPulserStrength();
+  const MCalibrationCam::PulserColor_t col = fCalibPattern->GetPulserColor();
 
   TString result = Form("%2.1f",strength);
Index: trunk/MagicSoft/Mars/mcalib/MCalibColorSteer.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibColorSteer.h	(revision 6012)
+++ trunk/MagicSoft/Mars/mcalib/MCalibColorSteer.h	(revision 6013)
@@ -8,6 +8,7 @@
 class MParList;
 class MGeomCam;
+class MCalibrationPattern;
+class MRawRunHeader;
 class MRawEvtHeader;
-class MRawRunHeader;
 class MCalibrationChargeCalc;
 class MCalibrationRelTimeCalc;
@@ -22,5 +23,7 @@
 private:
 
-  MRawEvtHeader                   *fHeader;          //!
+
+  MCalibrationPattern             *fCalibPattern;    //!
+  MRawEvtHeader                   *fEvtHeader;       //!
   MRawRunHeader                   *fRunHeader;       //!
   MGeomCam                        *fGeom;            //!
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 6012)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 6013)
@@ -194,5 +194,5 @@
 #include "MStatusDisplay.h"
 
-#include "MRawEvtHeader.h"
+#include "MCalibrationPattern.h"
 
 #include "MGeomCam.h"
@@ -271,5 +271,5 @@
 //
 MCalibrationChargeCalc::MCalibrationChargeCalc(const char *name, const char *title)
-    : fGeom(NULL), fSignal(NULL), fEvtHeader(NULL)
+    : fGeom(NULL), fSignal(NULL), fCalibPattern(NULL)
 {
         
@@ -350,5 +350,5 @@
 // The following container are searched for and execution aborted if not in MParList:
 //  - MPedestalCam
-//  - MRawEvtHeader
+//  - MCalibrationPattern
 //  - MExtractedSignalCam
 //
@@ -368,8 +368,8 @@
   */
 
-  fEvtHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
-  if (!fEvtHeader)
-    {
-      *fLog << err << "MRawEvtHeader not found... abort." << endl;
+  fCalibPattern = (MCalibrationPattern*)pList->FindObject("MCalibrationPattern");
+  if (!fCalibPattern)
+    {
+      *fLog << err << "MCalibrationPattern not found... abort." << endl;
       return kFALSE;
     }
@@ -586,5 +586,5 @@
     }
   */
-  const MCalibrationCam::PulserColor_t col = fEvtHeader->GetPulserColor();
+  const MCalibrationCam::PulserColor_t col = fCalibPattern->GetPulserColor();
 
   if (col == fPulserColor)
@@ -639,5 +639,5 @@
     }
 
-  *fLog << inf << " with strength: " << fEvtHeader->GetPulserStrength() << endl;
+  *fLog << inf << " with strength: " << fCalibPattern->GetPulserStrength() << endl;
   
   fHCam->SetColor(col);
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h	(revision 6012)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h	(revision 6013)
@@ -27,5 +27,5 @@
 #endif
 
-class MRawEvtHeader;
+class MCalibrationPattern;
 class MPedestalCam;
 class MPedestalPix;
@@ -44,5 +44,4 @@
 class MBadPixelsIntensityCam;
 class MBadPixelsCam;
-class MTime;
 
 class MCalibrationChargeCalc : public MTask
@@ -102,5 +101,5 @@
   MGeomCam                       *fGeom;           //!  Camera geometry
   MExtractedSignalCam            *fSignal;         //! Extracted Signal
-  MRawEvtHeader                  *fEvtHeader;      //! Evt header
+  MCalibrationPattern            *fCalibPattern;   //! Calibration DM pattern
   MPedestalCam                   *fPedestals;      //! Pedestals all pixels (calculated previously from ped.file)
 
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationPattern.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationPattern.h	(revision 6012)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationPattern.h	(revision 6013)
@@ -35,34 +35,4 @@
       };
     
-    enum PulserColorCode_t 
-      {
-        kSlot1Green     = BIT(0),
-        kSlot2Green     = BIT(1),
-        kSlot3Blue      = BIT(2),
-        kSlot4UV        = BIT(3),
-        kSlot5UV        = BIT(4),
-        kSlot6Blue      = BIT(5),
-        kSlot7Blue      = BIT(6),
-        kSlot8Blue      = BIT(7),
-        kSlot9AttBlue   = BIT(8),
-        kSlot10Blue     = BIT(9),
-        kSlot11Blue     = BIT(10),
-        kSlot12UV       = BIT(11),
-        kSlot13UV       = BIT(12),
-        kSlot14Blue     = BIT(13),
-        kSlot15Green    = BIT(14),
-        kSlot16AttGreen = BIT(15),
-        kCT1Pulser      = BIT(16),
-        kAnyGreen       = kSlot1Green  | kSlot2Green | kSlot15Green | kSlot16AttGreen,
-        kAnyUV          = kSlot4UV     | kSlot5UV    | kSlot12UV    | kSlot13UV,
-        kAnyBlue        = kSlot3Blue   | kSlot6Blue  | kSlot7Blue   | kSlot8Blue 
-                        | kSlot9AttBlue| kSlot10Blue | kSlot11Blue  | kSlot14Blue, 
-        kGreenAndBlue   = kAnyGreen & kAnyBlue,
-        kBlueAndUV      = kAnyBlue  & kAnyUV,
-        kGreenAndUV     = kAnyGreen & kAnyUV,
-        kIFAEPulser     = kAnyGreen | kAnyBlue | kAnyUV,
-        kAny            = kAnyGreen | kAnyBlue | kAnyUV | kCT1Pulser
-      };
-
 private:
 
