Index: trunk/MagicSoft/Mars/mhist/MHHillas.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHHillas.cc	(revision 1228)
+++ trunk/MagicSoft/Mars/mhist/MHHillas.cc	(revision 1263)
@@ -53,5 +53,5 @@
 //
 MHHillas::MHHillas(const char *name, const char *title)
-    : fMm2Deg(1), fUseMmScale(kFALSE)
+    : fMm2Deg(-1), fUseMmScale(kFALSE)
 {
     //
@@ -152,4 +152,61 @@
 // --------------------------------------------------------------------------
 //
+// 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=kTRUE)
+{
+    if (fUseMmScale == mmscale)
+        return;
+
+    if (fMm2Deg<0)
+    {
+        *fLog << warn << dbginf << "Warning - Sorry, no conversion factor for conversion available." << endl;
+        return;
+    }
+
+    if (fUseMmScale)
+    {
+        fLength->GetXaxis()->SetTitle("Length [mm]");
+        fWidth->GetXaxis()->SetTitle("Width [mm]");
+
+        fLength->Scale(1./fMm2Deg);
+        fWidth->Scale(1./fMm2Deg);
+    }
+    else
+    {
+        fLength->GetXaxis()->SetTitle("Length [\\circ]");
+        fWidth->GetXaxis()->SetTitle("Width [\\circ]");
+
+        fLength->Scale(fMm2Deg);
+        fWidth->Scale(fMm2Deg);
+    }
+
+    fUseMmScale = mmscale;
+}
+
+// --------------------------------------------------------------------------
+//
 // Draw clones of all four histograms. So that the object can be deleted
 // and the histograms are still visible in the canvas.
Index: trunk/MagicSoft/Mars/mhist/MHHillas.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHHillas.h	(revision 1228)
+++ trunk/MagicSoft/Mars/mhist/MHHillas.h	(revision 1263)
@@ -23,5 +23,6 @@
     ~MHHillas();
 
-    void SetMmScale(Bool_t mmscale=kTRUE) { fUseMmScale = mmscale; }
+    void SetMmScale(Bool_t mmscale=kTRUE);
+    void SetMm2Deg(Float_t mmdeg);
 
     Bool_t SetupFill(const MParList *pList);
Index: trunk/MagicSoft/Mars/mhist/MHStarMap.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHStarMap.cc	(revision 1228)
+++ trunk/MagicSoft/Mars/mhist/MHStarMap.cc	(revision 1263)
@@ -98,5 +98,5 @@
 
     const float m = tan(delta);
-    const float t = m*h.GetMeanX()-h.GetMeanY();
+    const float t = h.GetMeanY() - m*h.GetMeanX();
 
     if (m>-1 && m<1)
Index: trunk/MagicSoft/Mars/mhist/MHTimeDiffTheta.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHTimeDiffTheta.cc	(revision 1228)
+++ trunk/MagicSoft/Mars/mhist/MHTimeDiffTheta.cc	(revision 1263)
@@ -106,5 +106,5 @@
     // FIXME: ProjectionX,Y is not const within root
     //
-    TH1 *h;
+    TH1D *h;
 
     c->cd(1);
@@ -133,5 +133,5 @@
         MakeDefCanvas("DiffTimeTheta", "Distrib of Delta t, Theta");
 
-    TH1 *h;
+    TH1D *h;
 
     gPad->Divide(2,2);
Index: trunk/MagicSoft/Mars/mhist/MHTimeDiffTime.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHTimeDiffTime.cc	(revision 1228)
+++ trunk/MagicSoft/Mars/mhist/MHTimeDiffTime.cc	(revision 1263)
@@ -98,5 +98,5 @@
     // FIXME: ProjectionX,Y is not const within root
     //
-    TH1 *h;
+    TH1D *h;
 
     c->cd(1);
@@ -127,5 +127,5 @@
     gPad->Divide(2,2);
 
-    TH1 *h;
+    TH1D *h;
 
     gPad->cd(1);
