Index: trunk/Mars/mbase/MParContainer.cc
===================================================================
--- trunk/Mars/mbase/MParContainer.cc	(revision 11431)
+++ trunk/Mars/mbase/MParContainer.cc	(revision 11432)
@@ -724,4 +724,14 @@
 }
 
+void *MParContainer::DataMember(const char *member)
+{
+    const Long_t off = IsA()->GetDataMemberOffset(member);
+    if (off>0)
+        return reinterpret_cast<char*>(this)+off;
+
+    *fLog << err << "Data member '" << member << "' not found in " << GetDescriptor() << endl;
+    return 0;
+}
+
 // --------------------------------------------------------------------------
 //
Index: trunk/Mars/mbase/MParContainer.h
===================================================================
--- trunk/Mars/mbase/MParContainer.h	(revision 11431)
+++ trunk/Mars/mbase/MParContainer.h	(revision 11432)
@@ -115,4 +115,5 @@
 
     virtual TMethodCall *GetterMethod(const char *name) const;
+    virtual void        *DataMember(const char *name);
 
     Bool_t WriteDataMember(ostream &out, const char *member, Double_t scale=1) const;
