ATLAS Offline Software
Loading...
Searching...
No Matches
IObjectAssociator.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_IOBJECTASSOCIATOR_H
6#define ASSOCIATIONUTILS_IOBJECTASSOCIATOR_H
7
8// EDM includes
10
11// Columnar includes
14
15namespace ORUtils
16{
17
23 {
24 public:
27
31 virtual StatusCode setObjectTypes (xAODType::ObjectType type1,
32 xAODType::ObjectType type2) = 0;
33
36 columnar::Particle2Id p2, bool swapArgs = false) const = 0;
38 columnar::Particle1Id p1) const
39 { return objectsMatch(p1, p2, true); }
40 };
41
42} // namespace ORUtils
43
44#endif
Interface for a class which checks for a match between IParticles.
virtual StatusCode setObjectTypes(xAODType::ObjectType type1, xAODType::ObjectType type2)=0
Set the object types to be used in the association.
bool objectsMatch(columnar::Particle2Id p2, columnar::Particle1Id p1) const
virtual bool objectsMatch(columnar::Particle1Id p1, columnar::Particle2Id p2, bool swapArgs=false) const =0
Test association between two IParticles.
virtual ~IParticleAssociator()
Virtual destructor.
the base class for all columnar components
ObjectId< ContainerId::particle1 > Particle1Id
Definition ParticleDef.h:48
ObjectId< ContainerId::particle2 > Particle2Id
Definition ParticleDef.h:54
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition ObjectType.h:32