Index: trunk/MagicSoft/Mars/mhist/MH.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MH.cc	(revision 995)
+++ trunk/MagicSoft/Mars/mhist/MH.cc	(revision 1003)
@@ -40,4 +40,6 @@
 #include "MH.h"
 
+#include <TCanvas.h>
+
 ClassImp(MH);
 
@@ -52,6 +54,31 @@
     //   set the name and title of this object
     //
-    *fName  = name  ? name  : "MH" ;
-    *fTitle = title ? title : "Base class for Mars histograms" ;
+    fName  = name  ? name  : "MH" ;
+    fTitle = title ? title : "Base class for Mars histograms" ;
 }
 
+TCanvas *MH::MakeDefCanvas(const char *name, const char *title,
+                           const UInt_t w, const UInt_t h)
+{
+    const TList *list = (TList*)gROOT->GetListOfCanvases();
+
+    const char *def = name ? name : gROOT->GetDefCanvasName();
+
+    TCanvas *c;
+    if (list->FindObject(def))
+    {
+        const char *n = StrDup(Form("%s <%d>", def, list->GetSize()+1));
+        c = new TCanvas(n, title, w, h);
+        delete [] n;
+    }
+    else
+        c = new TCanvas(def, title, w, h);
+
+    return c;
+}
+
+TCanvas *MH::MakeDefCanvas(const TObject *obj,
+                           const UInt_t w, const UInt_t h)
+{
+    return MakeDefCanvas(obj->GetName(), obj->GetTitle(), w, h);
+}
