]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/hfe/AliHFEcollection.h
New package for heavy flavour electrons analysis (M.Fasel)
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEcollection.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice      
3  */
4
5 /************************************************************************
6  *                                                                      *
7  * Class for AliHFEcollection                                           *
8  * Serves as a data container - currently based on internal TList       *
9  *                                                                      *
10  * Authors:                                                             *
11  *   Markus Fasel  <M.Fasel@gsi.de>                                     *
12  *   Matus Kalisky <matus.kalisky@cern.ch>  (contact)                   *
13  ************************************************************************/
14
15 /*
16  * Provides an option for storing and creating histograms outside the
17  * analysis class
18  * the performance will be improved once the TMap is used insted of TTree
19  */
20
21 /*
22  * vesion: 1.0.1
23  */
24
25
26 #ifndef __ALIHFECOLLECTION_H__
27 #define __ALIHFECOLLECTION_H__
28
29 #ifndef ROOT_TNamed
30 #include "TNamed.h"
31 #endif
32
33 class TList;
34 class TCollection;
35 class TBrowser;
36
37 class AliHFEcollection : public TNamed{
38
39  public:
40   AliHFEcollection();
41   AliHFEcollection(char* name, char* title);
42   AliHFEcollection(const AliHFEcollection &c);
43   AliHFEcollection &operator=(const AliHFEcollection &c);
44   virtual ~AliHFEcollection();
45   
46
47   virtual void Browse(TBrowser*);
48
49   // Set & Create functions
50   Bool_t CreateTH1F(const char* name, const char* title, Int_t nBin, Float_t nMin, Float_t nMax);
51
52   Bool_t CreateTH2F(const char* name, const char* title, Int_t nBinX, Float_t nMinX, Float_t nMaxX, Int_t nBinY, Float_t nMinY, Float_t nMaxY);
53
54   Bool_t CreateTH1Fvector1(Int_t _X, const char* _name, const char* _title, Int_t _nBin, Float_t _nMin, Float_t _nMax);
55   Bool_t CreateTH2Fvector1(Int_t _X, const char* name, const char* title, Int_t nBinX, Float_t nMinX, Float_t nMaxX, Int_t nBinY, Float_t nMinY, Float_t nMaxY);
56
57   Bool_t CreateTH1Fvector2(Int_t _X, Int_t _Y, const char* _name, const char* _title, Int_t _nBin, Float_t _nMin, Float_t _nMax);
58   
59
60   Long64_t Merge(TCollection *list);
61
62   // Get functions
63   TList* GetList()  const  { return fListE; }
64   TObject* Get(const char* name); 
65   TObject* Get(const char* name, Int_t _X);
66   TObject* Get(const char* name, Int_t _X, Int_t _Y);
67
68  private:
69   Bool_t CheckObject(const char*);
70    void Copy(TObject &ref) const;
71
72  private:
73   TList*                           fListE;
74
75   ClassDef(AliHFEcollection, 1)
76
77 };
78
79 #endif