Index: trunk/MagicSoft/Mars/mimage/MHillas.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHillas.cc	(revision 2465)
+++ trunk/MagicSoft/Mars/mimage/MHillas.cc	(revision 2467)
@@ -82,5 +82,5 @@
 // Default constructor.
 //
-MHillas::MHillas(const char *name, const char *title) : fEllipse(NULL)
+MHillas::MHillas(const char *name, const char *title)
 {
     fName  = name  ? name  : "MHillas";
@@ -88,6 +88,4 @@
 
     Reset();
-
-    fEllipse = new TEllipse;
 }
 
@@ -98,5 +96,4 @@
 MHillas::~MHillas()
 {
-    Clear();
 }
 
@@ -115,6 +112,4 @@
     fMeanX  =  0;
     fMeanY  =  0;
-
-    Clear();
 }
 
@@ -143,36 +138,17 @@
 // --------------------------------------------------------------------------
 //
-// Instead of adding MHillas itself to the Pad (s. AppendPad in TObject)
-// we create an ellipse, which is added to the Pad by its Draw function
-// You can remove it by deleting the Ellipse Object (s. Clear())
-//
-void MHillas::Draw(Option_t *opt)
-{
-    Clear();
-
+// Paint the ellipse corresponding to the parameters
+//
+void MHillas::Paint(Option_t *opt)
+{
     if (fLength<0 || fWidth<0)
         return;
 
-    fEllipse = new TEllipse(fMeanX, fMeanY, fLength, fWidth,
+    TEllipse e(fMeanX, fMeanY, fLength, fWidth,
                             0, 360, fDelta*kRad2Deg+180);
 
-    fEllipse->SetLineWidth(2);
-    fEllipse->Draw();
-}
-
-// --------------------------------------------------------------------------
-//
-// If a TEllipse object exists it is deleted
-//
-void MHillas::Clear(Option_t *)
-{
-    if (!fEllipse)
-        return;
-
-    delete fEllipse;
-
-    fEllipse = NULL;
-}
-
+    e.SetLineWidth(2);
+    e.Paint();
+}
 
 // --------------------------------------------------------------------------
