00001
00018 #ifndef STAR_StTreeMaker
00019 #define STAR_StTreeMaker
00020
00022
00023
00024
00026
00027 #ifndef StMaker_H
00028 #include "StMaker.h"
00029 #endif
00030 #include "StIOInterFace.h"
00031 #include "StTree.h"
00032 #include "TTable.h"
00033 #include "Ttypes.h"
00034 struct dst_bfc_status_st {
00035 Char_t maker_name[12];
00036 Int_t status;
00037 };
00038 class St_dst_bfc_status : public TTable {
00039 public:
00040 ClassDefTable(St_dst_bfc_status,dst_bfc_status_st)
00041 ClassDef(St_dst_bfc_status,1)
00042 };
00043
00044
00045 class StTreeMaker : public StIOInterFace {
00046 private:
00047 Int_t fFinished;
00048 St_dst_bfc_status *fBfcStatus;
00049 public:
00050 StTreeMaker(const Char_t *name="",const Char_t *ioFile="",const Char_t *treeName=0);
00051 virtual ~StTreeMaker();
00052 virtual Int_t Init();
00053 virtual Int_t Make();
00054 virtual Int_t MakeRead(const StUKey &RunEvent);
00055 virtual Int_t MakeRead(){StUKey uk; return MakeRead(uk);};
00056 virtual Int_t MakeWrite();
00057 Int_t MakeBfcStatus();
00058 virtual Int_t Finish();
00059 virtual Int_t Save();
00060 virtual Int_t Skip(int nskip);
00061 virtual void Clear(Option_t *opt);
00062 virtual Int_t Open(const Char_t *ioFile=0);
00063 virtual void Close(Option_t *opt=0);
00064 void UpdateTree(Int_t flag);
00065 void UpdateHddr();
00066 virtual void FillHistBranch(StBranch *histBr);
00067
00068
00069
00070 StTree *GetTree(){return fTree;};
00071 StBranch *GetBranch(const Char_t *brName)
00072 {if(!fTree)return 0;return (StBranch*)fTree->Find(brName);};
00073
00074 virtual const Char_t *GetCVS() const
00075 {static const Char_t cvs[]="Tag $Name: $ $Id: StTreeMaker.h,v 1.18 2010/04/07 13:07:47 fisyak Exp $ built "__DATE__" "__TIME__ ; return cvs;}
00076
00077 private:
00078 StTree *fTree;
00079 ClassDef(StTreeMaker, 0)
00080 };
00081
00082 #endif