19#include <fmt/format.h>
26 : Producer( name, pSvcLocator, KeyValue(
"InputFileLeavesLocation",
"/Event/InputFileLeaves" ) ) {}
34 return Producer::finalize();
42 "Name of the data service to use" };
53 return Producer::initialize().
andThen( [&]() {
77 std::string failure_msg;
83 if ( origin.empty() ) {
95 failure_msg = fmt::format(
"failed to retrieve {} from {}",
103 all_leaves.push_back( obj );
112 .orThrow( failure_msg, name() );
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
#define DECLARE_COMPONENT(type)
A DataObject is the base class of any identifiable object on any data store.
SmartIF< IDataManagerSvc > m_dataMgrSvc
IDataStoreLeaves::LeavesList i_collectLeaves() const
Gaudi::Property< std::string > m_dataSvcName
Gaudi::Property< std::string > m_rootNode
StatusCode finalize() override
FetchLeavesFromFile(const std::string &name, ISvcLocator *pSvcLocator)
IDataStoreLeaves::LeavesList operator()() const override
StatusCode initialize() override
Implementation of property with value of concrete type.
Define general base for Gaudi exception.
virtual StatusCode retrieveObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
std::vector< DataObject * > LeavesList
Returned type.
virtual const std::string * par() const =0
Retrieve String parameters.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
virtual const id_type & identifier() const =0
Full identifier (or key)
virtual DataObject * object() const =0
Retrieve object behind the link.
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.
virtual IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Small smart pointer class with automatic reference counting for IInterface.
This class is used for returning status codes from appropriate routines.
StatusCode orElse(F &&f, ARGS &&... args) const
Chain code blocks making the execution conditional a failure result.
StatusCode andThen(F &&f, ARGS &&... args) const
Chain code blocks making the execution conditional a success result.
constexpr static const auto SUCCESS
constexpr static const auto FAILURE
details::Producer< Signature, Traits_, details::isLegacy< Traits_ > > Producer
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...