113 RefAccessor r( obj );
119 pDO = r.ObjectRef->data();
120 hint = r.ObjectRef->hintID();
121 link = r.ObjectRef->linkID();
123 switch ( r.Base->objectType() ) {
125 p = r.ContainedRef->data();
135 cout <<
"IOHandler<SmartRefBase>::onWrite> " 136 <<
"Found invalid smart reference with object " 137 <<
"having no parent." <<
endl;
139 "Found invalid smart reference with object " 140 "having no parent." );
148 if ( pDO == last_link_object ) {
149 r.Base->set( curr, last_link_hint, link );
150 m_root->WriteBuffer( b, obj );
157 last_link_hint = hint;
158 last_link_object = pDO;
164 r.Base->set( curr, hint, link );
165 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...