]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVENTMIX/AliMixInfo.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / EVENTMIX / AliMixInfo.h
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
17 class AliMixEventPool;
18 class TH1I;
19 class TList;
20 class TCollection;
21 class AliMixInfo : public TNamed {
22 public:
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(){;} // Not implemented
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
36    void SetOutputList(TList *const list) { fHistogramList = list; }
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
47    static void DynamicExec(AliMixInfo *const mixInfo);
48 private:
49
50    TList     *fHistogramList;  // histogram list
51
52    AliMixInfo &operator=(const AliMixInfo &) { return *this; }
53
54    ClassDef(AliMixInfo, 1)
55
56 };
57
58 #endif