![]() |
|
|
Generated: 8 Jan 2009 |
00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IParticlePropertySvc.h,v 1.4 2004/03/04 13:30:35 mato Exp $ 00002 #ifndef GAUDIKERNEL_IPARTICLEPROPERTYSVC_H 00003 #define GAUDIKERNEL_IPARTICLEPROPERTYSVC_H 00004 00005 // Include Files 00006 #include "GaudiKernel/IService.h" 00007 #include <vector> 00008 00009 // Forward declarations. 00010 class ParticleProperty; 00011 00012 // Declaration of the interface ID ( interface id, major version, minor version) 00013 static const InterfaceID IID_IParticlePropertySvc(70, 2 , 0); 00014 00022 class IParticlePropertySvc : virtual public IService { 00023 00024 public: 00025 // Typedefs for container type 00026 typedef std::vector<ParticleProperty*> VectPP; 00027 typedef VectPP::const_iterator const_iterator; 00028 typedef VectPP::iterator iterator; 00029 00031 static const InterfaceID& interfaceID() { return IID_IParticlePropertySvc; } 00032 00044 virtual StatusCode push_back( const std::string& particle, 00045 int geantId, int jetsetId, 00046 double charge, double mass, double tlife , 00047 const std::string& evtName , int pythiaId , 00048 double maxWidth ) = 0; 00049 00054 virtual StatusCode push_back( ParticleProperty* pp ) = 0; 00055 00057 virtual const_iterator begin() const = 0; 00058 00060 virtual const_iterator end() const = 0; 00061 00063 virtual int size() const = 0; 00064 00066 virtual ParticleProperty* find( int geantId ) = 0; 00067 00069 virtual ParticleProperty* findByStdHepID( int stdHepID ) = 0; 00070 00072 virtual ParticleProperty* find( const std::string& name ) = 0; 00073 00075 virtual ParticleProperty* findByPythiaID( int pythiaID ) =0; 00076 00078 virtual StatusCode erase( int geantId ) = 0; 00079 00081 virtual StatusCode erase( const std::string& name ) = 0; 00082 00084 virtual StatusCode eraseByStdHepID( int stdHepID ) = 0; 00085 00086 }; 00087 00088 #endif 00089 00090