Index: trunk/MagicSoft/Mars/mfilter/MFMagicCuts.cc
===================================================================
--- trunk/MagicSoft/Mars/mfilter/MFMagicCuts.cc	(revision 9337)
+++ trunk/MagicSoft/Mars/mfilter/MFMagicCuts.cc	(revision 9338)
@@ -188,14 +188,10 @@
 Int_t MFMagicCuts::PreProcess(MParList *pList)
 {
-    MGeomCam *cam = (MGeomCam*)pList->FindObject("MGeomCam");
-    if (!cam)
+    fGeom = (MGeomCam*)pList->FindObject("MGeomCam");
+    if (!fGeom)
     {
         *fLog << err << "MGeomCam not found... aborting." << endl;
         return kFALSE;
     }
-
-    // Geometry in SPONDE?
-
-    fMm2Deg = cam->GetConvMm2Deg();
 
     fThetaSq = (MParameterD*)pList->FindCreateObj("MParameterD", "ThetaSquared");
@@ -425,4 +421,6 @@
     // For simplicity
     const Double_t *c = fVariables.GetArray();
+
+    const Float_t fMm2Deg = fGeom->GetConvMm2Deg();
 
     // Default if we return before the end
Index: trunk/MagicSoft/Mars/mfilter/MFMagicCuts.h
===================================================================
--- trunk/MagicSoft/Mars/mfilter/MFMagicCuts.h	(revision 9337)
+++ trunk/MagicSoft/Mars/mfilter/MFMagicCuts.h	(revision 9338)
@@ -12,4 +12,5 @@
 class MParList;
 
+class MGeomCam;
 class MHillas;
 class MHillasSrc;
@@ -49,4 +50,5 @@
     };
 
+    MGeomCam       *fGeom;              //! Conversion factor from mm to deg
     MHillas        *fHil;               //! Pointer to MHillas container
     MHillasSrc     *fHilSrc;            //! Pointer to MHillasSrc container
@@ -59,5 +61,4 @@
     MParameterD    *fHadronness;        //! Pointer to MParameterD container called Hadronness
 
-    Float_t         fMm2Deg;            //! Conversion factor from mm to deg, from MGeomCam
     Bool_t          fResult;            //! Result of the filter evaluation
 
Index: trunk/MagicSoft/Mars/mmuon/MHMuonPar.cc
===================================================================
--- trunk/MagicSoft/Mars/mmuon/MHMuonPar.cc	(revision 9337)
+++ trunk/MagicSoft/Mars/mmuon/MHMuonPar.cc	(revision 9338)
@@ -138,11 +138,10 @@
 Bool_t MHMuonPar::SetupFill(const MParList *plist)
 {
-    MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
-    if (!geom)
+    fGeom = (MGeomCam*)plist->FindObject("MGeomCam");
+    if (!fGeom)
     {
         *fLog << warn << "MGeomCam not found... abort." << endl;
         return kFALSE;
     }
-    fMm2Deg = geom->GetConvMm2Deg();
 
     fMuonSearchPar = (MMuonSearchPar*)plist->FindObject("MMuonSearchPar");
@@ -174,4 +173,6 @@
 Int_t MHMuonPar::Fill(const MParContainer *par, const Stat_t w)
 {
+    const Double_t fMm2Deg = fGeom->GetConvMm2Deg();
+
     fHistRadius.Fill(fMm2Deg*fMuonSearchPar->GetRadius(), w);
 
Index: trunk/MagicSoft/Mars/mpointing/MHSrcPosCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mpointing/MHSrcPosCam.cc	(revision 9337)
+++ trunk/MagicSoft/Mars/mpointing/MHSrcPosCam.cc	(revision 9338)
@@ -58,5 +58,5 @@
 //
 MHSrcPosCam::MHSrcPosCam(Bool_t wobble, const char *name, const char *title)
-    : fTimeEffOn(NULL), fEffOnTime(NULL), fSourcePos(NULL),
+    : fTimeEffOn(NULL), fEffOnTime(NULL), fSourcePos(NULL), fGeom(NULL),
     fPositions("TVector2", 50000)
 {
@@ -89,6 +89,6 @@
 Bool_t MHSrcPosCam::SetupFill(const MParList *pl)
 {
-    MGeomCam *geom = (MGeomCam*)pl->FindObject("MGeomCam");
-    if (!geom)
+    fGeom = (MGeomCam*)pl->FindObject("MGeomCam");
+    if (!fGeom)
     {
         *fLog << err << "ERROR - MGeomCam not found... aborting." << endl;
@@ -121,6 +121,5 @@
 
     fHist.Reset();
-    fConvMm2Deg = geom->GetConvMm2Deg();
-    fNum        = 0;
+    fNum = 0;
 
     return kTRUE;
@@ -146,5 +145,5 @@
     if (!fEffOnTime)
     {
-        const TVector2 v(cam->GetXY()*fConvMm2Deg);
+        const TVector2 v(cam->GetXY()*fGeom->GetConvMm2Deg());
         fHist.Fill(v.X(), v.Y(), w);
         return kTRUE;
@@ -157,5 +156,5 @@
     // buffer position into array (could be speed up a little bit more
     // by using ExpandCreate and memcpy)
-    new (fPositions[fNum++]) TVector2(cam->GetXY()*fConvMm2Deg);
+    new (fPositions[fNum++]) TVector2(cam->GetXY()*fGeom->GetConvMm2Deg());
 
     // Check if there is a new effective on time
Index: trunk/MagicSoft/Mars/mpointing/MHSrcPosCam.h
===================================================================
--- trunk/MagicSoft/Mars/mpointing/MHSrcPosCam.h	(revision 9337)
+++ trunk/MagicSoft/Mars/mpointing/MHSrcPosCam.h	(revision 9338)
@@ -18,4 +18,5 @@
 #endif
 
+class MGeomCam;
 class MParList;
 class MParameterD;
@@ -31,6 +32,6 @@
     MParameterD  *fEffOnTime;      //! Effective on time
     MPointingPos *fSourcePos;      //! Pointing position of the telescope
+    MGeomCam     *fGeom;           //! Conversion from mm to deg
 
-    Double_t      fConvMm2Deg;     //! Conversion factor from mm to deg
     TClonesArray  fPositions;      //! Buffer to store source positions
     Int_t         fNum;            //! Position in array
Index: trunk/MagicSoft/Mars/mpointing/MSrcPosRndm.cc
===================================================================
--- trunk/MagicSoft/Mars/mpointing/MSrcPosRndm.cc	(revision 9337)
+++ trunk/MagicSoft/Mars/mpointing/MSrcPosRndm.cc	(revision 9338)
@@ -57,6 +57,6 @@
 Int_t MSrcPosRndm::PreProcess(MParList *plist)
 {
-    MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
-    if (!geom)
+    fGeom = (MGeomCam*)plist->FindObject("MGeomCam");
+    if (!fGeom)
     {
         *fLog << err << "ERROR - MGeomCam not found... aborting." << endl;
@@ -86,6 +86,4 @@
         *fLog << inf << "Source position will be produced randomly in a distance of " << fDistOfSource << "° from the camera center!" << endl;
 
-    fConvMm2Deg = geom->GetConvMm2Deg();
-
     return kTRUE;
 }
@@ -107,7 +105,9 @@
     }
 
-    fSrcPos->SetXY(x/fConvMm2Deg, y/fConvMm2Deg);
+    const Double_t f = fGeom->GetConvMm2Deg();
+
+    fSrcPos->SetXY(x/f, y/f);
     if (fDistOfSource>=0)
-        fSrcPosAnti->SetXY(-x/fConvMm2Deg, -y/fConvMm2Deg);
+        fSrcPosAnti->SetXY(-x/f, -y/f);
     return kTRUE;
 }
Index: trunk/MagicSoft/Mars/mpointing/MSrcPosRndm.h
===================================================================
--- trunk/MagicSoft/Mars/mpointing/MSrcPosRndm.h	(revision 9337)
+++ trunk/MagicSoft/Mars/mpointing/MSrcPosRndm.h	(revision 9338)
@@ -6,4 +6,5 @@
 #endif
 
+class MGeomCam;
 class MSrcPosCam;
 class MHSrcPosCam;
@@ -15,6 +16,5 @@
     MSrcPosCam   *fSrcPosAnti; //!
     MHSrcPosCam  *fHist;       //!
-
-    Double_t fConvMm2Deg;
+    MGeomCam     *fGeom;       //! Conversion factor from mm to deg
 
     Double_t fDistOfSource; // [deg] Distance of the source from the camera center
@@ -24,5 +24,5 @@
 
 public:
-    MSrcPosRndm() : fSrcPos(0), fHist(0), fDistOfSource(-1)
+    MSrcPosRndm() : fSrcPos(0), fSrcPosAnti(0), fHist(0), fGeom(0), fDistOfSource(-1)
     {
         fName  = "MSrcPosRndm";
