Index: trunk/MagicSoft/Mars/mfileio/MReadTree.cc
===================================================================
--- trunk/MagicSoft/Mars/mfileio/MReadTree.cc	(revision 1488)
+++ trunk/MagicSoft/Mars/mfileio/MReadTree.cc	(revision 1527)
@@ -203,4 +203,22 @@
 // --------------------------------------------------------------------------
 //
+// Adds all files from another MReadTree to this instance
+//
+// Returns the number of file which were added
+//
+Int_t MReadTree::AddFiles(const MReadTree &read)
+{
+    Int_t rc = 0;
+
+    TIter Next(read.fChain->GetListOfFiles());
+    TObject *obj = NULL;
+    while ((obj=Next()))
+        rc += AddFile(obj->GetTitle());
+
+    return rc;
+}
+
+// --------------------------------------------------------------------------
+//
 //  This function is called if Branch choosing method should get enabled.
 //  Branch choosing means, that only the enabled branches are read into
Index: trunk/MagicSoft/Mars/mfileio/MReadTree.h
===================================================================
--- trunk/MagicSoft/Mars/mfileio/MReadTree.h	(revision 1488)
+++ trunk/MagicSoft/Mars/mfileio/MReadTree.h	(revision 1527)
@@ -60,6 +60,6 @@
     UInt_t GetEntries() const  { return fNumEntries; }
 
-    TString GetFileName() const;
-    Int_t   GetFileIndex() const;
+    TString    GetFileName() const;
+    Int_t      GetFileIndex() const;
 
     virtual void   AddNotify(TObject *obj);
@@ -68,4 +68,5 @@
 
     virtual Int_t  AddFile(const char *fname);
+    virtual Int_t  AddFiles(const MReadTree &read);
 
     virtual Bool_t PreProcess(MParList *pList);
