Index: /trunk/Mars/msimreflector/MReflector.cc
===================================================================
--- /trunk/Mars/msimreflector/MReflector.cc	(revision 19542)
+++ /trunk/Mars/msimreflector/MReflector.cc	(revision 19543)
@@ -16,7 +16,7 @@
 !
 !
-!   Author(s): Thomas Bretz,  1/2009 <mailto:tbretz@astro.uni-wuerzburg.de>
-!
-!   Copyright: CheObs Software Development, 2000-2009
+!   Author(s): Thomas Bretz,  1/2009 <mailto:tbretz@physik.rwth-aachen.de>
+!
+!   Copyright: CheObs Software Development, 2000-2019
 !
 !
@@ -26,4 +26,8 @@
 //
 //  MReflector
+//
+//  Version 2:
+//  ----------
+//   * derived from common base class MOptics
 //
 //////////////////////////////////////////////////////////////////////////////
Index: /trunk/Mars/msimreflector/MReflector.h
===================================================================
--- /trunk/Mars/msimreflector/MReflector.h	(revision 19542)
+++ /trunk/Mars/msimreflector/MReflector.h	(revision 19543)
@@ -2,6 +2,6 @@
 #define MARS_MReflector
 
-#ifndef MARS_MParContainer
-#include "MParContainer.h"
+#ifndef MARS_MOptics
+#include "MOptics.h"
 #endif
 
@@ -13,5 +13,5 @@
 class MMirror;
 
-class MReflector : public MParContainer
+class MReflector : public MOptics
 {
 private:
@@ -50,7 +50,9 @@
     virtual Bool_t CanHit(const MQuaternion &p) const;
 
-    Int_t ExecuteReflector(MQuaternion &p, MQuaternion &u) const;
+    Int_t ExecuteOptics(MQuaternion &p, MQuaternion &u) const;
 
     void SetSigmaPSF(Double_t psf);
+
+    virtual Bool_t IsValid() const { return fMirrors.GetEntries(); }
 
     // TObject
@@ -58,5 +60,5 @@
     void Print(Option_t *o) const;
 
-    ClassDef(MReflector, 1) // Parameter container storing a collection of several mirrors (reflector)
+    ClassDef(MReflector, 2) // Parameter container storing a collection of several mirrors (reflector)
 };
     
