| # Gaudi Framework, version v20r4
Generated: 8 Jan 2009

# IParticlePropertySvc.h

Go to the documentation of this file.

    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