Index: trunk/Mars/msimcamera/MSimRandomPhotons.cc
===================================================================
--- trunk/Mars/msimcamera/MSimRandomPhotons.cc	(revision 19348)
+++ trunk/Mars/msimcamera/MSimRandomPhotons.cc	(revision 19542)
@@ -131,5 +131,5 @@
 #include "MSpline3.h"
 #include "MParSpline.h"
-#include "MReflector.h"
+#include "MOptics.h"
 
 ClassImp(MSimRandomPhotons);
@@ -144,5 +144,5 @@
     : fGeom(0), fEvt(0), fStat(0), /*fEvtHeader(0),*/ fRunHeader(0),
     fRates(0), fSimulateWavelength(kFALSE), fNameGeomCam("MGeomCam"),
-    fFileNameNSB("resmc/night-sky-la-palma.txt")
+    fFileNameNSB("resmc/night-sky-la-palma.txt"), fForce(kFALSE)
 {
     fName  = name  ? name  : "MSimRandomPhotons";
@@ -202,8 +202,8 @@
     }
 
-    MReflector *r = (MReflector*)pList->FindObject("Reflector", "MReflector");
+    MOptics *r = (MOptics*)pList->FindObject("Reflector", "MOptics");
     if (!r)
     {
-        *fLog << err << "Reflector [MReflector] not found... aborting." << endl;
+        *fLog << err << "Reflector [MOptics] not found... aborting." << endl;
         return kFALSE;
     }
@@ -349,5 +349,5 @@
     if (eff.GetSpline()->Eval(wmin)>1e-5)
     {
-        *fLog << err << "ERROR - Total transmission efficiency at ";
+        *fLog << (fForce?warn:err) << "ERROR - Total transmission efficiency at ";
         *fLog << wmin << "nm is not zero... abort." << endl;
         *fLog << "        PhotonDetectionEfficency: " << s1->GetSpline()->Eval(wmin) << endl;
@@ -355,9 +355,10 @@
         *fLog << "        MirrorReflectivity:       " << s3->GetSpline()->Eval(wmin) << endl;
         *fLog << "        TotalEfficiency:          " << eff.GetSpline()->Eval(wmin) << endl;
-        return kFALSE;
+        if (!fForce)
+            return kFALSE;
     }
     if (eff.GetSpline()->Eval(wmax)>1e-5)
     {
-        *fLog << err << "ERROR - Total transmission efficiency at ";
+        *fLog << (fForce?warn:err) << "ERROR - Total transmission efficiency at ";
         *fLog << wmax << "nm is not zero... abort." << endl;
         *fLog << "        PhotonDetectionEfficency: " << s1->GetSpline()->Eval(wmax) << endl;
@@ -365,5 +366,6 @@
         *fLog << "        MirrorReflectivity:       " << s3->GetSpline()->Eval(wmax) << endl;
         *fLog << "        TotalEfficiency:          " << eff.GetSpline()->Eval(wmax) << endl;
-        return kFALSE;
+        if (!fForce)
+            return kFALSE;
     }
 
@@ -526,4 +528,10 @@
 {
     Bool_t rc = kFALSE;
+    if (IsEnvDefined(env, prefix, "Force", print))
+    {
+        rc = kTRUE;
+        fForce = GetEnvValue(env, prefix, "Force", fForce);
+    }
+
     if (IsEnvDefined(env, prefix, "FrequencyFixed", print))
     {
Index: trunk/Mars/msimcamera/MSimRandomPhotons.h
===================================================================
--- trunk/Mars/msimcamera/MSimRandomPhotons.h	(revision 19348)
+++ trunk/Mars/msimcamera/MSimRandomPhotons.h	(revision 19542)
@@ -35,4 +35,6 @@
     TString fFileNameNSB;
 
+    Bool_t fForce;
+
     // MTask
     Int_t  PreProcess(MParList *pList);
