All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IParticlePropertySvc.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IParticlePropertySvc.h,v 1.4 2004/03/04 13:30:35 mato Exp $
2 #ifndef GAUDIKERNEL_IPARTICLEPROPERTYSVC_H
3 #define GAUDIKERNEL_IPARTICLEPROPERTYSVC_H
4 
5 // Include Files
6 #include "GaudiKernel/IService.h"
7 #include <vector>
8 
9 // Forward declarations.
10 class ParticleProperty;
11 
19 class GAUDI_API IParticlePropertySvc: virtual public IService {
20 
21 public:
24 
25  // Typedefs for container type
26  typedef std::vector<ParticleProperty*> VectPP;
27  typedef VectPP::const_iterator const_iterator;
28  typedef VectPP::iterator iterator;
29 
41  virtual StatusCode push_back( const std::string& particle,
42  int geantId, int jetsetId,
43  double charge, double mass, double tlife ,
44  const std::string& evtName , int pythiaId ,
45  double maxWidth ) = 0;
46 
51  virtual StatusCode push_back( ParticleProperty* pp ) = 0;
52 
54  virtual const_iterator begin() const = 0;
55 
57  virtual const_iterator end() const = 0;
58 
60  virtual int size() const = 0;
61 
63  virtual ParticleProperty* find( int geantId ) = 0;
64 
66  virtual ParticleProperty* findByStdHepID( int stdHepID ) = 0;
67 
69  virtual ParticleProperty* find( const std::string& name ) = 0;
70 
72  virtual ParticleProperty* findByPythiaID( int pythiaID ) =0;
73 
75  virtual StatusCode erase( int geantId ) = 0;
76 
78  virtual StatusCode erase( const std::string& name ) = 0;
79 
81  virtual StatusCode eraseByStdHepID( int stdHepID ) = 0;
82 
84  virtual ~IParticlePropertySvc() {}
85 };
86 
87 #endif
88 
89 
VectPP::iterator iterator
A trivial class to hold information about a single particle properties.
std::vector< ParticleProperty * > VectPP
virtual ~IParticlePropertySvc()
virtual destructor
DeclareInterfaceID(IService, 3, 0)
InterfaceID.
General service interface definition.
Definition: IService.h:19
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
tuple end
Definition: IOTest.py:101
This class is an interface to the ParticlePropertySvc.
#define GAUDI_API
Definition: Kernel.h:108
VectPP::const_iterator const_iterator