00001 #ifndef ROOT_FILE_WRITER_H 00002 #define ROOT_FILE_WRITER_H 00003 00004 #include "RootEventData/TBossFullEvent.h" 00005 #include <string> 00006 00007 class TFile; 00008 class TTree; 00009 class TJobInfo; 00010 00011 class RootFileWriter 00012 { 00013 public : 00014 00015 typedef const std::string WriterArgType; 00016 00017 RootFileWriter(WriterArgType& fname); 00018 virtual ~RootFileWriter(); 00019 00020 int writeEvent(void* pevt, int size); 00021 int close(); 00022 00023 int stat(); 00024 00025 00026 private : 00027 00028 RootFileWriter(); //stop default 00029 00030 std::string getJobOptions(); 00031 std::string getDecayOptions(); 00032 00033 00034 private : 00035 00036 TFile* m_file; 00037 TTree* m_tree; 00038 TTree* m_jtree; 00039 TBossFullEvent* m_evt; 00040 TJobInfo* m_jobInfo; 00041 std::string m_fname; 00042 00043 bool m_firstRound; 00044 int m_stat; 00045 }; 00046 00047 #endif