The Gaudi Framework  master (01b473db)
IDataBroker.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 \***********************************************************************************/
11 #pragma once
12 
13 #include <GaudiKernel/DataObjID.h>
14 #include <GaudiKernel/IInterface.h>
16 #include <string>
17 #include <vector>
18 
19 namespace Gaudi {
20  class Algorithm;
21 }
22 
37 struct GAUDI_API IDataBroker : extend_interfaces<IInterface> {
40 
42  virtual std::vector<Gaudi::Algorithm*>
43  algorithmsRequiredFor( const DataObjIDColl& requested, const std::vector<std::string>& stoppers = {} ) const = 0;
44 
47  virtual std::vector<Gaudi::Algorithm*>
49  const std::vector<std::string>& stoppers = {} ) const = 0;
50 };
IDataBroker::algorithmsRequiredFor
virtual std::vector< Gaudi::Algorithm * > algorithmsRequiredFor(const Gaudi::Utils::TypeNameString &alg, const std::vector< std::string > &stoppers={}) const =0
Get the (ordered!) list of algorithms required to succesfully execute (as far as data dependencies go...
IDataBroker::DeclareInterfaceID
DeclareInterfaceID(IDataBroker, 1, 0)
InterfaceID.
Algorithm
Alias for backward compatibility.
Definition: Algorithm.h:58
DataObjID.h
extend_interfaces
Base class to be used to extend an interface.
Definition: extend_interfaces.h:14
ManySmallAlgs.alg
alg
Definition: ManySmallAlgs.py:81
IDataBroker::algorithmsRequiredFor
virtual std::vector< Gaudi::Algorithm * > algorithmsRequiredFor(const DataObjIDColl &requested, const std::vector< std::string > &stoppers={}) const =0
Get the (ordered!) list of algorithms required to provide a given DataObjIDColl.
Gaudi::Utils::TypeNameString
Helper class to parse a string of format "type/name".
Definition: TypeNameString.h:19
IInterface.h
IDataBroker
Definition: IDataBroker.h:37
DataObjIDColl
std::unordered_set< DataObjID, DataObjID_Hasher > DataObjIDColl
Definition: DataObjID.h:121
TypeNameString.h
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49