111 pDO = r.ObjectRef->data();
112 hint = r.ObjectRef->hintID();
113 link = r.ObjectRef->linkID();
115 switch( r.Base->objectType() ) {
117 p = r.ContainedRef->data();
127 cout <<
"IOHandler<SmartRefBase>::onWrite> " 128 <<
"Found invalid smart reference with object " 129 <<
"having no parent." 132 "Found invalid smart reference with object " 133 "having no parent.");
141 if ( pDO == last_link_object ) {
142 r.Base->set(curr, last_link_hint, link);
143 m_root->WriteBuffer(b, obj);
151 last_link_hint = hint;
152 last_link_object = pDO;
159 r.Base->set(curr, hint, link);
160 m_root->WriteBuffer(b, obj);
GAUDI_API DataObject * getCurrentDataObject()
virtual long index() const
Distance in the parent container.
long addLink(const std::string &path, const DataObject *pObject) const
Add link by object reference and path.
TClass * m_root
ROOT persistent class description.
const ObjectContainerBase * parent() const
Access to parent object.
IRegistry * registry() const
Get pointer to Registry.
LinkManager * linkMgr() const
Retrieve Link manager.
virtual const id_type & identifier() const =0
Full identifier (or key)
The IRegistry represents the entry door to the environment any data object residing in a transient da...
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
ObjectContainerBase is the base class for Gaudi container classes.
A DataObject is the base class of any identifiable object on any data store.
A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of no...