Make coherent ROOTLIBS definition
[u/mrichter/AliRoot.git] / ALIFAST / AliFMaker.h
CommitLineData
65a39007 1#ifndef AliFMaker_H
2#define AliFMaker_H
3
4//////////////////////////////////////////////////////////////////////////
5// //
6// AliFast virtual base class for Makers //
7// //
8//////////////////////////////////////////////////////////////////////////
9
10#ifndef ROOT_TNamed
11#include <TNamed.h>
12#endif
13#ifndef ROOT_TClonesArray
14#include <TClonesArray.h>
15#endif
16
17class TList;
18class TBrowser;
19class TChain;
20
21class AliFMaker : public TNamed {
22
23protected:
24
25 Bool_t fIsClonable; //!True if Maker objects are clonable
26 Int_t fSave; // = 1 if m-Maker to be saved in the Tree
27 TObject *fFruits; //Pointer to maker fruits (result)
28 TObject *fClones; //Pointer to clones of fruits
29 TString fBranchName; //Name of branch (if any)
30 TList *fHistograms; //Pointer to list supporting Maker histograms
31
32public:
33 AliFMaker();
34 AliFMaker(const char *name, const char *title);
35 virtual ~AliFMaker();
36 virtual void Browse(TBrowser *b);
37 virtual void Clear(Option_t *option="");
38 virtual void Draw(Option_t *option="");
39 virtual void Finish();
40 TList *Histograms() {return fHistograms;}
41 virtual void Init();
b21a3d1a 42 Bool_t IsFolder() const {return kTRUE;}
65a39007 43 TObject *Fruit() {return fFruits;}
44 TClonesArray *Fruits() {return (TClonesArray*)fFruits;}
45 TObject *Clones() {return fClones;}
46 virtual void FillClone();
47 virtual void Make() = 0;
48 virtual void PrintInfo();
49 virtual void MakeBranch();
50 virtual void Save(Int_t save=1) {fSave = save;}
51 virtual void SetChainAddress(TChain *chain);
52
53 ClassDef(AliFMaker, 1) //AliFast virtual base class for Makers
54};
55
56#endif
57
58
59
60
61
62
63
64
65
66
67
68
69