2 // Class AliMixEventPool
4 // AliMixEventPool is used to find
8 // Martin Vala (martin.vala@cern.ch)
11 #ifndef ALIMIXEVENTPOOL_H
12 #define ALIMIXEVENTPOOL_H
14 #include <TObjArray.h>
18 class AliMixEventCutObj;
20 class AliMixEventPool : public TNamed {
22 AliMixEventPool(const char *name = "mixEventPool", const char *title = "Mix event pool");
23 AliMixEventPool(const AliMixEventPool &obj);
24 AliMixEventPool &operator= (const AliMixEventPool& obj);
25 virtual ~AliMixEventPool();
28 virtual void Print(const Option_t *option = "") const;
30 // inits correctly object
33 void CreateEntryListsRecursivly(Int_t index);
34 void SearchIndexRecursive(Int_t num, Int_t *i, Int_t *d, Int_t &index);
35 TEntryList *AddEntryList();
37 Bool_t AddEntry(Long64_t entry, AliVEvent *ev);
38 TEntryList *FindEntryList(AliVEvent *ev, Int_t &idEntryList);
40 void AddCut(AliMixEventCutObj *cut);
42 Bool_t NeedInit() { return (fListOfEntryList.GetEntries() == 0); }
43 TObjArray *GetListOfEntryLists() { return &fListOfEntryList; }
44 TObjArray *GetListOfEventCuts() { return &fListOfEventCuts; }
46 Bool_t SetCutValuesFromBinIndex(Int_t index);
47 void SetBufferSize(Int_t buffer) { fBufferSize = buffer; }
48 void SetMixNumber(Int_t numMix) { fMixNumber = numMix; }
49 Int_t GetBufferSize() const { return fBufferSize; }
50 Int_t GetMixNumber() const { return fMixNumber; }
54 TObjArray fListOfEntryList; // list of entry lists
55 TObjArray fListOfEventCuts; // list of entry lists
57 Int_t fBinNumber; // bin number
58 Int_t fBufferSize; // buffer size
59 Int_t fMixNumber; // mixing number
61 ClassDef(AliMixEventPool, 1)