ROOT logo
#ifndef ALIESDHANDLER_H
#define ALIESDHANDLER_H
/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//-------------------------------------------------------------------------
//
//     Implementation of the Event Handler Interface for ESD
//
//-------------------------------------------------------------------------

#include "AliVEventHandler.h"

class AliESDEvent;
class AliESDfriend;
class TFile;
class TTree;

class AliESDHandler : public AliVEventHandler {
    
 public:
	AliESDHandler();
	AliESDHandler(const char* name, const char* title);
	virtual ~AliESDHandler();
	virtual void SetOutputFileName(const char* fname){fFileName = fname;}
	virtual const char* GetOutputFileName() const {return fFileName.Data();}
	virtual Bool_t Init(Option_t* option);
	virtual Bool_t Init(TTree* /*tree*/, Option_t* /*option*/)  {return kTRUE;}
	virtual Bool_t GetEntry() {return kTRUE;}
	virtual Bool_t BeginEvent(Long64_t /*entry*/){fIsEventSelectedForFriends = kFALSE; return kTRUE;}
	virtual Bool_t Notify() {return AliVEventHandler::Notify(); };
	virtual Bool_t Notify(const char * /* path */) {return kTRUE;}
	virtual Bool_t FinishEvent();
	virtual Bool_t Terminate();
	virtual Bool_t TerminateIO();
	
	AliESDfriend* GetESDfriend()  {return fesdf;}
	virtual TTree* GetTree() const {return fTreeEF;}
	void FillTree();
	void SetInputTree(TTree* /*tree*/) {;}
	void SelectEventForFriends() {fIsEventSelectedForFriends = kTRUE;}

 private:

	AliESDHandler(const AliESDHandler&);             // Not implemented
	AliESDHandler& operator=(const AliESDHandler&);  // Not implemented
	
	AliESDfriend* fesdf;    //! Pointer to the ESD friend
	TTree* fTreeEF;         //! Output tree for friends
	TFile* fFileEF;         //! Output file for friends
	TString fFileName;      //! Output file name for friends
	Bool_t fIsEventSelectedForFriends; //! flag to indicate if the event was selected to have the friends kept 

    ClassDef(AliESDHandler, 3)
};
#endif
 AliESDHandler.h:1
 AliESDHandler.h:2
 AliESDHandler.h:3
 AliESDHandler.h:4
 AliESDHandler.h:5
 AliESDHandler.h:6
 AliESDHandler.h:7
 AliESDHandler.h:8
 AliESDHandler.h:9
 AliESDHandler.h:10
 AliESDHandler.h:11
 AliESDHandler.h:12
 AliESDHandler.h:13
 AliESDHandler.h:14
 AliESDHandler.h:15
 AliESDHandler.h:16
 AliESDHandler.h:17
 AliESDHandler.h:18
 AliESDHandler.h:19
 AliESDHandler.h:20
 AliESDHandler.h:21
 AliESDHandler.h:22
 AliESDHandler.h:23
 AliESDHandler.h:24
 AliESDHandler.h:25
 AliESDHandler.h:26
 AliESDHandler.h:27
 AliESDHandler.h:28
 AliESDHandler.h:29
 AliESDHandler.h:30
 AliESDHandler.h:31
 AliESDHandler.h:32
 AliESDHandler.h:33
 AliESDHandler.h:34
 AliESDHandler.h:35
 AliESDHandler.h:36
 AliESDHandler.h:37
 AliESDHandler.h:38
 AliESDHandler.h:39
 AliESDHandler.h:40
 AliESDHandler.h:41
 AliESDHandler.h:42
 AliESDHandler.h:43
 AliESDHandler.h:44
 AliESDHandler.h:45
 AliESDHandler.h:46
 AliESDHandler.h:47
 AliESDHandler.h:48
 AliESDHandler.h:49
 AliESDHandler.h:50
 AliESDHandler.h:51
 AliESDHandler.h:52
 AliESDHandler.h:53
 AliESDHandler.h:54
 AliESDHandler.h:55
 AliESDHandler.h:56
 AliESDHandler.h:57
 AliESDHandler.h:58