00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IParticlePropertySvc.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $ 00002 #ifndef GAUDIKERNEL_IPARTICLEPROPERTYSVC_H 00003 #define GAUDIKERNEL_IPARTICLEPROPERTYSVC_H 00004 00005 // Include Files 00006 #include <map> 00007 #include "GaudiKernel/IService.h" 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, 1 , 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 00043 virtual StatusCode push_back( const std::string& particle, 00044 int geantId, int jetsetId, int type, 00045 double charge, double mass, double tlife ) = 0; 00046 00051 virtual StatusCode push_back( ParticleProperty* pp ) = 0; 00052 00054 virtual const_iterator begin() const = 0; 00055 00057 virtual const_iterator end() const = 0; 00058 00060 virtual int size() const = 0; 00061 00063 virtual ParticleProperty* find( int geantId ) = 0; 00064 00066 virtual ParticleProperty* findByStdHepID( int stdHepID ) = 0; 00067 00069 virtual ParticleProperty* find( const std::string& name ) = 0; 00070 00072 virtual StatusCode erase( int geantId ) = 0; 00073 00075 virtual StatusCode erase( const std::string& name ) = 0; 00076 00078 virtual StatusCode eraseByStdHepID( int stdHepID ) = 0; 00079 00080 }; 00081 00082 #endif 00083 00084
1.2.3 written by Dimitri van Heesch,
© 1997-2000