Index: trunk/Mars/msimreflector/MOptics.cc
===================================================================
--- trunk/Mars/msimreflector/MOptics.cc	(revision 19538)
+++ trunk/Mars/msimreflector/MOptics.cc	(revision 19538)
@@ -0,0 +1,44 @@
+/* ======================================================================== *\
+!
+! *
+! * This file is part of CheObs, the Modular Analysis and Reconstruction
+! * Software. It is distributed to you in the hope that it can be a useful
+! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
+! * It is distributed WITHOUT ANY WARRANTY.
+! *
+! * Permission to use, copy, modify and distribute this software and its
+! * documentation for any purpose is hereby granted without fee,
+! * provided that the above copyright notice appears in all copies and
+! * that both that copyright notice and this permission notice appear
+! * in supporting documentation. It is provided "as is" without express
+! * or implied warranty.
+! *
+!
+!
+!   Author(s): Thomas Bretz, 6/2019 <mailto:tbretz@physik.rwth-aachen.de>
+!
+!   Copyright: CheObs Software Development, 2000-2019
+!
+!
+\* ======================================================================== */
+
+//////////////////////////////////////////////////////////////////////////////
+//
+//  MOptics
+//
+//////////////////////////////////////////////////////////////////////////////
+#include "MOptics.h"
+
+ClassImp(MOptics);
+
+using namespace std;
+
+// --------------------------------------------------------------------------
+//
+// Default constructor
+//
+MOptics::MOptics(const char *name, const char *title)
+{
+    fName  = name  ? name  : "MOptics";
+    fTitle = title ? title : "Optics base class";
+}
Index: trunk/Mars/msimreflector/MOptics.h
===================================================================
--- trunk/Mars/msimreflector/MOptics.h	(revision 19538)
+++ trunk/Mars/msimreflector/MOptics.h	(revision 19538)
@@ -0,0 +1,26 @@
+#ifndef MARS_MOptics
+#define MARS_MOptics
+
+#ifndef MARS_MParContainer
+#include "MParContainer.h"
+#endif
+
+class MQuaternion;
+
+class MOptics : public MParContainer
+{
+public:
+    MOptics(const char *name=NULL, const char *title=NULL);
+
+    virtual Double_t GetMaxR() const = 0;
+    virtual Double_t GetA() const = 0;
+    virtual Bool_t CanHit(const MQuaternion &p) const = 0;
+
+    virtual Int_t ExecuteOptics(MQuaternion &p, MQuaternion &u) const = 0;
+
+    virtual Bool_t IsValid() const = 0;
+
+    ClassDef(MOptics, 1) // Base class for optics (reflector, lens)
+};
+
+#endif
