ATLAS Offline Software
Loading...
Searching...
No Matches
ViewCreatorNamedROITool.cxx
Go to the documentation of this file.
1
2/*
3Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4*/
5
8
9using namespace TrigCompositeUtils;
10
11ViewCreatorNamedROITool::ViewCreatorNamedROITool(const std::string& type, const std::string& name, const IInterface* parent)
12 : base_class(type, name, parent)
13 {}
14
15StatusCode ViewCreatorNamedROITool::attachROILinks(TrigCompositeUtils::DecisionContainer& decisions, const EventContext&) const {
16 // Locate "NamedRoI" for each Decision object, re-attach the ElementLink as "roi" to the current Decision object.
17 for ( Decision* outputDecision : decisions ) {
18 const std::vector<LinkInfo<TrigRoiDescriptorCollection>> myROI = findLinks<TrigRoiDescriptorCollection>(outputDecision, m_roiLinkName, TrigDefs::lastFeatureOfType);
19
20 if (myROI.size() != 1) {
21 ATH_MSG_ERROR("Did not find exactly one '" << m_roiLinkName << "' for Decision object index " << outputDecision->index()
22 << ", found " << myROI.size() << ". Unable to supply single ROI to spawn EventView on.");
23 }
24
25 outputDecision->setObjectLink(roiString(), myROI.at(0).link);
26 }
27 return StatusCode::SUCCESS;
28}
#define ATH_MSG_ERROR(x)
Gaudi::Property< std::string > m_roiLinkName
virtual StatusCode attachROILinks(TrigCompositeUtils::DecisionContainer &decisions, const EventContext &ctx) const override
Tool interface method.
ViewCreatorNamedROITool(const std::string &type, const std::string &name, const IInterface *parent)
const std::string & roiString()
void findLinks(const Decision *start, const std::string &linkName, std::vector< LinkInfo< T > > &links, unsigned int behaviour=TrigDefs::allFeaturesOfType, std::set< const xAOD::TrigComposite * > *fullyExploredFrom=nullptr)
search back the TC links for the object of type T linked to the one of TC (recursively) Populates pro...
static const unsigned int lastFeatureOfType
Run 3 "enum". Only return the final feature along each route through the navigation.