ATLAS Offline Software
Loading...
Searching...
No Matches
ViewCreatorInitialROITool.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
11ViewCreatorInitialROITool::ViewCreatorInitialROITool(const std::string& type, const std::string& name, const IInterface* parent)
12 : base_class(type, name, parent)
13 {}
14
16 // Locate "initialRoI" 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, initialRoIString(), TrigDefs::lastFeatureOfType);
19
20 if (myROI.size() != 1) {
21 ATH_MSG_ERROR("Did not find exactly one '" << initialRoIString() << "' for Decision object index " << outputDecision->index()
22 << ", found " << myROI.size() << ". Unable to supply single ROI to spawn EventView on.");
23 for (const auto& li : myROI) {
24 ATH_MSG_ERROR(" -- " << li.link.dataID() << ":" << li.link.index() << ". Dump:" << *(li.source));
25 }
26 }
27
28 outputDecision->setObjectLink(roiString(), myROI.at(0).link);
29 }
30 return StatusCode::SUCCESS;
31}
#define ATH_MSG_ERROR(x)
ViewCreatorInitialROITool(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode attachROILinks(TrigCompositeUtils::DecisionContainer &decisions, const EventContext &ctx) const override
Tool interface method.
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...
const std::string & initialRoIString()
static const unsigned int lastFeatureOfType
Run 3 "enum". Only return the final feature along each route through the navigation.