]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/EventMixing/AliMixInfo.h
Fixed usage of exchange containers in a multiple producers/consumers schema.
[u/mrichter/AliRoot.git] / ANALYSIS / EventMixing / AliMixInfo.h
CommitLineData
b425275c 1//
2// Class AliMixInfo
3//
4// AliMixInfo object contains information about one cut on for event mixing
5// available for users containing mixing information
6//
7// authors:
8// Martin Vala (martin.vala@cern.ch)
9//
10
11#ifndef ALIMIXINFO_H
12#define ALIMIXINFO_H
13
14#include <TNamed.h>
15#include <Rtypes.h>
16
17class AliMixEventPool;
18class TH1I;
19class TList;
20class TCollection;
21class AliMixInfo : public TNamed {
22public:
23 enum EInfoHistorgramType { kMainEvents = 0, kMixedEvents = 1, kNumTypes };
24
25 AliMixInfo(const char *name = "mix", const char *title = "MixInfo");
26 AliMixInfo(const AliMixInfo &obj);
27 virtual ~AliMixInfo();
28
29 void Reset();
30 virtual void Print(Option_t *option = "") const;
31 virtual void Draw(Option_t *option = "");
32 virtual Long64_t Merge(TCollection *list);
33
34 void Add(AliMixInfo *mi);
35
35e08f92 36 void SetOutputList(TList *const list) { fHistogramList = list; }
b425275c 37 void CreateHistogram(EInfoHistorgramType type, Int_t nbins, Int_t min, Int_t max);
38 void FillHistogram(AliMixInfo::EInfoHistorgramType type, Int_t value);
39 const char *GetNameHistogramByType(Int_t index) const;
40 const char *GetTitleHistogramByType(Int_t index) const;
41 TH1I *GetHistogramByType(Int_t index) const;
42
43 void SetEventPool(AliMixEventPool *evPool);
44 AliMixEventPool *GetEventPool(const char *name);
45
46
35e08f92 47 static void DynamicExec(AliMixInfo *const mixInfo);
b425275c 48private:
49
50 TList *fHistogramList; // histogram list
51
52 AliMixInfo &operator=(const AliMixInfo &) { return *this; }
53
54 ClassDef(AliMixInfo, 1)
55
56};
57
58#endif