00001 /* 00002 * 2004/09/10 Zhengyun You Peking University 00003 * 00004 */ 00005 00006 // $Id: MucGeomSvc.h,v 1.4 2006/11/23 08:55:10 liangyt Exp $ // -*-c++-*- 00007 // header file for a class called "MucGeomSvc" 00008 #ifndef MUC_GEOM_SVC_H 00009 #define MUC_GEOM_SVC_H 00010 00011 #include <vector> 00012 #include <iostream> 00013 00014 //#include "BesGeoMuc/DB2BesGeoMuc.h" 00015 #include "MucGeomSvc/MucGeoGeneral.h" 00016 #include "MucGeomSvc/MucGeoGap.h" 00017 #include "MucGeomSvc/MucGeoStrip.h" 00018 #include "MucGeomSvc/IMucGeomSvc.h" 00019 #include "G4Geo/MucG4Geo.h" 00020 00021 #include "GaudiKernel/Service.h" 00022 #include "GaudiKernel/IInterface.h" 00023 00024 class MucGeomSvc : public Service, virtual public IMucGeomSvc 00025 { 00026 public: 00027 // Constructors and destructors 00028 MucGeomSvc( const std::string& name, ISvcLocator* svcloc ); 00029 ~MucGeomSvc(); 00030 00031 virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvUnknown); 00032 virtual StatusCode initialize ( ); 00033 virtual StatusCode finalize ( ); 00034 00035 // Access by others 00036 virtual const MucGeoGeneral * const GetGeoGeneral(); 00037 virtual const MucGeoGap * const GetGap(int part, int seg, int gap); 00038 virtual const MucGeoStrip * const GetStrip(int part, int seg, int gap, int strip); 00039 virtual const MucG4Geo * const GetMucG4Geo(); 00040 00041 virtual void Dump(); 00042 00043 // private method 00044 private: 00045 void Fill(); 00046 00047 // private data members 00048 private: 00049 MucGeoGeneral *m_pMucGeoGeneral; 00050 MucG4Geo *m_pMucG4Geo; 00051 int m_Geometry; //0: G4 ; 1: Root 00052 }; 00053 00054 #endif /* MUC_GEOM_SVC_H */ 00055 00056