]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliMultiInputEventHandler.h
addition to previous fix: remove unnecessary if in deleting the pointer
[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    //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    ClassDef(AliMultiInputEventHandler, 1)
59 };
60
61 #endif