Index: trunk/MagicSoft/Mars/mgui/MCamDisplay.cc
===================================================================
--- trunk/MagicSoft/Mars/mgui/MCamDisplay.cc	(revision 2135)
+++ trunk/MagicSoft/Mars/mgui/MCamDisplay.cc	(revision 2147)
@@ -59,4 +59,6 @@
 #include "MPedestalCam.h"
 
+#include "MCurrents.h"
+
 #include "MImgCleanStd.h"
 
@@ -249,6 +251,15 @@
     // Fixme: Use absolute value per mm^2. Needs another scaling algorithm.
     //
-    const Float_t pnum  = pix.GetNumPhotons()/pix.GetErrorPhot();
-    (*this)[pix.GetPixId()].SetFillColor(GetColor(pnum, min, max));
+    // *OLD* const Float_t r = pix.GetNumPhotons()/pix.GetErrorPhot();
+    //    if (entry * ratio <= fCleanLvl1 * noise)
+
+    const Float_t  entry = pix.GetNumPhotons();
+    const Float_t  noise = pix.GetErrorPhot();
+    const Double_t ratio = TMath::Sqrt(fGeomCam->GetPixRatio(pix.GetPixId()));
+
+    const Float_t r = entry*ratio/noise;
+    //const Float_t pnum  = pix.GetNumPhotons()/pix.GetErrorPhot();
+
+    (*this)[pix.GetPixId()].SetFillColor(GetColor(r, min, max));
 }
 
@@ -259,5 +270,12 @@
     MHexagon &hex = (*this)[pix.GetPixId()];
 
-    const Float_t r = pix.GetNumPhotons()/pix.GetErrorPhot();
+    // *OLD* const Float_t r = pix.GetNumPhotons()/pix.GetErrorPhot();
+    //    if (entry * ratio <= fCleanLvl1 * noise)
+
+    const Float_t  entry = pix.GetNumPhotons();
+    const Float_t  noise = pix.GetErrorPhot();
+    const Double_t ratio = TMath::Sqrt(fGeomCam->GetPixRatio(pix.GetPixId()));
+
+    const Float_t r = entry*ratio/noise;
 
     if (r>lvl1)
@@ -618,6 +636,6 @@
     if (fAutoScale)
     {
-        min = event.GetRatioMin();
-        max = event.GetRatioMax();
+        min = event.GetRatioMin(fGeomCam);
+        max = event.GetRatioMax(fGeomCam);
 
         UpdateLegend(min, max);
@@ -637,4 +655,40 @@
 
         SetPixColorRatio(pix, min, max);
+    }
+}
+
+// ------------------------------------------------------------------------
+//
+// Call this function to fill the currents
+//
+void MCamDisplay::FillCurrents(const MCurrents &event)
+{
+    //
+    // Reset pixel colors to default value
+    //
+    Reset();
+
+    //
+    //  if the autoscale is true, set the values for the range for
+    //  each event
+    //
+    Float_t min = 0;
+    Float_t max = 20;
+    if (fAutoScale)
+    {
+        min = event.GetMin();
+        max = event.GetMax();
+
+        UpdateLegend(min, max);
+    }
+
+    //
+    //   update the colors in the picture
+    //
+    // FIXME: Security check missing!
+    for (UInt_t i=0; i<fNumPixels; i++)
+    {
+        //const Float_t pnum  = pix.GetNumPhotons()/pix.GetErrorPhot();
+        (*this)[i].SetFillColor(GetColor(event[i], min, max));
     }
 }
Index: trunk/MagicSoft/Mars/mgui/MCamDisplay.h
===================================================================
--- trunk/MagicSoft/Mars/mgui/MCamDisplay.h	(revision 2135)
+++ trunk/MagicSoft/Mars/mgui/MCamDisplay.h	(revision 2147)
@@ -19,4 +19,5 @@
 class MHexagon;
 class MRflEvtData;
+class MCurrents;
 class MCerPhotEvt;
 class MCerPhotPix;
@@ -80,4 +81,5 @@
     void FillPedestals(const MPedestalCam &event);
     void FillRflEvent(const MRflEvtData &event);
+    void FillCurrents(const MCurrents &event);
     void ShowRflEvent(const MRflEvtData *event=NULL, EMarkerStyle m=kFullDotMedium);
 
