]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliMultiInputEventHandler.h
Partial implementation of MC event loop
[u/mrichter/AliRoot.git] / ANALYSIS / AliMultiInputEventHandler.h
CommitLineData
379713ad 1//
2// Class AliMultiInputEventHandler
3//
4// Multi input event handler
5// TODO example
6// author:
7// Martin Vala (martin.vala@cern.ch)
8//
9
10#ifndef ALIMULTIINPUTEVENTHANDLER_H
11#define ALIMULTIINPUTEVENTHANDLER_H
12
13#include <TObjArray.h>
14
15#include "AliInputEventHandler.h"
16
17class AliMCEventHandler;
18class AliMultiInputEventHandler : public AliInputEventHandler {
19
20public:
21 AliMultiInputEventHandler(const Int_t size = 0, const char *name = "name");
22 virtual ~AliMultiInputEventHandler();
23
24 // From the interface
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);
7af7146c 32 virtual UInt_t IsEventSelected();
379713ad 33 // add input handler
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; }
38
39 AliInputEventHandler *GetFirstInputEventHandler();
40 AliMCEventHandler *GetFirstMCEventHandler();
41 AliMultiInputEventHandler *GetFirstMultiInputHandler();
42
43 Option_t *GetDataType() const;
6647d911 44
45 //PID response
46 virtual AliPIDResponse* GetPIDResponse();
47 virtual void CreatePIDResponse(Bool_t isMC);
379713ad 48
49protected:
50
51 Int_t fBufferSize; // Size of the buffer
52 TObjArray fInputHandlers; // buffer of input handlers
53 Option_t *fAnalysisType; //! local, proof, grid
54private:
55 AliMultiInputEventHandler(const AliMultiInputEventHandler& handler);
56 AliMultiInputEventHandler &operator=(const AliMultiInputEventHandler &handler);
57
58 ClassDef(AliMultiInputEventHandler, 1)
59};
60
61#endif