Index: trunk/MagicSoft/Mars/mreport/MReport.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReport.cc	(revision 2523)
+++ trunk/MagicSoft/Mars/mreport/MReport.cc	(revision 2529)
@@ -33,4 +33,5 @@
 
 #include "MTime.h"
+#include "MParList.h"
 
 ClassImp(MReport);
@@ -82,2 +83,27 @@
     return kTRUE;
 }
+
+MTime *MReport::FindTime(MParList &plist)
+{
+    fTime = NULL;
+
+    TString id(ClassName());
+    if (!id.BeginsWith("MReport"))
+    {
+        *fLog << warn << " WARNING - Class name '" << id << "' ";
+        *fLog << " doesn't begin with 'MReport'... no MTime assigned." << endl;
+        return NULL;
+    }
+
+    id.Remove(0, 7);
+    if (id.IsNull())
+    {
+        *fLog << warn << " WARNING - No postfix existing... no MTime assigned." << endl;
+        return NULL;
+    }
+
+    id.Prepend("MTime");
+
+    fTime = (MTime*)plist.FindCreateObj("MTime", id);
+    return fTime;
+}
Index: trunk/MagicSoft/Mars/mreport/MReport.h
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReport.h	(revision 2523)
+++ trunk/MagicSoft/Mars/mreport/MReport.h	(revision 2529)
@@ -7,4 +7,5 @@
 
 class MTime;
+class MParList;
 
 class MReport : public MParContainer
@@ -14,5 +15,5 @@
 
     Byte_t  fState;
-    MTime  *fTime;
+    MTime  *fTime;             //!
 
     ULong_t Hash() const { return fIdentifier.Hash(); }
@@ -39,7 +40,7 @@
     void SetTime(MTime *t) { fTime = t; }
 
-    static Bool_t ReadAngle(TString &str, Double_t &ret);
+    MTime *FindTime(MParList &plist);
 
-    ClassDef(MReport, 0) // Base class for control reports
+    ClassDef(MReport, 1) // Base class for control reports
 };
 
Index: trunk/MagicSoft/Mars/mreport/MReportFileRead.cc
===================================================================
--- trunk/MagicSoft/Mars/mreport/MReportFileRead.cc	(revision 2523)
+++ trunk/MagicSoft/Mars/mreport/MReportFileRead.cc	(revision 2529)
@@ -60,5 +60,5 @@
     ULong_t Hash() const { return fReport->GetIdentifier().Hash(); }
     MReport *GetReport() { return fReport; }
-    void SetTime(MTime *t) { fReport->SetTime(t); }
+    //void SetTime(MTime *t) { fReport->SetTime(t); }
     Bool_t Interprete(TString &str)
     {
@@ -69,4 +69,6 @@
         return kTRUE;
     }
+    void SetTime(MParList &plist) { fReport->FindTime(plist); }
+    void AddToList(MParList &plist) { plist.AddToList(fReport); }
 };
 
@@ -178,9 +180,10 @@
 Int_t MReportFileRead::PreProcess(MParList *pList)
 {
-    MTime *time = (MTime*)pList->FindCreateObj("MTime");
-    if (!time)
-        return kFALSE;
-
-    fList->ForEach(MReportHelp, SetTime)(time);
+    //MTime *time = (MTime*)pList->FindCreateObj("MTime");
+    //if (!time)
+    //    return kFALSE;
+
+    fList->ForEach(MReportHelp, SetTime)(*pList);
+    fList->ForEach(MReportHelp, AddToList)(*pList);
 
     //
@@ -249,4 +252,7 @@
     fIn->close();
 
+    if (!GetNumExecutions())
+        return kTRUE;
+
     *fLog << inf << endl;
     *fLog << GetDescriptor() << " statistics:" << endl;
