Index: trunk/MagicSoft/Mars/mimage/MHHillas.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 1965)
@@ -31,5 +31,4 @@
 //
 /////////////////////////////////////////////////////////////////////////////
-
 #include "MHHillas.h"
 
@@ -110,4 +109,5 @@
     fSize->GetXaxis()->SetTitleOffset(1.2);
     fSize->GetXaxis()->SetLabelOffset(-0.015);
+    fSize->SetFillStyle(4000);
 
     bins.Apply(*fSize);
@@ -280,5 +280,4 @@
 void MHHillas::SetColors() const
 {
-    // FIXME: This must be redone each time the canvas is repainted....
     gStyle->SetPalette(51, NULL);
     Int_t c[50];
@@ -298,33 +297,5 @@
 TObject *MHHillas::DrawClone(Option_t *opt) const
 {
-    TCanvas *c = MakeDefCanvas(this, 720, 810);
-    c->Divide(2,3);
-
-    gROOT->SetSelectedPad(NULL);
-
-    c->cd(1);
-    DrawCopy(*fWidth, *fLength, "Width / Length");
-
-    c->cd(2);
-    gPad->SetLogx();
-    fSize->DrawCopy();
-
-    c->cd(3);
-    DrawCopy(*fCorePix, *fUsedPix, "Number of core/used Pixels");
-
-    c->cd(4);
-    fDelta->DrawCopy();
-
-    c->cd(5);
-    fDistC->DrawCopy();
-
-    c->cd(6);
-    SetColors();
-    fCenter->DrawCopy("colz");
-
-    c->Modified();
-    c->Update();
-
-    return c;
+    return MH::DrawClone(opt, 720, 810);
 }
 
@@ -337,31 +308,38 @@
 void MHHillas::Draw(Option_t *)
 {
-    if (!gPad)
-        MakeDefCanvas(this, 720, 810);
-
-    gPad->Divide(2,3);
-
-    gPad->cd(1);
-    MH::Draw(*fWidth, *fLength, "Width / Length");
-
-    gPad->cd(2);
+    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this, 720, 810);
+    pad->SetBorderMode(0);
+
+    AppendPad("");
+
+    pad->Divide(2,3);
+
+    pad->cd(1);
+    MH::Draw(*fWidth, *fLength, "Width'n'Length");
+
+    pad->cd(2);
+    gPad->SetBorderMode(0);
     gPad->SetLogx();
     fSize->Draw();
 
-    gPad->cd(3);
+    pad->cd(3);
+    gPad->SetBorderMode(0);
     MH::Draw(*fCorePix, *fUsedPix, "Number of core/used Pixels");
 
-    gPad->cd(4);
+    pad->cd(4);
+    gPad->SetBorderMode(0);
     fDelta->Draw();
 
-    gPad->cd(5);
+    pad->cd(5);
+    gPad->SetBorderMode(0);
     fDistC->Draw();
 
-    gPad->cd(6);
+    pad->cd(6);
+    gPad->SetBorderMode(0);
     SetColors();
     fCenter->Draw("colz");
 
-    gPad->Modified();
-    gPad->Update();
+    pad->Modified();
+    pad->Update();
 }
 
@@ -387,2 +365,8 @@
     return NULL;
 }
+
+void MHHillas::Paint(Option_t *opt="")
+{
+    SetColors();
+    MH::Paint();
+}
Index: trunk/MagicSoft/Mars/mimage/MHHillas.h
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillas.h	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MHHillas.h	(revision 1965)
@@ -14,15 +14,15 @@
 private:
 
-    TH1F *fLength; //->
-    TH1F *fWidth;  //->
+    TH1F *fLength;  //-> Length
+    TH1F *fWidth;   //-> Width
 
-    TH1F *fDistC;  //->
-    TH1F *fDelta;  //->
+    TH1F *fDistC;   //-> Distance to Camera Center
+    TH1F *fDelta;   //-> Angle between Length axis and x-axis
 
-    TH1F *fSize;   //->
-    TH2F *fCenter; //->
+    TH1F *fSize;    //-> Sum of used pixels
+    TH2F *fCenter;  //-> Center
 
-    TH1F *fUsedPix; //->
-    TH1F *fCorePix; //->
+    TH1F *fUsedPix; //-> Number of used pixels
+    TH1F *fCorePix; //-> Number of core pixels
 
     void SetColors() const;
@@ -30,4 +30,6 @@
     Float_t fMm2Deg;
     Bool_t  fUseMmScale;
+
+    void Paint(Option_t *opt="");
 
 public:
@@ -55,4 +57,6 @@
     TObject *DrawClone(Option_t *opt=NULL) const;
 
+    //Int_t DistancetoPrimitive(Int_t px, Int_t py) { return 0; }
+
     ClassDef(MHHillas, 1) // Container which holds histograms for the source independent image parameters
 };
Index: trunk/MagicSoft/Mars/mimage/MHHillasExt.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 1965)
@@ -30,5 +30,4 @@
 //
 /////////////////////////////////////////////////////////////////////////////
-
 #include "MHHillasExt.h"
 
@@ -57,7 +56,6 @@
 // Setup four histograms for Width, Length
 //
-MHHillasExt::MHHillasExt(const char *name, const char *title,
-                         const char *hil)
-    : fMm2Deg(1), fUseMmScale(kTRUE)
+MHHillasExt::MHHillasExt(const char *name, const char *title)
+    : fMm2Deg(1), fUseMmScale(kTRUE), fHilName("MHillas")
 {
     //
@@ -66,7 +64,4 @@
     fName  = name  ? name  : "MHHillasExt";
     fTitle = title ? title : "Container for extended Hillas histograms";
-
-    fHilName = hil;
-    //*fLog << "MHHillasExt : fHilName = " << fHilName << endl;
 
     //
@@ -108,4 +103,9 @@
     fHM3Trans.SetYTitle("Counts");
 
+    fHConc.SetFillStyle(4000);
+    fHConc1.SetFillStyle(4000);
+    fHAsym.SetFillStyle(4000);
+    fHM3Long.SetFillStyle(4000);
+    fHM3Trans.SetFillStyle(4000);
 
     MBinning bins;
@@ -121,12 +121,4 @@
     bins.SetEdges(101, -593, 593);
     bins.Apply(fHAsym);
-}
-
-// --------------------------------------------------------------------------
-//
-// Delete the four histograms
-//
-MHHillasExt::~MHHillasExt()
-{
 }
 
@@ -143,17 +135,10 @@
 Bool_t MHHillasExt::SetupFill(const MParList *plist)
 {
-    TObject *obj = plist->FindObject(fHilName, "MHillas");
-    if (!obj)
-    {
-      *fLog << err << dbginf << "Sorry '" << fHilName 
-            << "' not found in parameter list... aborting." << endl;
+    fHillasExt = (MHillasExt*)plist->FindObject(fHilName, "MHillasExt");
+    if (!fHillasExt)
+    {
+        *fLog << err << fHilName << "[MHillasExt] not found in parameter list... aborting." << endl;
         return kFALSE;
     }
-    if (!obj->InheritsFrom(MHillasExt::Class()))
-    {
-        *fLog << err << dbginf << "Sorry 'MHillas' doesn't inherit from MHillasExt... aborting." << endl;
-        return kFALSE;
-    }
-    fHillasExt = (MHillasExt*)obj;
 
     const MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
@@ -184,5 +169,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(fUseMmScale?1:fMm2Deg, (src ? src->GetCosDeltaAlpha() : 1));
 
     fHConc.Fill(fHillasExt->GetConc());
@@ -266,25 +251,5 @@
 TObject *MHHillasExt::DrawClone(Option_t *opt) const
 {
-    TCanvas &c = *MakeDefCanvas(this, 720, 540);
-    c.Divide(2, 2);
-
-    gROOT->SetSelectedPad(NULL);
-
-    c.cd(1);
-    DrawCopy(fHConc1, fHConc, "Concentrations");
-
-    c.cd(2);
-    ((TH1&)fHAsym).DrawCopy();
-
-    c.cd(3);
-    ((TH1&)fHM3Long).DrawCopy();
-
-    c.cd(4);
-    ((TH1&)fHM3Trans).DrawCopy();
-
-    c.Modified();
-    c.Update();
-
-    return &c;
+    return MH::DrawClone(opt, 720, 540);
 }
 
@@ -297,23 +262,29 @@
 void MHHillasExt::Draw(Option_t *)
 {
-    if (!gPad)
-        MakeDefCanvas(this, 720, 540);
-
-    gPad->Divide(2, 2);
-
-    gPad->cd(1);
+    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this, 720, 540);
+    pad->SetBorderMode(0);
+
+    AppendPad("");
+
+    pad->Divide(2, 2);
+
+    pad->cd(1);
+    gPad->SetBorderMode(0);
     MH::Draw(fHConc1, fHConc, "Concentrations");
 
-    gPad->cd(2);
+    pad->cd(2);
+    gPad->SetBorderMode(0);
     fHAsym.Draw();
 
-    gPad->cd(3);
+    pad->cd(3);
+    gPad->SetBorderMode(0);
     fHM3Long.Draw();
 
-    gPad->cd(4);
+    pad->cd(4);
+    gPad->SetBorderMode(0);
     fHM3Trans.Draw();
 
-    gPad->Modified();
-    gPad->Update();
+    pad->Modified();
+    pad->Update();
 }
 
Index: trunk/MagicSoft/Mars/mimage/MHHillasExt.h
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasExt.h	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MHHillasExt.h	(revision 1965)
@@ -28,9 +28,7 @@
 
 public:
-    //MHHillasExt(const char *name=NULL, const char *title=NULL);
-    MHHillasExt(const char *name=NULL, const char *title=NULL,
-                const char *hil="MHillas");
+    MHHillasExt(const char *name=NULL, const char *title=NULL);
 
-    ~MHHillasExt();
+    void SetHillasName(const char *name) { fHilName = name; }
 
     void SetMmScale(Bool_t mmscale=kTRUE);
Index: trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 1965)
@@ -211,31 +211,5 @@
 TObject *MHHillasSrc::DrawClone(Option_t *opt) const
 {
-    TCanvas *c = MakeDefCanvas(this, 700, 500);
-    c->Divide(2, 2);
-
-    // FIXME: Display Source position
-
-    gROOT->SetSelectedPad(NULL);
-
-    //
-    // This is necessary to get the expected bahviour of DrawClone
-    //
-    c->cd(1);
-    fAlpha->DrawCopy();
-
-    c->cd(2);
-    fDist->DrawCopy();
-
-    c->cd(3);
-    fHeadTail->DrawCopy();
-
-    c->cd(4);
-    gPad->SetLogy();
-    fCosDA->DrawCopy();
-
-    c->Modified();
-    c->Update();
-
-    return c;
+    return MH::DrawClone(opt, 700, 500);
 }
 
@@ -248,26 +222,32 @@
 void MHHillasSrc::Draw(Option_t *)
 {
-    if (!gPad)
-        MakeDefCanvas(this, 700, 500);
+    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this, 700, 500);
+    pad->SetBorderMode(0);
+
+    AppendPad("");
 
     // FIXME: Display Source position
 
-    gPad->Divide(2, 2);
-
-    gPad->cd(1);
+    pad->Divide(2, 2);
+
+    pad->cd(1);
+    gPad->SetBorderMode(0);
     fAlpha->Draw();
 
-    gPad->cd(2);
+    pad->cd(2);
+    gPad->SetBorderMode(0);
     fDist->Draw();
 
-    gPad->cd(1);
+    pad->cd(3);
+    gPad->SetBorderMode(0);
     fHeadTail->Draw();
 
-    gPad->cd(2);
+    pad->cd(4);
+    gPad->SetBorderMode(0);
     gPad->SetLogy();
     fCosDA->Draw();
 
-    gPad->Modified();
-    gPad->Update();
+    pad->Modified();
+    pad->Update();
 }
 
Index: trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 1965)
@@ -188,19 +188,5 @@
 TObject *MHNewImagePar::DrawClone(Option_t *opt) const
 {
-    TCanvas *c = MakeDefCanvas(this, 300, 600);
-    c->Divide(1, 2);
-
-    gROOT->SetSelectedPad(NULL);
-
-    c->cd(1);
-    fLeakage1->DrawCopy();
-
-    c->cd(2);
-    fLeakage2->DrawCopy();
-
-    c->Modified();
-    c->Update();
-
-    return c;
+    return MH::DrawClone(opt, 300, 600);
 }
 
@@ -213,17 +199,21 @@
 void MHNewImagePar::Draw(Option_t *)
 {
-    if (!gPad)
-        MakeDefCanvas(this, 300, 600);
-
-    gPad->Divide(2, 2);
-
-    gPad->cd(1);
+    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this, 300, 600);
+    pad->SetBorderMode(0);
+
+    AppendPad("");
+
+    pad->Divide(1, 2);
+
+    pad->cd(1);
+    pad->SetBorderMode(0);
     fLeakage1->Draw();
 
-    gPad->cd(2);
+    pad->cd(2);
+    pad->SetBorderMode(0);
     fLeakage2->Draw();
 
-    gPad->Modified();
-    gPad->Update();
+    pad->Modified();
+    pad->Update();
 }
 
Index: trunk/MagicSoft/Mars/mimage/MHillasCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHillasCalc.cc	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MHillasCalc.cc	(revision 1965)
@@ -57,5 +57,5 @@
 {
     fName  = name  ? name  : "MHillasCalc";
-    fTitle = title ? title : "Task to calculate Hillas parameters";
+    fTitle = title ? title : "Calculate Hillas parameters";
 
     fHilName = hil;
Index: trunk/MagicSoft/Mars/mimage/MImgCleanStd.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MImgCleanStd.cc	(revision 1947)
+++ trunk/MagicSoft/Mars/mimage/MImgCleanStd.cc	(revision 1965)
@@ -69,5 +69,5 @@
 
 static const TString gsDefName  = "MImgCleanStd";
-static const TString gsDefTitle = "Task to perform a standard image cleaning";
+static const TString gsDefTitle = "Perform standard image cleaning";
 
 // --------------------------------------------------------------------------
