Index: trunk/MagicSoft/Mars/mbase/MReadTree.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MReadTree.cc	(revision 759)
+++ trunk/MagicSoft/Mars/mbase/MReadTree.cc	(revision 760)
@@ -55,4 +55,11 @@
 
 // --------------------------------------------------------------------------
+//
+//  Default constructor. It creates an TChain instance which represents the
+//  the Tree you want to read and adds the given file (if you gave one).
+//  More files can be added using MReadTree::AddFile.
+//  Also an empty veto list is created. This list is used if you want to
+//  veto (disable or "don't enable") a branch in the tree.
+//
 MReadTree::MReadTree(const char *tname, const char *fname,
                      const char *name, const char *title)
@@ -72,4 +79,7 @@
 
 // --------------------------------------------------------------------------
+//
+// Destructor. It deletes the TChain and veto list object
+//
 MReadTree::~MReadTree()
 {
@@ -79,4 +89,9 @@
 
 // --------------------------------------------------------------------------
+//
+//  If you want to read the given tree over several files you must add
+//  the files here before PreProcess is called. Be carfull: This does
+//  only work if the trees in the files containing the same branches yet.
+//
 /*Int_t*/ void MReadTree::AddFile(const char *fname)
 {
@@ -92,5 +107,13 @@
 // --------------------------------------------------------------------------
 //
-// open file and check if file is really open
+//  The PreProcess loops (till now) over the branches in the given tree.
+//  It checks if the corresponding containers (containers with the same
+//  name than the branch name) are existing in the Parameter Container List.
+//  If not, a container of objec type 'branch-name' is created (everything
+//  after the last semicolon in the branch name is stripped). Only
+//  branches which don't have a veto (see VetoBranch) are enabled If the
+//  object isn't found in the root dictionary (a list of classes known by the
+//  root environment) the branch is skipped and an error message is printed
+//  out.
 //
 Bool_t MReadTree::PreProcess (MParList *pList)
@@ -167,4 +190,9 @@
 
 // --------------------------------------------------------------------------
+//
+//  The Process-function reads one event from the tree (this contains all
+//  enabled branches) and increases the position in the file by one event.
+//  (Remark: The position can also be set by some member functions
+//  If the end of the file is reached the Eventloop is stopped.
 Bool_t MReadTree::Process()
 {
@@ -178,18 +206,7 @@
     // get entry
     //
-    fChain->GetEntry(fNumEntry );
-
-    fNumEntry ++ ; 
-
-    return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Close File
-//
-Bool_t MReadTree::PostProcess()
-{
-    //fFile->Close();
+    fChain->GetEntry(fNumEntry);
+
+    fNumEntry++;
 
     return kTRUE;
Index: trunk/MagicSoft/Mars/mbase/MReadTree.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MReadTree.h	(revision 759)
+++ trunk/MagicSoft/Mars/mbase/MReadTree.h	(revision 760)
@@ -29,5 +29,4 @@
     Bool_t PreProcess(MParList *pList);
     Bool_t Process();
-    Bool_t PostProcess();
 
     void AddFile(const char *fname);
Index: trunk/MagicSoft/Mars/mraw/MRawCrateArray.cc
===================================================================
--- trunk/MagicSoft/Mars/mraw/MRawCrateArray.cc	(revision 759)
+++ trunk/MagicSoft/Mars/mraw/MRawCrateArray.cc	(revision 760)
@@ -42,4 +42,9 @@
 ClassImp(MRawCrateArray)
 
+// --------------------------------------------------------------------------
+//
+//  Default Constructor. It creates the TClonesArray which is used to store
+//  the crate data.
+//
 MRawCrateArray::MRawCrateArray(const char *name, const char *title)
 {
@@ -54,45 +59,49 @@
 }
 
+// --------------------------------------------------------------------------
+//
+//  Destructor. Deletes the TClones Array which stores the crate information
+//
 MRawCrateArray::~MRawCrateArray()
 {
+    //  FIXME: Is the contained data deleted, too?
     delete fArray;
 }
 
+// --------------------------------------------------------------------------
+//
+// clear the entries in the TClonesArray
+//
 void MRawCrateArray::Clear(Option_t *opt)
 {
-    //
-    // clear the entries in the TClonesArray
-    //
     fArray->Clear();
 }
 
-void MRawCrateArray::Print(Option_t *opt)
-{
-    *fLog << "MRawCrateArray::Print()" << endl;
-}
-
+// --------------------------------------------------------------------------
+//
+// Return a pointer the i-th entry in the array
+//
 MRawCrateData *MRawCrateArray::GetEntry(Int_t i)
 {
-    //
-    // Return a pointer the i-th entry in the array
-    //
     return (MRawCrateData*)fArray->AddrAt(i);
 }
 
+// --------------------------------------------------------------------------
+//
+// Return the i-th entry in the array
+//
 MRawCrateData* &MRawCrateArray::operator[](Int_t i)
 {
-    //
-    // Return the i-th entry in the array
-    //
     return (MRawCrateData*&)(*fArray)[i];
 }
 
+// --------------------------------------------------------------------------
+//
+// return a pointer to the pointer of the array
+// (actually not used. You may need it if you want to write
+//  the TClonesArray directly)
+//
 TClonesArray **MRawCrateArray::GetArray()
 {
-    //
-    // return a pointer to the pointer of the array
-    // (actually not used. You may need it if you want to write
-    //  the TClonesArray directly)
-    //
     return &fArray;
 }
