IParticlePropertySvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IPARTICLEPROPERTYSVC_H
2 #define GAUDIKERNEL_IPARTICLEPROPERTYSVC_H
3 
4 // Include Files
5 #include "GaudiKernel/IService.h"
6 #include <vector>
7 
8 // Forward declarations.
9 class ParticleProperty;
10 
18 class GAUDI_API IParticlePropertySvc: virtual public IService {
19 
20 public:
23 
24  // Typedefs for container type
26  typedef VectPP::const_iterator const_iterator;
27  typedef VectPP::iterator iterator;
28 
40  virtual StatusCode push_back( const std::string& particle,
41  int geantId, int jetsetId,
42  double charge, double mass, double tlife ,
43  const std::string& evtName , int pythiaId ,
44  double maxWidth ) = 0;
45 
50  virtual StatusCode push_back( ParticleProperty* pp ) = 0;
51 
53  virtual const_iterator begin() const = 0;
54 
56  virtual const_iterator end() const = 0;
57 
59  virtual int size() const = 0;
60 
62  virtual ParticleProperty* find( int geantId ) = 0;
63 
65  virtual ParticleProperty* findByStdHepID( int stdHepID ) = 0;
66 
68  virtual ParticleProperty* find( const std::string& name ) = 0;
69 
71  virtual ParticleProperty* findByPythiaID( int pythiaID ) =0;
72 
74  virtual StatusCode erase( int geantId ) = 0;
75 
77  virtual StatusCode erase( const std::string& name ) = 0;
78 
80  virtual StatusCode eraseByStdHepID( int stdHepID ) = 0;
81 
82 };
83 
84 #endif
85 
86 
VectPP::iterator iterator
A trivial class to hold information about a single particle properties.
std::vector< ParticleProperty * > VectPP
auto begin(reverse_wrapper< T > &w)
Definition: reverse.h:47
STL class.
General service interface definition.
Definition: IService.h:18
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
auto end(reverse_wrapper< T > &w)
Definition: reverse.h:49
STL class.
This class is an interface to the ParticlePropertySvc.
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
#define GAUDI_API
Definition: Kernel.h:107
VectPP::const_iterator const_iterator