From 2677201510b84537e7a170051d418712053986b6 Mon Sep 17 00:00:00 2001 From: morsch Date: Sun, 30 Mar 2008 18:32:51 +0000 Subject: [PATCH] Optional friend tree replaced by list of friends. --- STEER/AliAODInputHandler.cxx | 34 +++++++++++++++++++++++----------- STEER/AliAODInputHandler.h | 7 ++++--- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/STEER/AliAODInputHandler.cxx b/STEER/AliAODInputHandler.cxx index 202ae1fbdbf..958e6119ef5 100644 --- a/STEER/AliAODInputHandler.cxx +++ b/STEER/AliAODInputHandler.cxx @@ -21,6 +21,8 @@ //------------------------------------------------------------------------- #include +#include +#include #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); +} diff --git a/STEER/AliAODInputHandler.h b/STEER/AliAODInputHandler.h index edcab60d7e1..f0aa6a54dc6 100644 --- a/STEER/AliAODInputHandler.h +++ b/STEER/AliAODInputHandler.h @@ -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); }; -- 2.39.3