The Gaudi Framework  v30r3 (a5ef0a68)
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 
21 public:
24 
25  // Typedefs for container type
27  typedef VectPP::const_iterator const_iterator;
28  typedef VectPP::iterator iterator;
29 
41  virtual StatusCode push_back( const std::string& particle, int geantId, int jetsetId, double charge, double mass,
42  double tlife, const std::string& evtName, int pythiaId, double maxWidth ) = 0;
43 
48  virtual StatusCode push_back( ParticleProperty* pp ) = 0;
49 
51  virtual const_iterator begin() const = 0;
52 
54  virtual const_iterator end() const = 0;
55 
57  virtual int size() const = 0;
58 
60  virtual ParticleProperty* find( int geantId ) = 0;
61 
63  virtual ParticleProperty* findByStdHepID( int stdHepID ) = 0;
64 
66  virtual ParticleProperty* find( const std::string& name ) = 0;
67 
69  virtual ParticleProperty* findByPythiaID( int pythiaID ) = 0;
70 
72  virtual StatusCode erase( int geantId ) = 0;
73 
75  virtual StatusCode erase( const std::string& name ) = 0;
76 
78  virtual StatusCode eraseByStdHepID( int stdHepID ) = 0;
79 };
80 
81 #endif
VectPP::iterator iterator
A trivial class to hold information about a single particle properties.
std::vector< ParticleProperty * > VectPP
void push_back(Container &c, const Value &v, std::true_type)
constexpr auto size(const C &c) noexcept(noexcept(c.size())) -> decltype(c.size())
STL class.
General service interface definition.
Definition: IService.h:18
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
STL class.
This class is an interface to the ParticlePropertySvc.
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
AttribStringParser::Iterator begin(const AttribStringParser &parser)
#define GAUDI_API
Definition: Kernel.h:104
VectPP::const_iterator const_iterator