Index: trunk/MagicSoft/Mars/mbase/MParContainer.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MParContainer.cc	(revision 847)
+++ trunk/MagicSoft/Mars/mbase/MParContainer.cc	(revision 848)
@@ -174,2 +174,14 @@
     return nbytes;
 }
+
+void MParContainer::AsciiRead(ifstream &fin)
+{
+    *fLog << "To use the the ascii input of " << GetName();
+    *fLog << " you have to overload " << GetName() << "::AsciiRead." << endl;
+}
+
+void MParContainer::AsciiWrite(ofstream &fout) const
+{
+    *fLog << "To use the the ascii output of " << GetName();
+    *fLog << " you have to overload " << GetName() << "::AsciiWrite." << endl;
+}
Index: trunk/MagicSoft/Mars/mbase/MParContainer.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MParContainer.h	(revision 847)
+++ trunk/MagicSoft/Mars/mbase/MParContainer.h	(revision 848)
@@ -72,6 +72,6 @@
     virtual void   SetHasChanged(Bool_t flag=kTRUE) { fHasChanged=flag; }
 
-    virtual void AsciiRead(ifstream &fin) {};
-    virtual void AsciiWrite(ofstream &fout) const {};
+    virtual void AsciiRead(ifstream &fin);
+    virtual void AsciiWrite(ofstream &fout) const;
 
     ClassDef(MParContainer, 1)  //The basis for all parameter containers
