|
Gaudi Framework, version v21r8 |
| Home | Generated: 17 Mar 2010 |
00001 #ifndef __PARTPROPSVC_H__ 00002 #define __PARTPROPSVC_H__ 00003 00004 #include "GaudiKernel/Service.h" 00005 #include "GaudiKernel/IPartPropSvc.h" 00006 #include "HepPDT/ParticleDataTable.hh" 00007 00008 #include <vector> 00009 #include <string> 00010 00011 // Forward declarations 00012 template <class TYPE> class SvcFactory; 00013 00014 //------------------------------------------------------------------ 00015 // 00016 // ClassName: PartPropSvc 00017 // 00018 // Description: This service provides access to particle properties. 00019 // Uses HepPDT as the underlying layer 00020 // 00021 // Author: Charles Leggett 00022 // 00023 // Date: 3-8-2001 00024 // 00025 //------------------------------------------------------------------ 00026 00027 class PartPropSvc: public extends1<Service, IPartPropSvc> { 00028 00029 public: 00030 00031 virtual StatusCode initialize(); 00032 virtual StatusCode finalize(); 00033 00034 // The table 00035 HepPDT::ParticleDataTable *PDT() { return m_pdt; }; 00036 00037 protected: 00038 00039 PartPropSvc( const std::string& name, ISvcLocator* svc ); 00040 00041 // Destructor. 00042 virtual ~PartPropSvc(); 00043 00044 private: 00045 00046 // Allow SvcFactory to instantiate the service. 00047 friend class SvcFactory<PartPropSvc>; 00048 00049 std::string m_inputType; 00050 std::vector<std::string> m_pdtFiles; 00051 00052 HepPDT::ParticleDataTable *m_pdt; 00053 00054 }; 00055 00056 #endif