Port of new Event Mixing implementation
[u/mrichter/AliRoot.git] / ANALYSIS / EventMixing / AliMixInputHandlerInfo.h
CommitLineData
c5e33610 1//
2// Class AliMixInputHandlerInfo
3//
b425275c 4// AliMixInputHandlerInfo is interface with mixed
c5e33610 5// input handlers
6//
b425275c 7// author:
c5e33610 8// Martin Vala (martin.vala@cern.ch)
9//
10#ifndef ALIMIXINPUTHANDLERINFO_H
11#define ALIMIXINPUTHANDLERINFO_H
12#include <TArrayI.h>
13#include <TNamed.h>
14
15class TTree;
16class TChain;
17class TChainElement;
18class AliInputEventHandler;
19class AliMixInputHandlerInfo : public TNamed {
20
21public:
b425275c 22 AliMixInputHandlerInfo(const char *name = "defautlTree", const char *title = "Defautl tree");
23 virtual ~AliMixInputHandlerInfo();
24 TChain *GetChain();
25
26 void AddChain(TChain *chain);
27// void AddTreeToChain(TTree *tree);
28 void AddTreeToChain(const char *path);
29
30 void PrepareEntry(TChainElement *te, Long64_t entry, AliInputEventHandler *eh, Option_t *opt);
31
32 void SetZeroEntryNumber(Long64_t num) { fZeroEntryNumber = num; }
33 TChainElement *GetEntryInTree(Long64_t &entry);
34 Long64_t GetEntries();
c5e33610 35
36private:
b425275c 37 TChain *fChain; // current chain
38 TArrayI fChainEntriesArray; // array of entries of every chaing
39 Long64_t fZeroEntryNumber; // zero entry number (will be used when we will delete not needed chains)
40 Bool_t fNeedNotify; // flag if Notify is needed for current input handler
41
42 AliMixInputHandlerInfo(const AliMixInputHandlerInfo &handler);
43 AliMixInputHandlerInfo &operator=(const AliMixInputHandlerInfo &handler);
44
45 ClassDef(AliMixInputHandlerInfo, 1); // Mix Input Handler info
c5e33610 46};
47
48#endif // ALIMIXINPUTHANDLERINFO_H