ATLAS Offline Software
Loading...
Searching...
No Matches
IOverlapTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ASSOCIATIONUTILS_IOVERLAPTOOL_H
6#define ASSOCIATIONUTILS_IOVERLAPTOOL_H
7
8// Framework includes
9#include "AsgTools/IAsgTool.h"
11
12// EDM includes
14
15// Columnar includes
18
19namespace ORUtils
20{
21
30 class IOverlapTool : virtual public asg::IAsgTool
31 {
32
35
36 public:
37
43 virtual StatusCode findOverlaps(columnar::Particle1Range cont1,
45 columnar::EventContextId eventContext) const = 0;
46 StatusCode findOverlaps(const xAOD::IParticleContainer& cont1,
47 const xAOD::IParticleContainer& cont2,
48 const EventContext& eventContext = Gaudi::Hive::currentContext()) const {
49 return findOverlaps(
52 eventContext);
53 }
54
55 }; // class IOverlapTool
56
57} // namespace ORUtils
58
59#endif
#define ASG_TOOL_INTERFACE(CLASSNAME)
Interface class for overlap removal tools.
StatusCode findOverlaps(const xAOD::IParticleContainer &cont1, const xAOD::IParticleContainer &cont2, const EventContext &eventContext=Gaudi::Hive::currentContext()) const
virtual StatusCode findOverlaps(columnar::Particle1Range cont1, columnar::Particle2Range cont2, columnar::EventContextId eventContext) const =0
Declare the interface.
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
ObjectId< ContainerId::eventContext > EventContextId
ObjectRange< ContainerId::particle2 > Particle2Range
Definition ParticleDef.h:53
ObjectRange< ContainerId::particle1 > Particle1Range
Definition ParticleDef.h:47
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.