Index: trunk/MagicSoft/Mars/mhist/MHCamera.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 2461)
+++ trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 2476)
@@ -671,5 +671,4 @@
 //
 // Call this function to add a MCamEvent on top of the present contents.
-// Only 'used' pixels are added.
 //
 void MHCamera::AddCamContent(const MCamEvent &event, Int_t type)
@@ -682,5 +681,5 @@
     {
         Double_t val=0;
-        if (event.GetPixelContent(val, idx, *fGeomCam, type) && !IsUsed(idx))
+        if (event.GetPixelContent(val, idx, *fGeomCam, type)/* && !IsUsed(idx)*/)
             SetUsed(idx);
 
@@ -693,5 +692,4 @@
 //
 // Call this function to add a MHCamera on top of the present contents.
-// Only 'used' pixels are added.
 // Type:
 //  0) bin content
@@ -731,5 +729,4 @@
 //
 // Call this function to add a TArrayD on top of the present contents.
-// Only 'used' pixels are added.
 //
 void MHCamera::AddCamContent(const TArrayD &event, const TArrayC *used)
@@ -745,5 +742,5 @@
         Fill(idx, const_cast<TArrayD&>(event)[idx]); // FIXME: Slow!
 
-        if (used && (*const_cast<TArrayC*>(used))[idx])
+        if (!used || (*const_cast<TArrayC*>(used))[idx])
             SetUsed(idx);
     }
@@ -764,6 +761,6 @@
     for (Int_t idx=0; idx<fNcells-2; idx++)
     {
-        Double_t val=0;
-        if (event.GetPixelContent(val, idx, *fGeomCam, type) && !IsUsed(idx))
+        Double_t val=threshold;
+        if (event.GetPixelContent(val, idx, *fGeomCam, type)/* && !IsUsed(idx)*/)
             SetUsed(idx);
 
@@ -1128,6 +1125,28 @@
     if (fNotify && fNotify->GetSize()>0)
     {
-        new TCanvas;
+        // FIXME: Is there a simpler and more convinient way?
+
+        // The name which is created here depends on the instance of
+        // MHCamera and on the pad on which it is drawn --> The name
+        // is unique. For ExecuteEvent gPad is always correctly set.
+        const TString name = Form("%p;%p;PixelContent", this, gPad);
+
+        TCanvas *old = (TCanvas*)gROOT->GetListOfCanvases()->FindObject(name);
+        if (old)
+            old->cd();
+        else
+            new TCanvas(name);
+
+        /*
+         TIter Next(gPad->GetListOfPrimitives());
+         TObject *o;
+         while (o=Next()) cout << o->GetName() << " " << o->IsA()->GetName() << endl;
+         */
+
+        // FIXME: Make sure, that the old histograms are really deleted.
+        //        Are they already deleted?
         fNotify->ForEach(MCamEvent, DrawPixelContent)(idx);
+        gPad->Modified();
+        gPad->Update();
     }
 }
