![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef _DynamicDataHelper_H_
6 #define _DynamicDataHelper_H_
10 #include "GaudiKernel/StatusCode.h"
16 std::size_t
operator()(
const DataObjID*
k )
const {
return DataObjID_Hasher()(*k); }
19 std::size_t
operator()(
const DataObjID*
a,
const DataObjID*
b)
const {
return *
a == *
b; }
21 using DataObjIDPtrColl = std::unordered_set<const DataObjID *, DataObjID_PtrHasher, DataObjID_PtrEqual>;
59 bool updateDataNeeds(
const std::vector<const DataObjID *> &input_data_in,
60 const std::vector<const DataObjID *> &output_data_in,
61 std::vector<const DataObjID *> &input_data_out,
62 std::vector<const DataObjID *> &output_data_out,
69 std::unordered_map< IDynamicDataConsumer *,std::vector<Gaudi::Algorithm *> >
m_dynDataConsumer;
std::size_t operator()(const DataObjID *k) const
Helper class to gather all declared data IDs and propagate them to components which declare data depe...
std::unordered_set< const DataObjID *, DataObjID_PtrHasher, DataObjID_PtrEqual > DataObjIDPtrColl
std::vector< DataObjID > m_extraOutputIDs
::StatusCode StatusCode
StatusCode definition for legacy code.
std::size_t operator()(const DataObjID *a, const DataObjID *b) const
DataObjIDPtrColl m_outputHandles
void gatherDataHandlesAndDynamicConsumers(const std::string &parent_name, Gaudi::Algorithm *theAlgorithm)
Gather the input and output data declared by the given algorithm, its child algorithms and their tool...
DataObjIDPtrColl m_inputHandles
void updateDataNeeds(unsigned int max_pass, MsgStream &out)
Update the data dependencies of all components which dynamically declare tehm.
std::unordered_map< IDynamicDataConsumer *, std::vector< Gaudi::Algorithm * > > m_dynDataConsumer
StatusCode addExtraDependencies(IClassIDSvc &clid_svc, std::vector< std::string > &undeclared_output_data, MsgStream &out)
Add extra output data which is not declared by any of the gathered components.