Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 7180)
+++ trunk/MagicSoft/Mars/Changelog	(revision 7181)
@@ -26,4 +26,26 @@
    * mhist/MHEvent.[h,cc]:
      - added MTime to output
+
+   * mastro/MAstroCatalog.cc:
+     - added a fix which avoided reproducing the gui elements after
+       reading from file
+
+   * mbase/BaseIncl.h:
+     - added TVector3
+
+   * mbase/MMath.[h,cc]:
+     - added Sgn function
+     - moved include of TVector3 to source file
+
+   * mimage/MHillasExt.cc:
+     - included TVector2
+
+   * mjobs/MJCut.cc:
+     - write Disp to output
+     - write MTime to output
+     - changed handling of source position (MSrcPosCalc)
+
+   * mpointing/MSrcPosCalc.[h,cc]:
+     - allow to switch off source pos calculation
 
 
Index: trunk/MagicSoft/Mars/mastro/MAstroCatalog.cc
===================================================================
--- trunk/MagicSoft/Mars/mastro/MAstroCatalog.cc	(revision 7180)
+++ trunk/MagicSoft/Mars/mastro/MAstroCatalog.cc	(revision 7181)
@@ -168,4 +168,5 @@
     fList.SetOwner();
     fMapG.SetOwner();
+
     fToolTip = gROOT->IsBatch() || !gClient ? 0 : new TGToolTip(0, "", 0);
 }
@@ -659,5 +660,7 @@
     SetRangePad(o);
 
-    if (TestBit(kHasChanged))
+    // In the case MAstroCatalog has been loaded from a file
+    // kHasChanged is not set, but fMapG.GetSize() is ==0
+    if (TestBit(kHasChanged) || fMapG.GetSize()==0)
         DrawPrimitives(o);
 
Index: trunk/MagicSoft/Mars/mbase/BaseIncl.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/BaseIncl.h	(revision 7180)
+++ trunk/MagicSoft/Mars/mbase/BaseIncl.h	(revision 7181)
@@ -1,3 +1,5 @@
 #ifndef __CINT__
+
+#include <TVector3.h>
 
 /*
Index: trunk/MagicSoft/Mars/mbase/MMath.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MMath.cc	(revision 7180)
+++ trunk/MagicSoft/Mars/mbase/MMath.cc	(revision 7181)
@@ -18,5 +18,5 @@
 !   Author(s): Thomas Bretz  3/2004 <mailto:tbretz@astro.uni-wuerzburg.de>
 !
-!   Copyright: MAGIC Software Development, 2000-2004
+!   Copyright: MAGIC Software Development, 2000-2005
 !
 !
@@ -26,7 +26,13 @@
 //
 // MMath
+//
+// Mars - Math package (eg Significances, etc)
 //
 /////////////////////////////////////////////////////////////////////////////
 #include "MMath.h"
+
+#ifndef ROOT_TVector3
+#include <TVector3.h>
+#endif
 
 // --------------------------------------------------------------------------
Index: trunk/MagicSoft/Mars/mbase/MMath.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MMath.h	(revision 7180)
+++ trunk/MagicSoft/Mars/mbase/MMath.h	(revision 7181)
@@ -3,9 +3,8 @@
 
 #ifndef ROOT_TMath
-#include <TMath.h>
+#include <TMath.h> // TMath is included here for convinience
 #endif
-#ifndef ROOT_TVector3
-#include <TVector3.h>
-#endif
+
+class TVector3;
 
 namespace MMath
@@ -24,5 +23,9 @@
     Double_t InterpolParabLog(const TVector3 &vx, const TVector3 &vy, Double_t x);
     Double_t InterpolParabCos(const TVector3 &vx, const TVector3 &vy, Double_t x);
+
+    Double_t Sgn(Double_t d);
 }
 
+inline Double_t MMath::Sgn(Double_t d) { return d<0 ? -1 : 1; }
+
 #endif
Index: trunk/MagicSoft/Mars/mimage/MHillasExt.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHillasExt.cc	(revision 7180)
+++ trunk/MagicSoft/Mars/mimage/MHillasExt.cc	(revision 7181)
@@ -65,4 +65,5 @@
 #include <TArrayF.h>
 #include <TMarker.h>
+#include <TVector2.h>
 #include <TVirtualPad.h>
 
@@ -95,4 +96,10 @@
 
 // -------------------------------------------------------------------------
+//
+// Reset values to:
+//    fAsym    =  0;
+//    fM3Long  =  0;
+//    fM3Trans =  0;
+//    fMaxDist =  0;
 //
 void MHillasExt::Reset()
Index: trunk/MagicSoft/Mars/mjobs/MJCut.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCut.cc	(revision 7180)
+++ trunk/MagicSoft/Mars/mjobs/MJCut.cc	(revision 7181)
@@ -337,4 +337,6 @@
     write->AddContainer("MEnergyEst",     "Events", kFALSE);
     write->AddContainer("ThetaSquared",   "Events", kFALSE);
+    write->AddContainer("Disp",           "Events", kFALSE);
+    write->AddContainer("MTime",          "Events", kFALSE);
     write->AddContainer("MMcEvt",         "Events", kFALSE);
     write->AddContainer("DataType",       "Events");
@@ -545,6 +547,6 @@
     // How to get source position from off- and on-data?
     MSrcPosCalc scalc;
-    if (fIsWobble)
-        scalc.SetWobbleMode(); /********************/
+    scalc.SetMode(fIsWobble?MSrcPosCalc::kWobble:MSrcPosCalc::kOffData); /********************/
+
     MHillasCalc hcalc;
     MHillasCalc hcalc2("MHillasCalcAnti");
@@ -589,5 +591,6 @@
 
     tlist.AddToList(&readoff);
-    tlist.AddToList(&print2, "EffectiveOnTime");
+    if (gLog.GetDebugLevel()>4)
+        tlist.AddToList(&print2, "EffectiveOnTime");
     tlist.AddToList(&tlist2, "Events");
  
@@ -645,6 +648,5 @@
     set.AddFilesOn(readon);
 
-    if (fIsWobble)
-        scalc.SetWobbleMode(kFALSE); /********************/
+    scalc.SetMode(MSrcPosCalc::kDefault);
 
     MFillH fill1b("MHHillasOnPre  [MHHillas]",      "MHillas",      "FillHillasPre");
Index: trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.cc	(revision 7180)
+++ trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.cc	(revision 7181)
@@ -93,5 +93,5 @@
 MSrcPosCalc::MSrcPosCalc(const char *name, const char *title)
     : fObservatory(NULL), fPointPos(NULL), fSourcePos(NULL), fSrcPosCam(NULL),
-    fSrcPosAnti(NULL), fGeom(NULL), fTime(NULL), fIsWobbleMode(kFALSE)
+    fSrcPosAnti(NULL), fGeom(NULL), fTime(NULL), fMode(kDefault)
 {
     fName  = name  ? name  : "MSrcPosCalc";
@@ -209,5 +209,5 @@
 void MSrcPosCalc::SetSrcPos(TVector2 v) const
 {
-    if (fIsWobbleMode)
+    if (fMode==kWobble)
     {
         fSrcPosAnti->SetXY(v);
@@ -230,4 +230,10 @@
 Bool_t MSrcPosCalc::ReInit(MParList *plist)
 {
+    if (fMode==kOffData)
+    {
+        SetSrcPos(TVector2());
+        return kTRUE;
+    }
+
     MRawRunHeader *run = (MRawRunHeader*)plist->FindObject("MRawRunHeader");
     if (!run)
@@ -328,5 +334,5 @@
 Int_t MSrcPosCalc::Process()
 {
-    if (fRunType==MRawRunHeader::kRTMonteCarlo || !fSourcePos || !fTime || !fObservatory)
+    if (fRunType==MRawRunHeader::kRTMonteCarlo || !fSourcePos || !fTime || !fObservatory || fMode==kOffData)
         return kTRUE;
 
Index: trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.h
===================================================================
--- trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.h	(revision 7180)
+++ trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.h	(revision 7181)
@@ -19,4 +19,10 @@
 class MSrcPosCalc : public MTask
 {
+public:
+    enum Mode_t {
+        kDefault = 0,
+        kOffData = 1,
+        kWobble  = 2
+    };
 private:
     enum {
@@ -34,5 +40,5 @@
     UShort_t fRunType;            //! Run Type to decide where to get pointing position from
 
-    Bool_t fIsWobbleMode;
+    Int_t fMode;
 
     // MSrcPosCalc
@@ -59,5 +65,5 @@
     void SetSourcePos(Double_t ra, Double_t dec);
     void SetOwner(Bool_t b=kTRUE) { b ? SetBit(kIsOwner) : ResetBit(kIsOwner); } // Make MSrcPosCalc owner of fSourcePos
-    void SetWobbleMode(Bool_t b=kTRUE) { fIsWobbleMode = b; }
+    void SetMode(Mode_t m=kDefault) { fMode = m; }
 
     ClassDef(MSrcPosCalc, 0) // Calculates the source position in the camera
