Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 1525)
+++ trunk/MagicSoft/Mars/Changelog	(revision 1526)
@@ -65,4 +65,8 @@
    * mhist/MHStarMap.cc:
      - fixed some comments
+
+   * mbase/MEvtLoop.[h,cc], MParContainer.[h,cc]:
+     - added support for writing two or more Evtloops into one macro
+
 
 
Index: trunk/MagicSoft/Mars/mbase/MEvtLoop.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MEvtLoop.h	(revision 1525)
+++ trunk/MagicSoft/Mars/mbase/MEvtLoop.h	(revision 1526)
@@ -30,4 +30,6 @@
     Bool_t HasDuplicateNames(const TString txt) const;
     Bool_t HasDuplicateNames(TObjArray &arr, const TString txt) const;
+
+    void StreamPrimitive(ofstream &out) const;
 
 public:
Index: trunk/MagicSoft/Mars/mbase/MParContainer.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MParContainer.cc	(revision 1525)
+++ trunk/MagicSoft/Mars/mbase/MParContainer.cc	(revision 1526)
@@ -348,26 +348,41 @@
 {
     TClass *cls = IsA()->GetBaseDataMember(name);
-    if (!cls)
+    if (cls)
     {
-        *fLog << err << "'" << name << "' is neither a member of ";
-        *fLog << GetDescriptor() << " nor one of its base classes." << endl;
-        return NULL;
+        TDataMember *member = cls->GetDataMember(name);
+        if (!member)
+        {
+            *fLog << err << "Datamember '" << name << "' not in " << GetDescriptor() << endl;
+            return NULL;
+        }
+
+        TMethodCall *call = member->GetterMethod();
+        if (call)
+            return call;
     }
 
-    TDataMember *member = cls->GetDataMember(name);
-    if (!member)
-    {
-        *fLog << err << "Datamember '" << name << "' not in " << GetDescriptor() << endl;
-        return NULL;
-    }
-
-    TMethodCall *call = member->GetterMethod();
-    if (!call)
-    {
-        *fLog << err << "Sorry, no getter method found for " << name << endl;
-        return NULL;
-    }
-
-    return call;
+    *fLog << warn << "No standard access for '" << name << "' in ";
+    *fLog << GetDescriptor() << " or one of its base classes." << endl;
+
+    TMethodCall *call = NULL;
+
+    *fLog << warn << "Trying to find MethodCall '" << IsA()->GetName();
+    *fLog << "::Get" << name << "' instead <LEAKS MEMORY>" << endl;
+    call = new TMethodCall(IsA(), (TString)"Get"+name, "");
+    if (call->GetMethod())
+        return call;
+
+    delete call;
+
+    *fLog << warn << "Trying to find MethodCall '" << IsA()->GetName();
+    *fLog << "::" << name << "' instead <LEAKS MEMORY>" << endl;
+    call = new TMethodCall(IsA(), name, "");
+    if (call->GetMethod())
+        return call;
+
+    delete call;
+
+    *fLog << err << "Sorry, no getter method found for " << name << endl;
+    return NULL;
 }
 
