Index: /trunk/MagicSoft/Mars/mdata/MDataChain.cc
===================================================================
--- /trunk/MagicSoft/Mars/mdata/MDataChain.cc	(revision 1304)
+++ /trunk/MagicSoft/Mars/mdata/MDataChain.cc	(revision 1305)
@@ -26,4 +26,34 @@
 //
 //   MDataChain
+//
+// With this chain you can concatenate simple mathematical operations on
+// members of mars containers.
+//
+// In the constructor you can give rule, like
+//   "HillasSource.fDist / MHillas.fLength"
+// Where MHillas/HillasSource is the name of the parameter container in
+// the parameter list and fDist/fLength is the name of the data members
+// in the containers. The result will be fDist divided by fLength.
+//
+// You can also use brackets:
+//   "HillasDource.fDist / (MHillas.fLength + MHillas.fWidth)"
+//
+// The allowed operations are: +, -, *, /
+//
+// Warning: There is no priority rule build in. So better use brackets
+//   to get correct results. The rule is parsed/evaluated from the left
+//   to the right, which means:
+//
+//   "MHillas.fWidth + MHillas.fLength / HillasSource.fDist"
+//
+//    is parses as
+//
+//   "(MHillas.fWidth + MHillas.fLength) / HillasSource.fDist"
+//
+//
+// FIXME: The possibility to use other objects inheriting from MData
+//        is missing.
+//        Maybe we can use gInterpreter->Calc("") for this.
+//        gROOT->ProcessLineFast("line");
 //
 /////////////////////////////////////////////////////////////////////////////
Index: /trunk/MagicSoft/Mars/mdata/MDataChain.h
===================================================================
--- /trunk/MagicSoft/Mars/mdata/MDataChain.h	(revision 1304)
+++ /trunk/MagicSoft/Mars/mdata/MDataChain.h	(revision 1305)
@@ -34,5 +34,5 @@
     void Print(Option_t *opt = "") const;
 
-    ClassDef(MDataChain, 0) // A Filter for cuts in any data member
+    ClassDef(MDataChain, 0) // A chain/concatenation of MData objects
 };
 
Index: /trunk/MagicSoft/Mars/mdata/MDataList.h
===================================================================
--- /trunk/MagicSoft/Mars/mdata/MDataList.h	(revision 1304)
+++ /trunk/MagicSoft/Mars/mdata/MDataList.h	(revision 1305)
@@ -47,5 +47,5 @@
     void Print(Option_t *opt = "") const;
 
-    ClassDef(MDataList, 0)		// List to combine several filters logically
+    ClassDef(MDataList, 0) // A concatenation of MData objects by one operator
 };
 
Index: /trunk/MagicSoft/Mars/mdata/MDataMember.h
===================================================================
--- /trunk/MagicSoft/Mars/mdata/MDataMember.h	(revision 1304)
+++ /trunk/MagicSoft/Mars/mdata/MDataMember.h	(revision 1305)
@@ -32,5 +32,5 @@
     void Print(Option_t *opt = "") const;
 
-    ClassDef(MDataMember, 0)	// List to combine several filters logically
+    ClassDef(MDataMember, 0) // MData object corresponding to a single data member of a Mars container
 };
 
Index: /trunk/MagicSoft/Mars/mdata/MDataValue.h
===================================================================
--- /trunk/MagicSoft/Mars/mdata/MDataValue.h	(revision 1304)
+++ /trunk/MagicSoft/Mars/mdata/MDataValue.h	(revision 1305)
@@ -29,5 +29,5 @@
     void Print(Option_t *opt = "") const;
 
-    ClassDef(MDataValue, 0)	// List to combine several filters logically
+    ClassDef(MDataValue, 0) // MData object corresponding to a single value
 };
 
