Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IParticlePropertySvc.h

Go to the documentation of this file.
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 

Generated at Wed Nov 21 12:22:04 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000