]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Optional friend tree replaced by list of friends.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 30 Mar 2008 18:32:51 +0000 (18:32 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 30 Mar 2008 18:32:51 +0000 (18:32 +0000)
STEER/AliAODInputHandler.cxx
STEER/AliAODInputHandler.h

index 202ae1fbdbf4ec61efe203675c17b79b90770c4a..958e6119ef593e6d485afa07fc385521c82c8044 100644 (file)
@@ -21,6 +21,8 @@
 //-------------------------------------------------------------------------
 
 #include <TTree.h>
+#include <TList.h>
+#include <TNamed.h>
 
 #include "AliAODInputHandler.h"
 #include "AliAODEvent.h"
@@ -31,32 +33,36 @@ ClassImp(AliAODInputHandler)
 AliAODInputHandler::AliAODInputHandler() :
     AliInputEventHandler(),
     fEvent(0),
-    fFriend(0)
+    fFriends(new TList())
 {
-  // default constructor
+  // Default constructor
 }
 
 //______________________________________________________________________________
-AliAODInputHandler::~AliAODInputHandler() 
+AliAODInputHandler::AliAODInputHandler(const char* name, const char* title):
+  AliInputEventHandler(name, title),
+  fEvent(0),
+  fFriends(new TList())
 {
-// destructor
+    // Constructor
 }
 
 //______________________________________________________________________________
-AliAODInputHandler::AliAODInputHandler(const char* name, const char* title):
-  AliInputEventHandler(name, title),
-  fEvent(0),
-  fFriend(0)
-    
+AliAODInputHandler::~AliAODInputHandler() 
 {
+// Destructor
+    fFriends->Delete();
 }
 
+
 Bool_t AliAODInputHandler::Init(TTree* tree, Option_t* /*opt*/)
 {
     // Initialisation necessary for each new tree
     fTree = tree;
-    if (fFriend) {
-       fTree->AddFriend("aodTree", fFriend);
+    TIter next(fFriends);
+    TNamed* obj;
+    while(obj = (TNamed*)next()) {
+       fTree->AddFriend("aodTree", obj->GetName());
     }
     
     if (!fTree) return kFALSE;
@@ -71,3 +77,9 @@ Bool_t AliAODInputHandler::Init(TTree* tree, Option_t* /*opt*/)
     return kTRUE;
 }
 
+void AliAODInputHandler::AddFriend(char* filename)
+{
+    // Add a friend tree 
+    TNamed* obj = new TNamed(filename, filename);
+    fFriends->Add(obj);
+}
index edcab60d7e183f765a0dbff96e459e984854056c..f0aa6a54dc64c890b7c0ca5118ef09e7a7c2a31f 100644 (file)
@@ -13,6 +13,8 @@
 #include "AliInputEventHandler.h"
 #include "AliAODEvent.h"
 
+class TList;
+
 class AliAODInputHandler : public AliInputEventHandler {
 
  public:
@@ -22,14 +24,13 @@ class AliAODInputHandler : public AliInputEventHandler {
     virtual Bool_t       Init(Option_t* /*opt*/) {return kTRUE;}
     virtual Bool_t       Init(TTree* tree, Option_t* opt);
     AliAODEvent         *GetEvent() const {return fEvent;}
-    virtual void         AddFriend(char* filename) {fFriend = filename;}
-    
+    virtual void         AddFriend(char* filename); 
  private:
     AliAODInputHandler(const AliAODInputHandler& handler);             
     AliAODInputHandler& operator=(const AliAODInputHandler& handler);  
  private:
     AliAODEvent    *fEvent;   //! Pointer to the event
-    char           *fFriend;  //! File with friend tree 
+    TList          *fFriends; //  List of friend trees 
     ClassDef(AliAODInputHandler, 1);
 };