Index: trunk/Mars/mhist/MHCamera.cc
===================================================================
--- trunk/Mars/mhist/MHCamera.cc	(revision 12920)
+++ trunk/Mars/mhist/MHCamera.cc	(revision 12921)
@@ -1359,4 +1359,52 @@
 // Call this function to add a MCamEvent on top of the present contents.
 //
+void MHCamera::AddMeanShift(const MCamEvent &event, Int_t type)
+{
+    if (fNcells<=1 || IsFreezed())
+        return;
+
+    const Double_t mean = event.GetCameraMean(*fGeomCam, type);
+
+    // FIXME: Security check missing!
+    for (Int_t idx=0; idx<fNcells-2; idx++)
+    {
+        Double_t val=0;
+        if (event.GetPixelContent(val, idx, *fGeomCam, type)/* && !IsUsed(idx)*/)
+        {
+            SetUsed(idx);
+            Fill(idx, val-mean); // FIXME: Slow!
+        }
+    }
+    fEntries++;
+}
+
+// ------------------------------------------------------------------------
+//
+// Call this function to add a MCamEvent on top of the present contents.
+//
+void MHCamera::AddMedianShift(const MCamEvent &event, Int_t type)
+{
+    if (fNcells<=1 || IsFreezed())
+        return;
+
+    const Double_t median = event.GetCameraMedian(*fGeomCam, type);
+
+    // FIXME: Security check missing!
+    for (Int_t idx=0; idx<fNcells-2; idx++)
+    {
+        Double_t val=0;
+        if (event.GetPixelContent(val, idx, *fGeomCam, type)/* && !IsUsed(idx)*/)
+        {
+            SetUsed(idx);
+            Fill(idx, val-median); // FIXME: Slow!
+        }
+    }
+    fEntries++;
+}
+
+// ------------------------------------------------------------------------
+//
+// Call this function to add a MCamEvent on top of the present contents.
+//
 void MHCamera::AddCamContent(const MCamEvent &event, Int_t type)
 {
Index: trunk/Mars/mhist/MHCamera.h
===================================================================
--- trunk/Mars/mhist/MHCamera.h	(revision 12920)
+++ trunk/Mars/mhist/MHCamera.h	(revision 12921)
@@ -174,4 +174,7 @@
     virtual void     SetCamError(const MCamEvent &evt, Int_t type=0);
     virtual void     SetUsed(const TArrayC &arr);
+
+    virtual void     AddMedianShift(const MCamEvent &evt, Int_t type=0);
+    virtual void     AddMeanShift(const MCamEvent &evt, Int_t type=0);
 
     virtual void     CntCamContent(const MCamEvent &evt, Double_t threshold, Int_t type=0, Bool_t isabove=kTRUE);
