8 #include <boost/tokenizer.hpp> 19 :
Gaudi::DataHandle( other )
20 , m_EDS(
std::move( other.m_EDS ) )
21 , m_MS(
std::move( other.m_MS ) )
22 , m_init( other.m_init )
23 , m_optional( other.m_optional )
24 , m_wasRead( other.m_wasRead )
25 , m_wasWritten( other.m_wasWritten )
26 , m_searchDone( other.m_searchDone ) {
35 Gaudi::DataHandle::operator=( other );
48 :
Gaudi::DataHandle( k, a, owner ) {
91 auto tokens = boost::tokenizer<boost::char_separator<char>>{
objKey(), boost::char_separator<char>{
":"}};
95 if ( alt != tokens.end() ) {
97 log <<
MSG::DEBUG <<
": could not find \"" <<
objKey() <<
"\" -- using alternative source: \"" << *alt
120 case Gaudi::DataHandle::Mode::Writer:
139 if ( !
owner() )
return false;
virtual Mode mode() const
void setWritten(bool wasWritten=true)
Definition of the MsgStream class used to transmit messages.
virtual ~DataObjectHandleBase()
Define general base for Gaudi exception.
const SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
virtual void declare(Gaudi::DataHandle &)=0
static const std::string default_type
virtual IDataHandleHolder * owner() const
std::string pythonRepr() const override
virtual const std::string & objKey() const
SmartIF< IDataProviderSvc > m_EDS
SmartIF< IDataProviderSvc > & evtSvc() const
shortcut for method eventSvc
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
virtual void renounce(Gaudi::DataHandle &)=0
virtual void setKey(const DataObjID &key) const
void setRead(bool wasRead=true)
bool m_searchDone
Whether the search part of the fetch method (so dealing with alt names was already executed or not.
Provide serialization function (output only) for some common STL classes (vectors,...
virtual const std::string & name() const =0
Retrieve the name of the instance.
DataObjectHandleBase & operator=(const DataObjectHandleBase &)
virtual const DataObjID & fullKey() const
This class is used for returning status codes from appropriate routines.
std::ostream & operator<<(std::ostream &str, const DataObjectHandleBase &d)
bool isOptional() const
Check if the data object declared is optional for the algorithm.
IDataHandleHolder * m_owner
const DataObjID INVALID_DATAOBJID
void fromString(const std::string &s)
const StatusCode & ignore() const
Ignore/check StatusCode.
virtual StatusCode retrieveObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
DataObjectHandleBase GaudiKernel/DataObjectHandleBase.h.
DataObject * fetch() const
std::mutex m_searchMutex
A Mutex protecting the calls to the search part of the fetch method, so that we are sure that we only...
Base class from which all concrete algorithm classes should be derived.
constexpr static const auto FAILURE
std::string toString() const
SmartIF< IMessageSvc > m_MS
A DataObject is the base class of any identifiable object on any data store.
Header file for std:chrono::duration-based Counters.
def Reader(readerType, filename, qacross, qToEngine)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
DataObjectHandleBase(const DataObjID &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)