00001 #ifndef SoHepMC_SoHepMCSvc_h 00002 #define SoHepMC_SoHepMCSvc_h 00003 00004 // Gaudi : 00005 #include <GaudiKernel/Service.h> 00006 00007 template <typename T> class SvcFactory; 00008 00009 class IUserInterfaceSvc; 00010 class IDataProviderSvc; 00011 class IParticlePropertySvc; 00012 class IToolSvc; 00013 00014 class SoHepMCSvc : public Service { 00015 public: //IService 00016 virtual StatusCode initialize(); 00017 virtual StatusCode finalize(); 00018 protected: 00019 // No instantiation via new, only via the factory. 00020 SoHepMCSvc(const std::string&,ISvcLocator*); 00021 virtual ~SoHepMCSvc(); 00022 friend class SvcFactory<SoHepMCSvc>; 00023 IUserInterfaceSvc* m_uiSvc; 00024 IDataProviderSvc* m_eventDataSvc; 00025 IParticlePropertySvc* m_particlePropertySvc; 00026 }; 00027 00028 #endif