Line data Source code
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 :
17 : class AliMCEventHandler;
18 : class AliMultiInputEventHandler : public AliInputEventHandler {
19 :
20 : public:
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);
32 : virtual UInt_t IsEventSelected();
33 : // add input handler
34 : virtual void AddInputEventHandler(AliVEventHandler*inHandler);
35 : AliVEventHandler *InputEventHandler(const Int_t index);
36 0 : Int_t BufferSize() const { return fBufferSize; }
37 0 : TObjArray *InputEventHandlers() { return &fInputHandlers; }
38 :
39 : AliInputEventHandler *GetFirstInputEventHandler();
40 : AliMCEventHandler *GetFirstMCEventHandler();
41 : AliMultiInputEventHandler *GetFirstMultiInputHandler();
42 :
43 : Option_t *GetDataType() const;
44 :
45 : //PID response
46 : virtual AliPIDResponse* GetPIDResponse();
47 : virtual void CreatePIDResponse(Bool_t isMC);
48 :
49 : protected:
50 :
51 : Int_t fBufferSize; // Size of the buffer
52 : TObjArray fInputHandlers; // buffer of input handlers
53 : Option_t *fAnalysisType; //! local, proof, grid
54 : private:
55 : AliMultiInputEventHandler(const AliMultiInputEventHandler& handler);
56 : AliMultiInputEventHandler &operator=(const AliMultiInputEventHandler &handler);
57 :
58 170 : ClassDef(AliMultiInputEventHandler, 1)
59 : };
60 :
61 : #endif
|