//-------------------------------------------------------------------------
#include <TTree.h>
+#include <TList.h>
+#include <TNamed.h>
#include "AliAODInputHandler.h"
#include "AliAODEvent.h"
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;
return kTRUE;
}
+void AliAODInputHandler::AddFriend(char* filename)
+{
+ // Add a friend tree
+ TNamed* obj = new TNamed(filename, filename);
+ fFriends->Add(obj);
+}
#include "AliInputEventHandler.h"
#include "AliAODEvent.h"
+class TList;
+
class AliAODInputHandler : public AliInputEventHandler {
public:
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);
};