Index: trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc	(revision 2377)
+++ trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc	(revision 2381)
@@ -38,5 +38,4 @@
 #include "MTaskList.h"           // MTaskList::AddToList
 #include "MHCamera.h"            // MHCamera
-#include "MGeomApply.h"          // MGeomApply
 #include "MHillasCalc.h"         // MHillasCalc
 #include "MHillasSrcCalc.h"      // MHillasSrcCalc
@@ -49,5 +48,4 @@
 #include "MBlindPixelCalc.h"     // MBlindPixelCalc
 #include "MImgCleanStd.h"        // MImgCleanStd
-//#include "MGeomCamMagic.h"       // MGeomMagicCam
 #include "MRawEvtData.h"         // MRawEvtData
 
@@ -117,10 +115,9 @@
 //  preprocess tasks and read in first event (process)
 //
-void /*MGeomCam */MGCamDisplay::SetupTaskList()
+void MGCamDisplay::SetupTaskList()
 {
     MTaskList *tlist = GetTaskList();
     MParList  *plist = GetParList();
 
-    MGeomApply        *apply = new MGeomApply;
     MMcPedestalCopy   *pcopy = new MMcPedestalCopy;
     MMcPedestalNSBAdd *pdnsb = new MMcPedestalNSBAdd;
@@ -132,5 +129,4 @@
     MHillasSrcCalc    *scalc = new MHillasSrcCalc;
 
-    tlist->AddToList(apply);
     tlist->AddToList(pcopy);
     tlist->AddToList(pdnsb);
@@ -142,5 +138,4 @@
     tlist->AddToList(scalc);
 
-    // MGeomCamMagic *geom   = new MGeomCamMagic;
     MPedestalCam  *pedest = new MPedestalCam;
     MRawEvtData   *event  = new MRawEvtData;
@@ -164,5 +159,5 @@
     // Setup Task list for hillas calculation
     //
-    /*MGeomCam *geom = */SetupTaskList();
+    SetupTaskList();
 
     //
@@ -224,5 +219,4 @@
 //  together with the hillas ellipse or not.
 //
-#include <iostream.h>
 void MGCamDisplay::UpdateDisplay()
 {
@@ -236,8 +230,5 @@
         MGeomCam *cam = (MGeomCam*)plist->FindObject("MGeomCam");
         for (int i=0; i<5; i++)
-        {
             fDisplay[i]->SetGeometry(*cam);
-            cout << "---> Setting geometry for: " << fDisplay[i]->GetName() << endl;
-        }
     }
 
Index: trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.h
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.h	(revision 2377)
+++ trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.h	(revision 2381)
@@ -20,10 +20,10 @@
 
     MHCamera *fDisplay[5];
-    TCanvas     *fCanvas2[5];
+    TCanvas  *fCanvas2[5];
 
     void AddSetupElements();
     void UpdateDisplay();
 
-    void /*MGeomCam */SetupTaskList();
+    void SetupTaskList();
 
 public:
Index: trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc	(revision 2377)
+++ trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc	(revision 2381)
@@ -43,12 +43,13 @@
 #include "MLogManip.h"
 
+#include "MHCamera.h"
 #include "MParList.h"
 #include "MTaskList.h"
 #include "MEvtLoop.h"
 #include "MHCamera.h"
-#include "MReadMarsFile.h"
-#include "MGeomCamMagic.h"
+#include "MGeomApply.h"
 #include "MRawEvtData.h"
 #include "MRawEvtHeader.h"
+#include "MReadMarsFile.h"
 
 #include "MMcEvt.hxx"
@@ -276,13 +277,4 @@
 
     fCanvas=AddTab("Photons");
-
-    AddTab("Geometry");
-
-    MGeomCamMagic geom;
-    MHCamera *display = new MHCamera(geom);
-    display->SetBit(TH1::kNoStats);
-    display->Draw();
-    display->DrawPixelIndices();
-    fList->Add(display);
 
     //
@@ -422,5 +414,5 @@
                            UInt_t w, UInt_t h)
 //    : TGTransientFrame(p, main, w, h), fInitOk(kFALSE)
-: TGMainFrame(p, w, h), fInitOk(kFALSE)
+: TGMainFrame(p, w, h), fInitOk(kFALSE), fGeom(NULL)
 {
     //
@@ -441,4 +433,7 @@
     read->DisableAutoScheme();
     tlist->AddToList(read);
+
+    MGeomApply *apl = new MGeomApply;
+    tlist->AddToList(apl);
 
     MParList *plist = new MParList;
@@ -536,4 +531,26 @@
 // --------------------------------------------------------------------------
 //
+//  Adds the geometry tab 
+//
+void MGEvtDisplay::AddGeometryTab()
+{
+    MGeomCam *geom = (MGeomCam*)GetParList()->FindObject("MGeomCam");
+    if (!geom)
+        return;
+
+    fGeom=AddTab("Geometry");
+
+    MHCamera *cam = new MHCamera(*geom);
+    cam->SetBit(TH1::kNoStats);
+    cam->Draw();
+    cam->DrawPixelIndices();
+    fList->Add(cam);
+
+    fGeom->Modified();
+    fGeom->Update();
+}
+
+// --------------------------------------------------------------------------
+//
 //  Checks if the event number is valid, and if so reads the new event
 //  and updates the display
@@ -541,6 +558,8 @@
 void MGEvtDisplay::ReadinEvent(Int_t dir)
 {
+    if (!fGeom)
+        AddGeometryTab();
+
     MRawEvtData *raw = (MRawEvtData*)GetParList()->FindObject("MRawEvtData");
-
     if (!raw)
         return;
Index: trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h	(revision 2377)
+++ trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h	(revision 2381)
@@ -42,4 +42,5 @@
 
     void AddFrames(const char *filename, const char *treename);
+    void AddGeometryTab();
 
     void SaveAsDialog() const;
@@ -53,4 +54,5 @@
 
     TCanvas   *fCanvas;
+    TCanvas   *fGeom;
 
     TGCompositeFrame *fTab1;
