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
:
32
DeclareInterfaceID
(
IParticlePropertySvc
, 3, 0 );
33
34
// Typedefs for container type
35
typedef
std::vector<ParticleProperty*>
VectPP
;
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
details::size
constexpr auto size(const T &, Args &&...) noexcept
Definition:
AnyDataWrapper.h:24
IParticlePropertySvc::iterator
VectPP::iterator iterator
Definition:
IParticlePropertySvc.h:37
gaudiComponentHelp.name
name
Definition:
gaudiComponentHelp.py:52
ParticleProperty
A trivial class to hold information about a single particle properties.
Definition:
ParticleProperty.h:28
IParticlePropertySvc::VectPP
std::vector< ParticleProperty * > VectPP
Definition:
IParticlePropertySvc.h:35
std::string
STL class.
ranges::Gaudi::Functional::details::details2::push_back
void push_back(Container &c, const Value &v, std::true_type)
Definition:
FunctionalDetails.h:210
IService
General service interface definition.
Definition:
IService.h:28
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:61
IOTest.end
def end
Definition:
IOTest.py:123
IService.h
std::vector
STL class.
IParticlePropertySvc
This class is an interface to the ParticlePropertySvc.
Definition:
IParticlePropertySvc.h:28
compareOutputFiles.pp
pp
Definition:
compareOutputFiles.py:508
IService::DeclareInterfaceID
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
Gaudi::Utils::begin
AttribStringParser::Iterator begin(const AttribStringParser &parser)
Definition:
AttribStringParser.h:130
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:81
IParticlePropertySvc::const_iterator
VectPP::const_iterator const_iterator
Definition:
IParticlePropertySvc.h:36
GaudiKernel
GaudiKernel
IParticlePropertySvc.h
Generated on Mon Dec 16 2019 23:26:33 for The Gaudi Framework by
1.8.15