Index: trunk/MagicSoft/Mars/mhist/MHCamera.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 3953)
+++ trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 3957)
@@ -34,4 +34,13 @@
 // To change the scale to a logarithmic scale SetLogy() of the Pad.
 //
+// You can correct for the abberation. Assuming that the distance
+// between the mean position of the light distribution and the position
+// of a perfect reflection on a perfect mirror in the distance r on
+// the camera plane is dr it is  d = a*dr  while a is the abberation
+// constant (for the MAGIC mirror it is roughly 0.0713). You can
+// set this constant by calling SetAbberation(a) which results in a
+// 'corrected' display (all outer pixels are shifted towards the center
+// of the camera to correct for this abberation)
+//
 // Be carefull: Entries in this context means Entries/bin or Events
 //
@@ -102,5 +111,5 @@
 //  Default Constructor. To be used by the root system ONLY.
 //
-MHCamera::MHCamera() : TH1D(), fGeomCam(NULL), fColors(kItemsLegend)
+MHCamera::MHCamera() : TH1D(), fGeomCam(NULL), fColors(kItemsLegend), fAbberation(0)
 {
     Init();
@@ -114,5 +123,5 @@
 //
 MHCamera::MHCamera(const MGeomCam &geom, const char *name, const char *title)
-: fGeomCam(NULL), fColors(kItemsLegend)
+: fGeomCam(NULL), fColors(kItemsLegend), fAbberation(0)
 {
     //fGeomCam = (MGeomCam*)geom.Clone();
@@ -759,7 +768,7 @@
         const MGeomPix &pix = (*fGeomCam)[i];
 
-        const Float_t x = pix.GetX()*conv;
-        const Float_t y = pix.GetY()*conv;
-        const Float_t d = pix.GetD()*conv;
+        Float_t x = pix.GetX()*conv/(fAbberation+1);
+        Float_t y = pix.GetY()*conv/(fAbberation+1);
+        Float_t d = pix.GetD()*conv;
 
         if (!isbox)
Index: trunk/MagicSoft/Mars/mhist/MHCamera.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamera.h	(revision 3953)
+++ trunk/MagicSoft/Mars/mhist/MHCamera.h	(revision 3957)
@@ -47,4 +47,6 @@
 //#endif
 
+    Float_t fAbberation;
+
     void Init();
 
@@ -188,6 +190,6 @@
     void     Draw(Option_t *option="");
     TObject *DrawClone(Option_t *option="") const;
-    void     DrawProjection (Int_t fit=0) const;        
-    void     DrawRadialProfile()           const;       
+    void     DrawProjection (Int_t fit=0) const;
+    void     DrawRadialProfile()           const;
 
     void     SavePrimitive(ofstream &out, Option_t *);
@@ -209,4 +211,6 @@
     Bool_t   IsFreezed() const { return TestBit(kFreezed); }
     //void  SetOptStat(Int_t os=-1) { fOptStat = os; } // *MENU*
+
+    void     SetAbberation(Float_t f=0.0713) { fAbberation=f; } // *MENU*
 
     void     AddNotify(TObject *event);
