00001 #ifndef ASSOCIATIONUTILS_OBJLINKOVERLAPTOOL_H
00002 #define ASSOCIATIONUTILS_OBJLINKOVERLAPTOOL_H
00003
00004
00005 #include "AsgTools/AsgTool.h"
00006
00007
00008 #include "AssociationUtils/IOverlapTool.h"
00009 #include "AssociationUtils/BaseOverlapTool.h"
00010
00011 namespace ORUtils
00012 {
00013
00024 class ObjLinkOverlapTool : public virtual IOverlapTool,
00025 public BaseOverlapTool
00026 {
00027
00029 ASG_TOOL_CLASS(ObjLinkOverlapTool, IOverlapTool)
00030
00031 public:
00032
00034 ObjLinkOverlapTool(const std::string& name);
00035
00038 virtual StatusCode
00039 findOverlaps(const xAOD::IParticleContainer& cont1,
00040 const xAOD::IParticleContainer& cont2) const override;
00041
00042 protected:
00043
00045 virtual StatusCode initializeDerived() override;
00046
00047 private:
00048
00049
00050
00051
00052
00053
00054
00055
00056
00058 std::unique_ptr<OverlapLinkHelper> m_objLinkHelper;
00059
00060 };
00061
00062 }
00063
00064 #endif