00001 //---------------------------------------------------------------------------// 00002 // BOOST --- BESIII Object_Oriented Simulation Tool // 00003 //---------------------------------------------------------------------------// 00004 //Description: class for BesRunAction (simple) 00005 //Author: Liuhm 00006 //Created: May 25, 2003 00007 //Modified: 00008 //Comment: 00009 //---------------------------------------------------------------------------// 00010 00011 #ifndef BesRunAction_h 00012 #define BesRunAction_h 1 00013 00014 #include "G4UserRunAction.hh" 00015 #include "globals.hh" 00016 #include <vector> 00017 class G4Run; 00018 class BesRunActionMessenger; 00019 class BesAsciiIO; 00020 class BesRootIO; 00021 class BesTDSWriter; 00022 class BesTuningIO; 00023 00024 class BesRunAction : public G4UserRunAction 00025 { 00026 public: 00027 BesRunAction(); 00028 ~BesRunAction(); 00029 00030 public: 00031 void BeginOfRunAction(const G4Run*); 00032 void EndOfRunAction(const G4Run*); 00033 00034 G4int GetRunId() {return m_runId;} 00035 G4int GetMCTruthFlag() {return m_MCTruthFlag;} 00036 BesAsciiIO* GetAsciiIO() {return m_asciiIO;} 00037 BesRootIO* GetRootIO() {return m_rootIO;} 00038 BesTuningIO* GetTuningIO() {return m_tuningIO;} 00039 00040 G4bool GetTDSFlag() {return m_TDSFlag;} 00041 BesTDSWriter* GetTDSWriter() {return m_TDSWriter;} 00042 00043 void SetMCTruthFlag(G4int flag) {m_MCTruthFlag = flag;} 00044 00045 /*void SetMdcTruFlag(G4int flag) {m_mdcTruFlag = flag;} 00046 void SetTofTruFlag(G4int flag) {m_tofTruFlag = flag;} 00047 void SetEmcTruFlag(G4int flag) {m_emcTruFlag = flag;} 00048 void SetMucTruFlag(G4int flag) {m_mucTruFlag = flag;} 00049 00050 void SetMdcDigiFlag(G4int flag) {m_mdcDigiFlag = flag;} 00051 void SetTofDigiFlag(G4int flag) {m_tofDigiFlag = flag;} 00052 void SetEmcDigiFlag(G4int flag) {m_emcDigiFlag = flag;} 00053 void SetMucDigiFlag(G4int flag) {m_mucDigiFlag = flag;} 00054 */ 00055 void SetAsciiFlag( std::string flag) {m_asciiFlag = flag;} 00056 void SetAsciiFile( std::string file) {m_asciiFile = file;} 00057 void SetRootFlag( G4bool flag) {m_rootFlag = flag;} 00058 void SetRootFile( std::string file) {m_rootFile = file;} 00059 void SetTuningFile(std::vector<std::string> file) {m_tuningFile = file;} 00060 00061 void SetTDSFlag(G4bool flag) {m_TDSFlag = flag;} 00062 00063 private: 00064 G4int m_runId; 00065 G4int m_MCTruthFlag; 00066 00067 /*G4int m_mdcTruFlag; 00068 G4int m_tofTruFlag; 00069 G4int m_emcTruFlag; 00070 G4int m_mucTruFlag; 00071 00072 G4int m_mdcDigiFlag; 00073 G4int m_tofDigiFlag; 00074 G4int m_emcDigiFlag; 00075 G4int m_mucDigiFlag; 00076 */ 00077 std::string m_asciiFlag; 00078 std::string m_asciiFile; 00079 G4bool m_rootFlag; 00080 std::string m_rootFile; 00081 std::vector<std::string> m_tuningFile; 00082 00083 BesAsciiIO* m_asciiIO; 00084 BesRootIO* m_rootIO; 00085 BesTuningIO* m_tuningIO; 00086 00087 G4bool m_TDSFlag; 00088 BesTDSWriter* m_TDSWriter; 00089 00090 BesRunActionMessenger* m_runMessenger; 00091 }; 00092 00093 #endif 00094