8 #include <boost/tokenizer.hpp> 17 :
Gaudi::DataHandle( other )
18 , m_EDS(
std::move( other.m_EDS ) )
19 , m_MS(
std::move( other.m_MS ) )
20 , m_init( other.m_init )
21 , m_optional( other.m_optional )
22 , m_wasRead( other.m_wasRead )
23 , m_wasWritten( other.m_wasWritten )
24 , m_searchDone( other.m_searchDone )
95 auto tokens = boost::tokenizer<boost::char_separator<char>>{
objKey(), boost::char_separator<char>{
":"}};
99 if ( alt != tokens.end() ) {
101 log <<
MSG::DEBUG <<
": could not find \"" <<
objKey() <<
"\" -- using alternative source: \"" << *alt
102 <<
"\" instead" <<
endmsg;
130 if ( !
owner() )
return false;
constexpr static const auto FAILURE
void setWritten(bool wasWritten=true)
Definition of the MsgStream class used to transmit messages.
virtual ~DataObjectHandleBase()
Define general base for Gaudi exception.
virtual void declare(Gaudi::DataHandle &)=0
virtual const std::string & objKey() const
virtual Mode mode() const
SmartIF< IDataProviderSvc > m_EDS
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
void setRead(bool wasRead=true)
std::string toString() const
virtual void setKey(const DataObjID &key) const
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, lists, pairs, maps) plus GaudiUtils::Map and GaudiUtils::HashMap.
PropertyMgr & operator=(const PropertyMgr &)=delete
DataObjectHandleBase & operator=(const DataObjectHandleBase &)
virtual const DataObjID & fullKey() const
This class is used for returning status codes from appropriate routines.
IDataHandleHolder * m_owner
const DataObjID INVALID_DATAOBJID
const SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
virtual StatusCode retrieveObject(IRegistry *pDirectory, boost::string_ref path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
void fromString(const std::string &s)
Base class from which all concrete algorithm classes should be derived.
SmartIF< IDataProviderSvc > & evtSvc() const
shortcut for method eventSvc
DataObjectHandleBase GaudiKernel/DataObjectHandleBase.h.
const StatusCode & ignore() const
Ignore/check StatusCode.
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...
DataHandle(const DataObjID &k, Mode a=Reader, IDataHandleHolder *owner=nullptr)
std::string pythonRepr() const override
DataObject * fetch() const
SmartIF< IMessageSvc > m_MS
bool isOptional() const
Check if the data object declared is optional for the algorithm.
A DataObject is the base class of any identifiable object on any data store.
friend std::ostream & operator<<(std::ostream &str, const DataObjectHandleBase &d)
Helper functions to set/get the application return code.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
virtual const std::string & name() const =0
Retrieve the name of the instance.
virtual IDataHandleHolder * owner() const
DataObjectHandleBase(const DataObjID &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)