115 RefAccessor r( obj );
121 pDO = r.ObjectRef->data();
122 hint = r.ObjectRef->hintID();
123 link = r.ObjectRef->linkID();
125 switch ( r.Base->objectType() ) {
127 p = r.ContainedRef->data();
137 cout <<
"IOHandler<SmartRefBase>::onWrite> " 138 <<
"Found invalid smart reference with object " 139 <<
"having no parent." <<
endl;
141 "Found invalid smart reference with object " 142 "having no parent." );
150 if ( pDO == last_link_object ) {
151 r.Base->set( curr, last_link_hint, link );
152 m_root->WriteBuffer( b, obj );
159 last_link_hint = hint;
160 last_link_object = pDO;
166 r.Base->set( curr, hint, link );
167 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...