2 // Class AliMultiInputEventHandler
4 // Multi input event handler
7 // Martin Vala (martin.vala@cern.ch)
10 #ifndef ALIMULTIINPUTEVENTHANDLER_H
11 #define ALIMULTIINPUTEVENTHANDLER_H
13 #include <TObjArray.h>
15 #include "AliInputEventHandler.h"
17 class AliMCEventHandler;
18 class AliMultiInputEventHandler : public AliInputEventHandler {
21 AliMultiInputEventHandler(const Int_t size = 0, const char *name = "name");
22 virtual ~AliMultiInputEventHandler();
25 virtual Bool_t Init(Option_t *opt);
26 virtual Bool_t Init(TTree *tree, Option_t *opt);
27 virtual Bool_t BeginEvent(Long64_t entry);
28 virtual Bool_t GetEntry();
29 virtual Bool_t FinishEvent();
30 virtual Bool_t Notify();
31 virtual Bool_t Notify(const char *path);
32 virtual UInt_t IsEventSelected();
34 virtual void AddInputEventHandler(AliVEventHandler*inHandler);
35 AliVEventHandler *InputEventHandler(const Int_t index);
36 Int_t BufferSize() const { return fBufferSize; }
37 TObjArray *InputEventHandlers() { return &fInputHandlers; }
39 AliInputEventHandler *GetFirstInputEventHandler();
40 AliMCEventHandler *GetFirstMCEventHandler();
41 AliMultiInputEventHandler *GetFirstMultiInputHandler();
43 Option_t *GetDataType() const;
46 virtual AliPIDResponse* GetPIDResponse();
47 virtual void CreatePIDResponse(Bool_t isMC);
51 Int_t fBufferSize; // Size of the buffer
52 TObjArray fInputHandlers; // buffer of input handlers
53 Option_t *fAnalysisType; //! local, proof, grid
55 AliMultiInputEventHandler(const AliMultiInputEventHandler& handler);
56 AliMultiInputEventHandler &operator=(const AliMultiInputEventHandler &handler);
58 ClassDef(AliMultiInputEventHandler, 1)