The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
DataHandleFinder.cpp
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
12
14
16 if ( !visitee ) { return; }
17
18 // See if the handle holder we're visiting contains the target
19 for ( auto& handle : visitee->inputHandles() ) {
20 if ( handle->fullKey() == m_target ) {
21 m_holderNames.push_back( visitee->name() );
22 return;
23 }
24 }
25
26 for ( auto& handle : visitee->extraInputDeps() ) {
27 if ( handle == m_target ) {
28 m_holderNames.push_back( visitee->name() );
29 return;
30 }
31 }
32
33 for ( auto& handle : visitee->inputDataObjs() ) {
34 if ( handle == m_target ) {
35 m_holderNames.push_back( visitee->name() );
36 return;
37 }
38 }
39}
std::vector< std::string > m_holderNames
DataObjID const & m_target
DataHandleFinder(DataObjID const &target)
void visit(const IDataHandleHolder *visitee) override
virtual std::vector< Gaudi::DataHandle * > inputHandles() const =0
virtual const DataObjIDColl & inputDataObjs() const =0
virtual const DataObjIDColl & extraInputDeps() const =0
virtual const std::string & name() const =0
Retrieve the name of the instance.