00001 #ifndef BesSim_h 00002 #define BesSim_h 1 00003 00004 #include "GaudiKernel/Algorithm.h" 00005 #include "GaudiKernel/IEvtSelector.h" 00006 00007 class IBesRndmGenSvc; 00008 class G4Svc; 00009 00011 00012 class BesSim:public Algorithm { 00013 public: 00014 BesSim(const std::string& name, ISvcLocator* pSvcLocator); 00015 StatusCode initialize(); 00016 StatusCode execute(); 00017 StatusCode finalize(); 00018 00019 StatusCode bookMdcRootFile(); 00020 StatusCode bookTofRootFile(); 00021 StatusCode bookEmcRootFile(); 00022 StatusCode bookMucRootFile(); 00023 00024 StatusCode beginRun(); 00025 00026 private: 00027 int m_nEvent; 00028 int m_nRun; 00029 G4Svc* m_G4Svc; 00030 00031 int m_mdc; 00032 int m_tof; 00033 int m_emc; 00034 int m_muc; 00035 int m_pipeSCM; 00036 int m_field; 00037 int m_physicsList; 00038 int m_formatAR; 00039 int m_tuning; 00040 int m_hitOut; 00041 bool m_TDSFlag; 00042 double newcut; 00043 std::vector<std::string> m_tuningFile; 00044 std::string m_asciiFlag; 00045 std::string m_asciiFile; 00046 bool m_rootFlag; 00047 std::string m_rootFile; 00048 00049 00050 00051 //caogf for random seed 00052 IBesRndmGenSvc* p_BesRndmGenSvc; 00053 00054 int m_logLevel; 00055 }; 00056 #endif