Index: trunk/MagicSoft/Mars/mhbase/MBinning.cc
===================================================================
--- trunk/MagicSoft/Mars/mhbase/MBinning.cc	(revision 6932)
+++ trunk/MagicSoft/Mars/mhbase/MBinning.cc	(revision 6938)
@@ -91,4 +91,33 @@
 // --------------------------------------------------------------------------
 //
+// Initialize Binning from an axis of a TH1. If no title given,
+// a title combined from the axis titles and the TH1 title is
+// used.
+//
+MBinning::MBinning(const TH1 &h, const Char_t axis, const char *name, const char *title)
+{
+    fName  = name  ? name : gsDefName.Data();
+    fTitle = title ? Form("%s;%s;%s;%s", h.GetTitle(),
+                          h.GetXaxis()->GetTitle(),
+                          h.GetYaxis()->GetTitle(),
+                          h.GetZaxis()->GetTitle()) : gsDefTitle.Data();
+
+    SetEdges(h, axis);
+}
+
+// --------------------------------------------------------------------------
+//
+// Initialize Binning from TAxis.
+//
+MBinning::MBinning(const TAxis &axis, const char *name, const char *title)
+{
+    fName  = name  ? name : gsDefName.Data();
+    fTitle = title ? title : gsDefTitle.Data();
+
+    SetEdges(axis);
+}
+
+// --------------------------------------------------------------------------
+//
 // Search in the parameter list for the binning with name "name". If found,
 // set the edges and title accordingly. Default is name of object.
@@ -412,8 +441,8 @@
     *fLog << all;
     *fLog << GetDescriptor() << ": nbins=" << GetNumBins() << " [";
-    *fLog << GetEdgeLo() << ", " << GetEdgeHi() << "] ";
+    *fLog << GetEdgeLo() << ", " << GetEdgeHi() << "] <";
     switch (fType)
     {
-    case kIsDefault:     *fLog << "deafult"; break;
+    case kIsDefault:     *fLog << "default"; break;
     case kIsLinear:      *fLog << "linear"; break;
     case kIsLogarithmic: *fLog << "logarithmic"; break;
Index: trunk/MagicSoft/Mars/mhbase/MBinning.h
===================================================================
--- trunk/MagicSoft/Mars/mhbase/MBinning.h	(revision 6932)
+++ trunk/MagicSoft/Mars/mhbase/MBinning.h	(revision 6938)
@@ -41,4 +41,6 @@
     MBinning(Int_t nbins, Axis_t lo, Axis_t hi, const char *name=0, const char *opt="", const char *title=NULL);
     MBinning(const MBinning &bins) { SetEdges(bins); }
+    MBinning(const TH1 &h, const Char_t axis='x', const char *name=0, const char *title=0);
+    MBinning(const TAxis &a, const char *name=0, const char *title=0);
 
     void Copy(TObject &named) const
