Index: /trunk/MagicSoft/Mars/mimage/MHHillas.cc
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 9340)
@@ -61,5 +61,5 @@
 //
 MHHillas::MHHillas(const char *name, const char *title)
-    : fGeomCam(0), fMm2Deg(1), fUseMmScale(kTRUE)
+    : fGeomCam(0)
 {
     //
@@ -81,7 +81,7 @@
     fDelta->SetDirectory(NULL);
 
-    fLength->SetXTitle("Length [mm]");
-    fWidth->SetXTitle("Width [mm]");
-    fDistC->SetXTitle("Distance [mm]");
+    fLength->SetXTitle("Length [\\circ]");
+    fWidth->SetXTitle("Width [\\circ]");
+    fDistC->SetXTitle("Distance [\\circ]");
     fDelta->SetXTitle("Delta [\\circ]");
 
@@ -146,10 +146,9 @@
     fGeomCam = (MGeomCam*)plist->FindObject("MGeomCam");
     if (!fGeomCam)
-        *fLog << warn << GetDescriptor() << ": No Camera Geometry available. Using mm-scale for histograms." << endl;
-    else
-    {
-        fMm2Deg = fGeomCam->GetConvMm2Deg();
-        SetMmScale(kFALSE);
-    }
+    {
+        *fLog << err << "MGeomCam not found... abort." << endl;
+        return kFALSE;
+    }
+
 
     ApplyBinning(*plist, "Width",  fWidth);
@@ -162,7 +161,5 @@
     if (!bins)
     {
-        float r = fGeomCam ? fGeomCam->GetMaxRadius() : 600;
-        if (!fUseMmScale)
-            r *= fMm2Deg;
+        const Float_t r = fGeomCam->GetMaxRadius()*fGeomCam->GetConvMm2Deg();
 
         MBinning b;
@@ -179,67 +176,4 @@
 // --------------------------------------------------------------------------
 //
-// Use this function to setup your own conversion factor between degrees
-// and millimeters. The conversion factor should be the one calculated in
-// MGeomCam. Use this function with Caution: You could create wrong values
-// by setting up your own scale factor.
-//
-void MHHillas::SetMm2Deg(Float_t mmdeg)
-{
-    if (mmdeg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Conversion factor < 0 - nonsense. Ignored." << endl;
-        return;
-    }
-
-    if (fMm2Deg>=0)
-        *fLog << warn << dbginf << "Warning - Conversion factor already set. Overwriting" << endl;
-
-    fMm2Deg = mmdeg;
-}
-
-// --------------------------------------------------------------------------
-//
-// With this function you can convert the histogram ('on the fly') between
-// degrees and millimeters.
-//
-void MHHillas::SetMmScale(Bool_t mmscale)
-{
-    if (fUseMmScale == mmscale)
-        return;
-
-    if (fMm2Deg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Sorry, no conversion factor for conversion available." << endl;
-        return;
-    }
-
-    const Double_t scale = mmscale ? 1./fMm2Deg : fMm2Deg;
-    MH::ScaleAxis(fLength, scale);
-    MH::ScaleAxis(fWidth,  scale);
-    MH::ScaleAxis(fDistC,  scale);
-    MH::ScaleAxis(fCenter, scale, scale);
-
-    if (mmscale)
-    {
-        fLength->SetXTitle("Length [mm]");
-        fWidth->SetXTitle("Width [mm]");
-        fDistC->SetXTitle("Distance [mm]");
-        fCenter->SetXTitle("x [mm]");
-        fCenter->SetYTitle("y [mm]");
-    }
-    else
-    {
-        fLength->SetXTitle("Length [\\circ]");
-        fWidth->SetXTitle("Width [\\circ]");
-        fDistC->SetXTitle("Distance [\\circ]");
-        fCenter->SetXTitle("x [\\circ]");
-        fCenter->SetYTitle("y [\\circ]");
-    }
-
-    fUseMmScale = mmscale;
-}
-
-// --------------------------------------------------------------------------
-//
 // Fill the histograms with data from a MHillas-Container.
 // Be careful: Only call this with an object of type MHillas
@@ -255,10 +189,9 @@
     const MHillas &h = *(MHillas*)par;
 
-    const Double_t d = sqrt(h.GetMeanX()*h.GetMeanX() + h.GetMeanY()*h.GetMeanY());
-    const Double_t scale = fUseMmScale ? 1 : fMm2Deg;
+    const Double_t scale = fGeomCam->GetConvMm2Deg();
 
     fLength->Fill(scale*h.GetLength(), w);
     fWidth ->Fill(scale*h.GetWidth(), w);
-    fDistC ->Fill(scale*d, w);
+    fDistC ->Fill(scale*h.GetDist0(), w);
     fCenter->Fill(scale*h.GetMeanX(), scale*h.GetMeanY(), w);
     fDelta ->Fill(kRad2Deg*h.GetDelta(), w);
Index: /trunk/MagicSoft/Mars/mimage/MHHillas.h
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHHillas.h	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHHillas.h	(revision 9340)
@@ -14,4 +14,5 @@
 {
 private:
+    MGeomCam *fGeomCam; //! Camera geometry for plots (for the moment this is a feature for a loop only!)
 
     TH1F *fLength;  //-> Length
@@ -24,9 +25,4 @@
     TH2F *fCenter;  //-> Center
 
-    MGeomCam *fGeomCam; //! Camera geometry for plots (for the moment this is a feature for a loop only!)
-
-    Float_t fMm2Deg;
-    Bool_t  fUseMmScale;
-
     void Paint(Option_t *opt="");
 
@@ -34,7 +30,4 @@
     MHHillas(const char *name=NULL, const char *title=NULL);
     ~MHHillas();
-
-    void SetMmScale(Bool_t mmscale=kTRUE);
-    virtual void SetMm2Deg(Float_t mmdeg);
 
     Bool_t SetupFill(const MParList *pList);
Index: /trunk/MagicSoft/Mars/mimage/MHHillasExt.cc
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 9340)
@@ -65,6 +65,5 @@
 //
 MHHillasExt::MHHillasExt(const char *name, const char *title)
-    : fHillas(0), fHillasExt(0), fMm2Deg(1),
-    fUseMmScale(kTRUE), fHilName("MHillasExt")
+    : fGeom(0), fHillas(0), fHillasExt(0), fHilName("MHillasExt")
 {
     //
@@ -94,13 +93,13 @@
     fHSlopeL.SetTitle("Longitudinal time-slope vs. Dist");
 
-    fHAsym.SetXTitle("Asym [mm]");
-    fHM3Long.SetXTitle("3^{rd} M_{l} [mm]");
-    fHM3Trans.SetXTitle("3^{rd} M_{t} [mm]");
-    fHSlopeL.SetXTitle("D [mm]");
+    fHAsym.SetXTitle("Asym [\\circ]");
+    fHM3Long.SetXTitle("3^{rd} M_{l} [\\circ]");
+    fHM3Trans.SetXTitle("3^{rd} M_{t} [\\circ]");
+    fHSlopeL.SetXTitle("D [\\circ]");
 
     fHAsym.SetYTitle("Counts");
     fHM3Long.SetYTitle("Counts");
     fHM3Trans.SetYTitle("Counts");
-    fHSlopeL.SetYTitle("S_{l} [ns/mm]");
+    fHSlopeL.SetYTitle("S_{l} [ns/\\circ]");
 
     fHAsym.SetFillStyle(4000);
@@ -156,11 +155,9 @@
     }
 
-    const MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
-    if (!geom)
-        *fLog << warn << GetDescriptor() << ": No Camera Geometry available. Using mm-scale for histograms." << endl;
-    else
-    {
-        fMm2Deg = geom->GetConvMm2Deg();
-        SetMmScale(kFALSE);
+    fGeom = (MGeomCam*)plist->FindObject("MGeomCam");
+    if (!fGeom)
+    {
+        *fLog << err << "MGeomCam not found... abort." << endl;
+        return kFALSE;
     }
 
@@ -182,5 +179,5 @@
     const MHillasSrc *src = (MHillasSrc*)par;
 
-    const Double_t scale = TMath::Sign(fUseMmScale?1:fMm2Deg, (src ? src->GetCosDeltaAlpha() : 1));
+    const Double_t scale = TMath::Sign(fGeom->GetConvMm2Deg(), (src ? src->GetCosDeltaAlpha() : 1));
     const Double_t dist  = src ? src->GetDist() : fHillas->GetDist0();
 
@@ -191,67 +188,4 @@
 
     return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// With this function you can convert the histogram ('on the fly') between
-// degrees and millimeters.
-//
-void MHHillasExt::SetMmScale(Bool_t mmscale)
-{
-    if (fUseMmScale == mmscale)
-        return;
-
-    if (fMm2Deg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Sorry, no conversion factor for conversion available." << endl;
-        return;
-    }
-
-    const Double_t scale = mmscale ? 1./fMm2Deg : fMm2Deg;
-    MH::ScaleAxis(&fHAsym,    scale);
-    MH::ScaleAxis(&fHM3Long,  scale);
-    MH::ScaleAxis(&fHM3Trans, scale);
-    MH::ScaleAxis(&fHSlopeL,  scale, 1./scale);
-
-    if (mmscale)
-    {
-        fHAsym.SetXTitle("Asym [mm]");
-        fHM3Long.SetXTitle("3^{rd} M_{l} [mm]");
-        fHM3Trans.SetXTitle("3^{rd} M_{t} [mm]");
-        fHSlopeL.SetXTitle("D [mm]");
-        fHSlopeL.SetYTitle("S_{l} [ns/mm]");
-    }
-    else
-    {
-        fHAsym.SetXTitle("Asym [\\circ]");
-        fHM3Long.SetXTitle("3^{rd} M_{l} [\\circ]");
-        fHM3Trans.SetXTitle("3^{rd} M_{t} [\\circ]");
-        fHSlopeL.SetXTitle("D [\\circ]");
-        fHSlopeL.SetYTitle("S_{l} [ns/\\circ]");
-    }
-
-    fUseMmScale = mmscale;
-}
-
-// --------------------------------------------------------------------------
-//
-// Use this function to setup your own conversion factor between degrees
-// and millimeters. The conversion factor should be the one calculated in
-// MGeomCam. Use this function with Caution: You could create wrong values
-// by setting up your own scale factor.
-//
-void MHHillasExt::SetMm2Deg(Float_t mmdeg)
-{
-    if (mmdeg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Conversion factor < 0 - nonsense. Ignored." << endl;
-        return;
-    }
-
-    if (fMm2Deg>=0)
-        *fLog << warn << dbginf << "Warning - Conversion factor already set. Overwriting" << endl;
-
-    fMm2Deg = mmdeg;
 }
 
Index: /trunk/MagicSoft/Mars/mimage/MHHillasExt.h
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHHillasExt.h	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHHillasExt.h	(revision 9340)
@@ -9,4 +9,5 @@
 #endif
 
+class MGeomCam;
 class MHillas;
 class MHillasExt;
@@ -15,4 +16,5 @@
 {
 private:
+    MGeomCam   *fGeom;      //! conversion mm to deg
     MHillas    *fHillas;    //! Pointer to the MHillas container
     MHillasExt *fHillasExt; //! Pointer to the MHillasExt container
@@ -23,7 +25,4 @@
     TH2F fHSlopeL;  //
 
-    Float_t fMm2Deg;
-    Bool_t  fUseMmScale;
-
     TString fHilName;
 
@@ -32,7 +31,4 @@
 
     void SetHillasName(const char *name) { fHilName = name; }
-
-    void SetMmScale(Bool_t mmscale=kTRUE);
-    virtual void SetMm2Deg(Float_t mmdeg);
 
     Bool_t SetupFill(const MParList *pList);
Index: /trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 9340)
@@ -56,5 +56,5 @@
 //
 MHHillasSrc::MHHillasSrc(const char *name, const char *title)
-    : fUseMmScale(kTRUE)
+    : fGeom(0)
 {
     //
@@ -82,5 +82,5 @@
 
     fAlpha->SetXTitle("\\alpha [\\circ]");
-    fDist->SetXTitle("Dist [mm]");
+    fDist->SetXTitle("Dist [\\circ]");
     fCosDA->SetXTitle("cos(\\delta,\\alpha)");
     fDCA->SetXTitle("DCA [\\circ]");
@@ -123,11 +123,9 @@
 Bool_t MHHillasSrc::SetupFill(const MParList *plist)
 {
-    const MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
-    if (!geom)
-        *fLog << warn << dbginf << "No Camera Geometry available. Using mm-scale for histograms." << endl;
-    else
+    fGeom = (MGeomCam*)plist->FindObject("MGeomCam");
+    if (!fGeom)
     {
-        fMm2Deg = geom->GetConvMm2Deg();
-        SetMmScale(kFALSE);
+        *fLog << err << "MGeomCam not found... abort." << endl;
+        return kFALSE;
     }
 
@@ -155,58 +153,13 @@
     const MHillasSrc &h = *(MHillasSrc*)par;
 
+    const Double_t scale = fGeom->GetConvMm2Deg();
+
     fAlpha->Fill(h.GetAlpha(), w);
-    fDist ->Fill(fUseMmScale ? h.GetDist() : fMm2Deg*h.GetDist(), w);
+    fDist ->Fill(h.GetDist()*scale, w);
     fCosDA->Fill(h.GetCosDeltaAlpha(), w);
-    fDCA  ->Fill(fUseMmScale ? h.GetDCA() : fMm2Deg*h.GetDCA(), w);
+    fDCA  ->Fill(h.GetDCA()*scale, w);
     fDCADelta->Fill(h.GetDCADelta(), w);
 
     return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Use this function to setup your own conversion factor between degrees
-// and millimeters. The conversion factor should be the one calculated in
-// MGeomCam. Use this function with Caution: You could create wrong values
-// by setting up your own scale factor.
-//
-void MHHillasSrc::SetMm2Deg(Float_t mmdeg)
-{
-    if (mmdeg<=0)
-    {
-        *fLog << warn << dbginf << "Warning - Conversion factor <= 0 - nonsense. Ignored." << endl;
-        return;
-    }
-
-    if (fMm2Deg>0)
-        *fLog << warn << dbginf << "Warning - Conversion factor already set. Overwriting" << endl;
-
-    fMm2Deg = mmdeg;
-}
-
-// --------------------------------------------------------------------------
-//
-// With this function you can convert the histogram ('on the fly') between
-// degrees and millimeters.
-//
-void MHHillasSrc::SetMmScale(Bool_t mmscale)
-{
-    if (fUseMmScale == mmscale)
-        return;
-
-    if (fMm2Deg<0)
-    {
-        *fLog << warn << GetDescriptor() << ": Warning - Sorry, no conversion factor for conversion available." << endl;
-        return;
-    }
-
-    const Double_t scale = mmscale ? 1./fMm2Deg : fMm2Deg;
-    MH::ScaleAxis(fDist, scale);
-    MH::ScaleAxis(fDCA,  scale);
-
-    fDist->SetXTitle(mmscale ? "Dist [mm]" : "Dist [\\circ]");
-    fDCA ->SetXTitle(mmscale ? "DCA [mm]"  : "DCA [\\circ]");
-
-    fUseMmScale = mmscale;
 }
 
Index: /trunk/MagicSoft/Mars/mimage/MHHillasSrc.h
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHHillasSrc.h	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHHillasSrc.h	(revision 9340)
@@ -7,4 +7,5 @@
 
 class TH1F;
+class MGeomCam;
 class MHillas;
 
@@ -12,4 +13,6 @@
 {
 private:
+    MGeomCam *fGeom;  //! conversion mm to deg
+
     TH1F *fAlpha;     //->
     TH1F *fDist;      //->
@@ -19,13 +22,7 @@
     TH1F *fDCADelta;  //->
 
-    Float_t fMm2Deg;
-    Bool_t  fUseMmScale;
-
 public:
     MHHillasSrc(const char *name=NULL, const char *title=NULL);
     ~MHHillasSrc();
-
-    void SetMmScale(Bool_t mmscale=kTRUE);
-    void SetMm2Deg(Float_t mmdeg);
 
     Bool_t SetupFill(const MParList *pList);
Index: /trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 9340)
@@ -62,5 +62,5 @@
 //
 MHNewImagePar::MHNewImagePar(const char *name, const char *title)
-    : fMm2Deg(1), fUseMmScale(kTRUE)
+    : fGeom(0)
 {
     fName  = name  ? name  : "MHNewImagePar";
@@ -104,5 +104,5 @@
     fHistUsedArea.SetName("UsedArea");
     fHistUsedArea.SetTitle("Area of used pixels");
-    fHistUsedArea.SetXTitle("Area [m^2]");
+    fHistUsedArea.SetXTitle("Area [\\circ^{2}]");
     fHistUsedArea.SetYTitle("Counts");
     fHistUsedArea.SetDirectory(NULL);
@@ -113,5 +113,5 @@
     fHistCoreArea.SetName("CoreArea");
     fHistCoreArea.SetTitle("Area of core pixels");
-    fHistCoreArea.SetXTitle("Area [m^2]");
+    fHistCoreArea.SetXTitle("Area [\\circ^{2}]");
     fHistCoreArea.SetYTitle("Counts");
     fHistCoreArea.SetDirectory(NULL);
@@ -165,7 +165,8 @@
     bins.Apply(fHistCorePix);
 
-    //bins.SetEdges(75, 0, 0.249);
-    //bins.Apply(fHistUsedArea);
-    //bins.Apply(fHistCoreArea);
+    MBinning b;
+    b.SetEdges(50, 0, 1.5);
+    b.Apply(fHistUsedArea);
+    b.Apply(fHistCoreArea);
 }
 
@@ -177,24 +178,13 @@
 Bool_t MHNewImagePar::SetupFill(const MParList *plist)
 {
-    MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
-    if (!geom)
-        *fLog << warn << GetDescriptor() << ": No Camera Geometry available. Using mm-scale for histograms." << endl;
-    else
+    fGeom = (MGeomCam*)plist->FindObject("MGeomCam");
+    if (!fGeom)
     {
-        fMm2Deg = geom->GetConvMm2Deg();
-        SetMmScale(kFALSE);
+        *fLog << err << "MGeomCam not found... abort." << endl;
+        return kFALSE;
     }
 
     const MBinning *bins = (MBinning*)plist->FindObject("BinningArea");
-    if (!bins)
-    {
-        float r = geom ? 1.5 : 0.133;
-
-        MBinning b;
-        b.SetEdges(50, 0, r);
-        b.Apply(fHistUsedArea);
-        b.Apply(fHistCoreArea);
-    }
-    else
+    if (bins)
     {
         bins->Apply(fHistUsedArea);
@@ -232,5 +222,5 @@
     }
 
-    const Double_t scale = fUseMmScale ? 1e-6 : fMm2Deg*fMm2Deg;
+    const Double_t scale = fGeom->GetConvMm2Deg()*fGeom->GetConvMm2Deg();
 
     const MNewImagePar &h = *(MNewImagePar*)par;
@@ -251,59 +241,4 @@
 
     return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// With this function you can convert the histogram ('on the fly') between
-// degrees and millimeters.
-//
-void MHNewImagePar::SetMmScale(Bool_t mmscale)
-{
-    if (fUseMmScale == mmscale)
-        return;
-
-    if (fMm2Deg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Sorry, no conversion factor for conversion available." << endl;
-        return;
-    }
-
-    const Double_t scale = mmscale ? 1./(fMm2Deg*fMm2Deg) : (fMm2Deg*fMm2Deg);
-    MH::ScaleAxis(&fHistUsedArea,  scale);
-    MH::ScaleAxis(&fHistCoreArea,  scale);
-
-    if (mmscale)
-    {
-        fHistUsedArea.SetXTitle("A [m^{2}]");
-        fHistCoreArea.SetXTitle("A [m^{2}]");
-    }
-    else
-    {
-        fHistUsedArea.SetXTitle("A [deg^{2}]");
-        fHistCoreArea.SetXTitle("A [deg^{2}]");
-    }
-
-    fUseMmScale = mmscale;
-}
-
-// --------------------------------------------------------------------------
-//
-// Use this function to setup your own conversion factor between degrees
-// and millimeters. The conversion factor should be the one calculated in
-// MGeomCam. Use this function with Caution: You could create wrong values
-// by setting up your own scale factor.
-//
-void MHNewImagePar::SetMm2Deg(Float_t mmdeg)
-{
-    if (mmdeg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Conversion factor < 0 - nonsense. Ignored." << endl;
-        return;
-    }
-
-    if (fMm2Deg>=0)
-        *fLog << warn << dbginf << "Warning - Conversion factor already set. Overwriting" << endl;
-
-    fMm2Deg = mmdeg;
 }
 
Index: /trunk/MagicSoft/Mars/mimage/MHNewImagePar.h
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHNewImagePar.h	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHNewImagePar.h	(revision 9340)
@@ -9,4 +9,5 @@
 #endif
 
+class MGeomCam;
 class MHillas;
 
@@ -14,4 +15,6 @@
 {
 private:
+    MGeomCam *fGeom;     //! Conversion from mm to deg
+
     TH1F fHistLeakage1;  //
     TH1F fHistLeakage2;  //
@@ -27,7 +30,4 @@
     TH1F fHistConcCOG;   // [ratio] concentration of the three pixels next to COG
     TH1F fHistConcCore;  // [ratio] concentration of signals inside or touching the ellipse
-
-    Float_t fMm2Deg;
-    Bool_t  fUseMmScale;
 
 public:
@@ -58,7 +58,4 @@
     TH1F &GetHistConcCore()  { return fHistConcCore; }
 
-    void SetMmScale(Bool_t mmscale=kTRUE);
-    virtual void SetMm2Deg(Float_t mmdeg);
-
     void Draw(Option_t *opt="");
     void Paint(Option_t *opt="");
Index: /trunk/MagicSoft/Mars/mimage/MHNewImagePar2.cc
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHNewImagePar2.cc	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHNewImagePar2.cc	(revision 9340)
@@ -55,5 +55,5 @@
 //
 MHNewImagePar2::MHNewImagePar2(const char *name, const char *title)
-    : fMm2Deg(1), fUseMmScale(kTRUE)
+    : fGeom(0)
 {
     fName  = name  ? name  : "MHNewImagePar2";
@@ -62,5 +62,5 @@
     fHistBorder1.SetName("Border1");
     fHistBorder1.SetTitle("Border Line of border pixels (pixel border)");
-    fHistBorder1.SetXTitle("Border");
+    fHistBorder1.SetXTitle("Border [\\circ]]");
     fHistBorder1.SetYTitle("Counts");
     fHistBorder1.SetDirectory(NULL);
@@ -70,5 +70,5 @@
     fHistBorder2.SetName("Border2");
     fHistBorder2.SetTitle("Border Line of border pixels (pixel center)");
-    fHistBorder2.SetXTitle("Border");
+    fHistBorder2.SetXTitle("Border [\\circ]]");
     fHistBorder2.SetYTitle("Counts");
     fHistBorder2.SetDirectory(NULL);
@@ -85,11 +85,9 @@
 Bool_t MHNewImagePar2::SetupFill(const MParList *plist)
 {
-    MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
-    if (!geom)
-        *fLog << warn << GetDescriptor() << ": No Camera Geometry available. Using mm-scale for histograms." << endl;
-    else
+    fGeom = (MGeomCam*)plist->FindObject("MGeomCam");
+    if (!fGeom)
     {
-        fMm2Deg = geom->GetConvMm2Deg();
-        SetMmScale(kFALSE);
+        *fLog << err << "MGeomCam not found... abort." << endl;
+        return kFALSE;
     }
 
@@ -97,8 +95,6 @@
     if (!bins)
     {
-        const float r = geom ? 10 : 2967;
-
         MBinning b;
-        b.SetEdges(87, 0, r);
+        b.SetEdges(87, 0, 10);
         b.Apply(fHistBorder1);
         b.Apply(fHistBorder2);
@@ -127,5 +123,5 @@
     }
 
-    const Double_t scale = fUseMmScale ? 1 : fMm2Deg;
+    const Double_t scale = fGeom->GetConvMm2Deg();
 
     fHistBorder1.Fill(h->GetBorderLinePixel() *scale, w);
@@ -133,59 +129,4 @@
 
     return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// With this function you can convert the histogram ('on the fly') between
-// degrees and millimeters.
-//
-void MHNewImagePar2::SetMmScale(Bool_t mmscale)
-{
-    if (fUseMmScale == mmscale)
-        return;
-
-    if (fMm2Deg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Sorry, no conversion factor for conversion available." << endl;
-        return;
-    }
-
-    const Double_t scale = mmscale ? 1./fMm2Deg : fMm2Deg;
-    MH::ScaleAxis(&fHistBorder1,  scale);
-    MH::ScaleAxis(&fHistBorder2,  scale);
-
-    if (mmscale)
-    {
-        fHistBorder1.SetXTitle("L [mm]");
-        fHistBorder2.SetXTitle("L [mm]");
-    }
-    else
-    {
-        fHistBorder1.SetXTitle("L [\\circ]");
-        fHistBorder2.SetXTitle("L [\\circ]");
-    }
-
-    fUseMmScale = mmscale;
-}
-
-// --------------------------------------------------------------------------
-//
-// Use this function to setup your own conversion factor between degrees
-// and millimeters. The conversion factor should be the one calculated in
-// MGeomCam. Use this function with Caution: You could create wrong values
-// by setting up your own scale factor.
-//
-void MHNewImagePar2::SetMm2Deg(Float_t mmdeg)
-{
-    if (mmdeg<0)
-    {
-        *fLog << warn << dbginf << "Warning - Conversion factor < 0 - nonsense. Ignored." << endl;
-        return;
-    }
-
-    if (fMm2Deg>=0)
-        *fLog << warn << dbginf << "Warning - Conversion factor already set. Overwriting" << endl;
-
-    fMm2Deg = mmdeg;
 }
 
Index: /trunk/MagicSoft/Mars/mimage/MHNewImagePar2.h
===================================================================
--- /trunk/MagicSoft/Mars/mimage/MHNewImagePar2.h	(revision 9339)
+++ /trunk/MagicSoft/Mars/mimage/MHNewImagePar2.h	(revision 9340)
@@ -9,4 +9,5 @@
 #endif
 
+class MGeomCam;
 class MHillas;
 
@@ -14,4 +15,6 @@
 {
 private:
+    MGeomCam *fGeom;    //! conversion mm to deg
+
     TH1F fHistBorder1;  //
     TH1F fHistBorder2;  //
@@ -26,7 +29,4 @@
     Int_t  Fill(const MParContainer *par, const Stat_t w=1);
 
-    void SetMmScale(Bool_t mmscale=kTRUE);
-    virtual void SetMm2Deg(Float_t mmdeg);
-
     void Draw(Option_t *opt="");
 
