00001 #ifndef ASSOCIATIONUTILS_OVERLAPLINKHELPER_H 00002 #define ASSOCIATIONUTILS_OVERLAPLINKHELPER_H 00003 00004 // Framework includes 00005 #include "AsgTools/StatusCode.h" 00006 00007 // EDM includes 00008 #include "xAODBase/IParticleContainer.h" 00009 00010 // Local includes 00011 #include "AssociationUtils/OverlapRemovalDefs.h" 00012 00013 namespace ORUtils 00014 { 00015 00030 class OverlapLinkHelper 00031 { 00032 00033 public: 00034 00036 OverlapLinkHelper(const std::string& linkLabel); 00037 00039 StatusCode addObjectLink(const xAOD::IParticle& p1, 00040 const xAOD::IParticle& p2); 00041 00044 const xAOD::IParticle* getObjectLink(const xAOD::IParticle& p) const; 00045 00046 private: 00047 00049 ort::objLinkDecorator_t m_linkDecorator; 00051 ort::objLinkAccessor_t m_linkAccessor; 00052 00053 }; // class OverlapLinkHelper 00054 00055 } // namespace ORUtils 00056 00057 #endif