added error messages when task does not post data in UserCreateOutputObjects for...
[u/mrichter/AliRoot.git] / ANALYSIS / AliMultiInputEventHandler.h
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    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;
44
45 protected:
46
47    Int_t                   fBufferSize;    // Size of the buffer
48    TObjArray               fInputHandlers; // buffer of input handlers
49    Option_t               *fAnalysisType;  //! local, proof, grid
50 private:
51    AliMultiInputEventHandler(const AliMultiInputEventHandler& handler);
52    AliMultiInputEventHandler &operator=(const AliMultiInputEventHandler &handler);
53
54    ClassDef(AliMultiInputEventHandler, 1)
55 };
56
57 #endif