The Gaudi Framework  v33r0 (d5ea422b)
IParticlePropertySvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIKERNEL_IPARTICLEPROPERTYSVC_H
12 #define GAUDIKERNEL_IPARTICLEPROPERTYSVC_H
13 
14 // Include Files
15 #include "GaudiKernel/IService.h"
16 #include <vector>
17 
18 // Forward declarations.
19 class ParticleProperty;
20 
28 class GAUDI_API IParticlePropertySvc : virtual public IService {
29 
30 public:
33 
34  // Typedefs for container type
36  typedef VectPP::const_iterator const_iterator;
37  typedef VectPP::iterator iterator;
38 
50  virtual StatusCode push_back( const std::string& particle, int geantId, int jetsetId, double charge, double mass,
51  double tlife, const std::string& evtName, int pythiaId, double maxWidth ) = 0;
52 
57  virtual StatusCode push_back( ParticleProperty* pp ) = 0;
58 
60  virtual const_iterator begin() const = 0;
61 
63  virtual const_iterator end() const = 0;
64 
66  virtual int size() const = 0;
67 
69  virtual ParticleProperty* find( int geantId ) = 0;
70 
72  virtual ParticleProperty* findByStdHepID( int stdHepID ) = 0;
73 
75  virtual ParticleProperty* find( const std::string& name ) = 0;
76 
78  virtual ParticleProperty* findByPythiaID( int pythiaID ) = 0;
79 
81  virtual StatusCode erase( int geantId ) = 0;
82 
84  virtual StatusCode erase( const std::string& name ) = 0;
85 
87  virtual StatusCode eraseByStdHepID( int stdHepID ) = 0;
88 };
89 
90 #endif
constexpr auto size(const T &, Args &&...) noexcept
VectPP::iterator iterator
A trivial class to hold information about a single particle properties.
std::vector< ParticleProperty * > VectPP
STL class.
void push_back(Container &c, const Value &v, std::true_type)
General service interface definition.
Definition: IService.h:28
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:61
def end
Definition: IOTest.py:123
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:81
VectPP::const_iterator const_iterator