ATLAS Offline Software
|
Object reference supporting deferred reading from StoreGate. More...
#include <DataLink.h>
Public Types | |
typedef STORABLE | value_type |
Names for the referenced type and derivatives. More... | |
typedef STORABLE * | pointer |
typedef const STORABLE * | const_pointer |
typedef STORABLE & | reference |
typedef const STORABLE & | const_reference |
typedef DataLinkBase::ID_type | ID_type |
A string SG key. More... | |
typedef DataLinkBase::sgkey_t | sgkey_t |
A hashed SG key. More... | |
typedef DataLink< STORABLE > | self |
Convenience declaration of this structure's type. More... | |
typedef SG::DataProxyHolder::pointer_t | pointer_t |
typedef SG::DataProxyHolder::const_pointer_t | const_pointer_t |
typedef SG::DataProxyHolder::castfn_t | castfn_t |
Function casting from a SG::DataProxy to a pointer. More... | |
Type definitions taken from the StoreGate-based implementation | |
typedef std::string | ID_type |
Type of the "regular" identifiers in the event. More... | |
typedef uint32_t | sgkey_t |
Integer identifier for the object in the event. More... | |
typedef STORABLE | value_type |
Type of the object being handled. More... | |
typedef STORABLE * | __attribute__((deprecated)) pointer |
Pointer type for the object being handled. More... | |
typedef const STORABLE * | const_pointer |
Constant pointer type for the object being handled. More... | |
typedef STORABLE & | __attribute__((deprecated)) reference |
Reference type for the object being handled. More... | |
typedef const STORABLE & | const_reference |
Constant reference type for the object being handled. More... | |
Public Member Functions | |
xAOD::TVirtualEvent * | source () const |
Get the data source for the reference. More... | |
bool | toPersistent () |
Prepare the object to be written out. More... | |
bool | isDefault () const |
Test to see if we're in the default state. More... | |
bool | isDefault () const |
Test if the link is in the default state. More... | |
void | clear () |
Clear the link (make it null). More... | |
void | clear () |
Clear the link (make it null) More... | |
SG::DataProxy * | proxy (bool nothrow=false) const |
Return the DataProxy for this link. More... | |
bool | toTransient (const ID_type &dataID, CLID link_clid, IProxyDict *sg=0) |
Finish initialization like the link as just been read from root, but with a specified key. More... | |
bool | toTransient (const ID_type &dataID, CLID link_clid, const EventContext &ctx) |
Finish initialization like the link as just been read from root, but with a specified key. More... | |
bool | toPersistentNoRemap () |
Prepare this link for writing. More... | |
bool | operator== (const DataLinkBase &other) const |
Compare for equality. More... | |
bool | operator!= (const DataLinkBase &other) const |
Compare for inequality. More... | |
uint32_t | persKey () const |
Get the key/identifier of the referenced container. More... | |
void | setPersKey (uint32_t key) |
Set the key/identifier of the referenced container. More... | |
Constructors. | |
DataLink () | |
Default constructor — gives the equivalent of a NULL pointer. More... | |
DataLink (const_reference data, IProxyDict *sg=0) | |
Constructor — link to a STORABLE using a transient ref to it. More... | |
DataLink (const_reference data, const EventContext &ctx) | |
Constructor — link to a STORABLE using a transient ref to it. More... | |
DataLink (const_pointer pdata, IProxyDict *sg=0) | |
Constructor — link to a STORABLE using a transient pointer to it. More... | |
DataLink (const_pointer pdata, const EventContext &ctx) | |
Constructor — link to a STORABLE using a transient pointer to it. More... | |
DataLink (const ID_type &dataID, IProxyDict *sg=0) | |
Constructor — link to a STORABLE using a string ID. More... | |
DataLink (const ID_type &dataID, const EventContext &ctx) | |
Constructor — link to a STORABLE using a string ID. More... | |
DataLink (sgkey_t key, IProxyDict *sg=0) | |
Constructor — link to a STORABLE using a hashed ID. More... | |
DataLink (sgkey_t key, const EventContext &ctx) | |
Constructor — link to a STORABLE using a hashed ID. More... | |
DataLink (sgkey_t key, const SG::DataProxyHolder &holder) | |
Constructor from a hashed key and a proxy holder object. More... | |
Setters. | |
void | toStorableObject (const_reference data, IProxyDict *sg=0) |
Set the link to an object given by a reference. More... | |
void | toStorableObject (const_reference data, const EventContext &ctx) |
Set the link to an object given by a reference. More... | |
void | toIdentifiedObject (const ID_type &dataID, IProxyDict *sg=0) |
Set the link to an object given by a string key. More... | |
void | toIdentifiedObject (const ID_type &dataID, const EventContext &ctx) |
Set the link to an object given by a string key. More... | |
void | toIdentifiedObject (sgkey_t key, IProxyDict *sg=0) |
Set the link to an object given by a hashed key. More... | |
void | toIdentifiedObject (sgkey_t key, const EventContext &ctx) |
Set the link to an object given by a hashed key. More... | |
void | toDefaultObject (IProxyDict *sg=0) |
Set the link to the default object of this type. More... | |
void | toDefaultObject (const EventContext &ctx) |
Set the link to the default object of this type. More... | |
bool | toTransient (IProxyDict *sg=0) |
Finish initialization after link has been read. More... | |
bool | toTransient (const EventContext &ctx) |
Finish initialization after link has been read. More... | |
bool | toTransient (const ID_type &dataID, IProxyDict *sg=0) |
Finish initialization like the link as just been read from root, but with a specified key. More... | |
bool | toTransient (const ID_type &dataID, const EventContext &ctx) |
Finish initialization like the link as just been read from root, but with a specified key. More... | |
Constructors | |
DataLink () | |
Default constructor, creating a null pointer basically. More... | |
DataLink (xAOD::TVirtualEvent *event) | |
Constructor taking an alternative TVirtualEvent object to use. More... | |
DataLink (const_reference data, xAOD::TVirtualEvent *event=0) | |
Constructor receiving a reference to the target object. More... | |
DataLink (const_pointer data, xAOD::TVirtualEvent *event=0) | |
Constructor receiving a pointer to the target object. More... | |
DataLink (const ID_type &id, xAOD::TVirtualEvent *event=0) | |
Constructor receiving a user-readable ID for the target object. More... | |
DataLink (sgkey_t key, xAOD::TVirtualEvent *event=0) | |
Constructor receiving a hashed ID for the target object. More... | |
template<typename T > | |
DataLink (const DataLink< T > &parent) | |
Copy constructor. More... | |
Setter functions | |
void | toStorableObject (const_reference data) |
Set the link to a data object that's already in the event. More... | |
void | toDefaultObject () |
Set the link to the default object of this type in the event. More... | |
void | toIdentifiedObject (const ID_type &id) |
Set the link using a user readable ID for the target object. More... | |
void | toIdentifiedObject (sgkey_t key) |
Set the link using a hashed ID for the target object. More... | |
Accessor functions | |
const_reference | operator* () const |
Get a reference to the target object. May throw an exception. More... | |
const_pointer | operator-> () const |
Get a pointer to the target object. More... | |
operator const_pointer () const | |
Automatic conversion operator. More... | |
const_pointer | cptr () const |
Get a constant pointer to the referenced object. More... | |
bool | isValid () const |
Check if the object can be found. More... | |
operator bool () const | |
Convenience validity check operator. More... | |
bool | operator! () const |
Another convenience validity checker. More... | |
const ID_type & | dataID () const |
Get the key that we reference, as a string. More... | |
sgkey_t | key () const |
Get the key that we reference, as a hash. More... | |
Static Public Member Functions | |
static const CLID & | classID () |
Return the CLID for the class that we reference. More... | |
Public Attributes | |
ROOT_SELECTION_NS::MemberAttributes< kTransient > | m_object |
Declare m_object as transient. More... | |
ROOT_SELECTION_NS::MemberAttributes< kTransient > | m_event |
Declare m_event as transient. More... | |
Protected Member Functions | |
void | toStorableObject (const_pointer_t obj, CLID clid_in, IProxyDict *sg) |
Set the link to an object given by a pointer. More... | |
void | toIdentifiedObject (const ID_type &dataID, CLID clid, IProxyDict *sg) |
Set the link to an object given by a string key. More... | |
void | toIdentifiedObject (sgkey_t key, CLID clid, IProxyDict *sg) |
Set the link to an object given by a hashed key. More... | |
void * | storableBase (castfn_t *castfn, const CLID &clid, bool isConst) const |
Return a pointer to the currently-referenced object. More... | |
void | throwInvalidLink () const |
Throw a ExcInvalidLink exception for this link. More... | |
Protected Attributes | |
uint32_t | m_persKey |
Key/identifier of the referenced object. More... | |
bool | m_isDirectIO |
A transient variable signalling when direct I/O is happening. More... | |
Private Types | |
typedef ROOT_SELECTION_NS::DataLink< STORABLE >::self | DictSel |
Needed to take the Reflex/Cling specifications into account. More... | |
Private Member Functions | |
virtual bool | toTransient () |
Reset the object's internal cache. More... | |
void | findIdentifier () |
Find the identifier of the object being pointed to. More... | |
Private Attributes | |
const_pointer | m_object |
Cached pointer to the object. More... | |
xAOD::TVirtualEvent * | m_event |
Pointer to the event object. More... | |
sgkey_t | m_persKey |
The hashed key for this link. More... | |
SG::DataProxyHolder | m_proxy |
SG proxy for this link. More... | |
Accessors. | |
const_pointer | getDataPtr () const |
Return a pointer to the currently-referenced object. More... | |
pointer | getDataNonConstPtr () |
Return a pointer to the currently-referenced object. More... | |
const_reference | operator* () const |
Dereference the link. More... | |
const_pointer | operator-> () const |
Dereference the link. More... | |
operator const_pointer () const | |
Dereference the link. More... | |
const_pointer | cptr () const |
Dereference the link. More... | |
bool | isValid () const |
Test to see if the link is dereferencable. More... | |
bool | operator! () const |
True if the link is not dereferencable. More... | |
const void * | storable () const |
Return a (void) pointer to the currently-referenced object. More... | |
void * | storableNonConst () |
Return a (void) pointer to the currently-referenced object. More... | |
Object reference supporting deferred reading from StoreGate.
This is a kind of smart pointer that can reference objects in StoreGate by key. This allows deferred-reading semantics, and also allows references to objects that may be in a different physical data file (‘back-navigation’).
For example:
You can also initialize a link directly with a pointer:
However, if the object has not been recorded in the event store, the possible operations on the link will be limited. (In particular, such a link cannot be made persistent.)
A DataLink
can exist in one of three states:
DataProxy
for the referred-to object.toPersistent
or getting the key) and the object still isn't in StoreGate, SG::ExcPointerNotInSG
will be thrown.Internally, a link stores a hashed version of the SG key + CLID; this is the part that's persistent. (In the case of a link referencing an object not in SG, this field is 0.) There is also a transient pointer to either the proxy or the object itself (if the object is not in SG). This latter pointer is factored out as DataProxyHolder
in order to share implementation with ElementLink
. Further, everything which does not depend on the STORABLE
template parameter, including all the object state, is factored out into the non-templated base class DataLinkBase
.
If the link is being saved directly with ROOT, then toPersistent
should be called prior to writing. This will ensure that the hashed StoreGate key is set correctly (and will raise an exception if the link is referencing an object not in SG). This will also handle any remapping of the link. When a link is read directly from ROOT, toTransient
should be called to set the proxy pointer. This would normally be done via a ROOT read rule.
A link references objects in a particular event store. When a link is constructed, a global default store is used (see SGTools/CurrentEventStore.h). If a link is subsequently modified, it stays associated with the same store, unless the link was null or was referencing an object directly by pointer, in which case the global default is again used. Alternatively, the event store may be passed explicitly using the optional sg
parameter.
Definition at line 93 of file AthLinks/DataLink.h.
typedef STORABLE* DataLink< STORABLE >::__attribute__((deprecated)) pointer |
Pointer type for the object being handled.
Definition at line 53 of file A/AthLinks/DataLink.h.
typedef STORABLE& DataLink< STORABLE >::__attribute__((deprecated)) reference |
Reference type for the object being handled.
Definition at line 57 of file A/AthLinks/DataLink.h.
|
inherited |
Function casting from a SG::DataProxy
to a pointer.
Definition at line 49 of file AthLinks/DataLinkBase.h.
typedef const STORABLE* DataLink< STORABLE >::const_pointer |
Constant pointer type for the object being handled.
Definition at line 55 of file A/AthLinks/DataLink.h.
typedef const STORABLE* DataLink< STORABLE >::const_pointer |
Definition at line 100 of file AthLinks/DataLink.h.
|
inherited |
Definition at line 46 of file AthLinks/DataLinkBase.h.
typedef const STORABLE& DataLink< STORABLE >::const_reference |
Constant reference type for the object being handled.
Definition at line 59 of file A/AthLinks/DataLink.h.
typedef const STORABLE& DataLink< STORABLE >::const_reference |
Definition at line 102 of file AthLinks/DataLink.h.
|
private |
Needed to take the Reflex/Cling specifications into account.
Definition at line 153 of file A/AthLinks/DataLink.h.
Type of the "regular" identifiers in the event.
Definition at line 46 of file A/AthLinks/DataLink.h.
typedef DataLinkBase::ID_type DataLink< STORABLE >::ID_type |
Definition at line 105 of file AthLinks/DataLink.h.
Definition at line 99 of file AthLinks/DataLink.h.
|
inherited |
Definition at line 45 of file AthLinks/DataLinkBase.h.
Definition at line 101 of file AthLinks/DataLink.h.
Convenience declaration of this structure's type.
Definition at line 168 of file A/AthLinks/DataLink.h.
Integer identifier for the object in the event.
Definition at line 48 of file A/AthLinks/DataLink.h.
typedef DataLinkBase::sgkey_t DataLink< STORABLE >::sgkey_t |
Definition at line 108 of file AthLinks/DataLink.h.
typedef STORABLE DataLink< STORABLE >::value_type |
Type of the object being handled.
Definition at line 51 of file A/AthLinks/DataLink.h.
typedef STORABLE DataLink< STORABLE >::value_type |
Names for the referenced type and derivatives.
Definition at line 98 of file AthLinks/DataLink.h.
Default constructor — gives the equivalent of a NULL pointer.
DataLink< STORABLE >::DataLink | ( | const_reference | data, |
IProxyDict * | sg = 0 |
||
) |
Constructor — link to a STORABLE using a transient ref to it.
data | The object to which to link. |
sg | Associated store; if 0, use the global default. |
DataLink< STORABLE >::DataLink | ( | const_reference | data, |
const EventContext & | ctx | ||
) |
Constructor — link to a STORABLE using a transient ref to it.
data | The object to which to link. |
ctx | Event context for this link. |
DataLink< STORABLE >::DataLink | ( | const_pointer | pdata, |
IProxyDict * | sg = 0 |
||
) |
Constructor — link to a STORABLE using a transient pointer to it.
data | The object to which to link. |
sg | Associated store; if 0, use the global default. |
DataLink< STORABLE >::DataLink | ( | const_pointer | pdata, |
const EventContext & | ctx | ||
) |
Constructor — link to a STORABLE using a transient pointer to it.
data | The object to which to link. |
ctx | Event context for this link. |
DataLink< STORABLE >::DataLink | ( | const ID_type & | dataID, |
IProxyDict * | sg = 0 |
||
) |
Constructor — link to a STORABLE using a string ID.
dataID | Key of the object. |
sg | Associated store; if 0, use the global default. |
DataLink< STORABLE >::DataLink | ( | const ID_type & | dataID, |
const EventContext & | ctx | ||
) |
Constructor — link to a STORABLE using a string ID.
dataID | Key of the object. |
ctx | Event context for this link. |
DataLink< STORABLE >::DataLink | ( | sgkey_t | key, |
IProxyDict * | sg = 0 |
||
) |
Constructor — link to a STORABLE using a hashed ID.
key | Hashed key of the object. |
sg | Associated store; if 0, use the global default. |
May throw ExcCLIDMismatch
.
Constructor — link to a STORABLE using a hashed ID.
key | Hashed key of the object. |
ctx | Event context for this link. |
May throw ExcCLIDMismatch
.
DataLink< STORABLE >::DataLink | ( | sgkey_t | key, |
const SG::DataProxyHolder & | holder | ||
) |
Constructor from a hashed key and a proxy holder object.
Used internally for EL -> DL conversion.
key | Hashed key of the object. |
holder | Internal holder object for the proxy. |
Default constructor, creating a null pointer basically.
DataLink< STORABLE >::DataLink | ( | xAOD::TVirtualEvent * | event | ) |
Constructor taking an alternative TVirtualEvent object to use.
DataLink< STORABLE >::DataLink | ( | const_reference | data, |
xAOD::TVirtualEvent * | event = 0 |
||
) |
Constructor receiving a reference to the target object.
DataLink< STORABLE >::DataLink | ( | const_pointer | data, |
xAOD::TVirtualEvent * | event = 0 |
||
) |
Constructor receiving a pointer to the target object.
DataLink< STORABLE >::DataLink | ( | const ID_type & | id, |
xAOD::TVirtualEvent * | event = 0 |
||
) |
Constructor receiving a user-readable ID for the target object.
DataLink< STORABLE >::DataLink | ( | sgkey_t | key, |
xAOD::TVirtualEvent * | event = 0 |
||
) |
Constructor receiving a hashed ID for the target object.
DataLink< STORABLE >::DataLink | ( | const DataLink< T > & | parent | ) |
Copy constructor.
Return the CLID for the class that we reference.
|
inherited |
Clear the link (make it null)
|
inherited |
Clear the link (make it null).
Definition at line 36 of file DataLinkBase.cxx.
const_pointer DataLink< STORABLE >::cptr | ( | ) | const |
Get a constant pointer to the referenced object.
const_pointer DataLink< STORABLE >::cptr | ( | ) | const |
Dereference the link.
Get the key that we reference, as a string.
|
private |
Find the identifier of the object being pointed to.
Return a pointer to the currently-referenced object.
const_pointer DataLink< STORABLE >::getDataPtr | ( | ) | const |
Return a pointer to the currently-referenced object.
|
inherited |
Test if the link is in the default state.
|
inherited |
Test to see if we're in the default state.
Definition at line 31 of file DataLinkBase.cxx.
bool DataLink< STORABLE >::isValid | ( | ) | const |
Check if the object can be found.
bool DataLink< STORABLE >::isValid | ( | ) | const |
Test to see if the link is dereferencable.
|
inline |
|
inline |
DataLink< STORABLE >::operator const_pointer | ( | ) | const |
Dereference the link.
|
inline |
bool DataLink< STORABLE >::operator! | ( | ) | const |
True if the link is not dereferencable.
|
inherited |
Compare for inequality.
const_reference DataLink< STORABLE >::operator* | ( | ) | const |
Get a reference to the target object. May throw an exception.
const_reference DataLink< STORABLE >::operator* | ( | ) | const |
Dereference the link.
|
inline |
const_pointer DataLink< STORABLE >::operator-> | ( | ) | const |
Dereference the link.
|
inherited |
Compare for equality.
|
inherited |
Get the key/identifier of the referenced container.
Definition at line 13 of file DataLinkBase.cxx.
|
inherited |
Return the DataProxy
for this link.
nothrow | If true, return 0 on failure instead of throwing an exception. |
If this is a null link, we return 0. If we're directly referencing an object that's not in StoreGate, either return 0 or throw ExcPointerNotInSG
, depending on nothrow
. Otherwise, return the proxy for the object we're referencing.
|
inherited |
|
inline |
Return a (void) pointer to the currently-referenced object.
|
protectedinherited |
Return a pointer to the currently-referenced object.
castfn | Function to do the cast from data proxy to object. If 0, use a dynamic cast. |
clid | The CLID of the desired object. This is used to determine how the returned pointer is to be converted. |
isConst | True if the returned object will be treated as const. |
|
private |
Return a (void) pointer to the currently-referenced object.
|
protectedinherited |
Throw a ExcInvalidLink
exception for this link.
sgkey | The hashed key for this link. |
This will fill in parameters for the exception message from the proxy.
void DataLink< STORABLE >::toDefaultObject | ( | ) |
Set the link to the default object of this type in the event.
Set the link to the default object of this type.
ctx | Event context for this link. |
Note that this is not the same as clearing the link (use clear
for that). This produces a link that will resolve to any object in SG of the given type, provided that there is only one of them. (An attempt to dereference an ambiguous default link will give an error.)
void DataLink< STORABLE >::toDefaultObject | ( | IProxyDict * | sg = 0 | ) |
Set the link to the default object of this type.
sg | Associated store. |
If sg
is 0, then we take the store from whatever the link's currently set to. If the link has no current store, then we take the global default.
Note that this is not the same as clearing the link (use clear
for that). This produces a link that will resolve to any object in SG of the given type, provided that there is only one of them. (An attempt to dereference an ambiguous default link will give an error.)
|
protectedinherited |
Set the link to an object given by a string key.
dataID | Key of the object. |
link_clid | CLID of the link being set. |
sg | Associated store. |
If sg
is 0, then we take the store from whatever the link's currently set to. If the link has no current store, then we take the global default.
void DataLink< STORABLE >::toIdentifiedObject | ( | const ID_type & | dataID, |
const EventContext & | ctx | ||
) |
Set the link to an object given by a string key.
dataID | Key of the object. |
ctx | Event context for this link. |
void DataLink< STORABLE >::toIdentifiedObject | ( | const ID_type & | dataID, |
IProxyDict * | sg = 0 |
||
) |
Set the link to an object given by a string key.
dataID | Key of the object. |
sg | Associated store. |
If sg
is 0, then we take the store from whatever the link's currently set to. If the link has no current store, then we take the global default.
Set the link using a user readable ID for the target object.
Set the link using a hashed ID for the target object.
|
protectedinherited |
Set the link to an object given by a hashed key.
key | Hashed key of the object. |
link_clid | CLID of the link being set. |
sg | Associated store. |
If sg
is 0, then we take the store from whatever the link's currently set to. If the link has no current store, then we take the global default.
May throw ExcCLIDMismatch
.
void DataLink< STORABLE >::toIdentifiedObject | ( | sgkey_t | key, |
const EventContext & | ctx | ||
) |
Set the link to an object given by a hashed key.
key | Hashed key of the object. |
ctx | Event context for this link. |
May throw ExcCLIDMismatch
.
void DataLink< STORABLE >::toIdentifiedObject | ( | sgkey_t | key, |
IProxyDict * | sg = 0 |
||
) |
Set the link to an object given by a hashed key.
key | Hashed key of the object. |
sg | Associated store. |
If sg
is 0, then we take the store from whatever the link's currently set to. If the link has no current store, then we take the global default.
May throw ExcCLIDMismatch
.
bool DataLink< STORABLE >::toPersistent | ( | ) |
Prepare the object to be written out.
|
inherited |
Prepare this link for writing.
One of the toPersistent
methods should be called before trying to write the link with root.
Ensures the hashed SG key to be saved is correct. If this link is referencing an object not in SG, we throw ExcPointerNotInSG
.
This version does not perform link remapping.
Returns true.
|
protectedinherited |
Set the link to an object given by a pointer.
obj | Pointer to the object. |
link_clid | CLID of the link being set. |
sg | Associated store. |
If sg
is 0, then we take the store from whatever the link's currently set to. If the link has no current store, then we take the global default.
May throw ExcCLIDMismatch
.
void DataLink< STORABLE >::toStorableObject | ( | const_reference | data | ) |
Set the link to a data object that's already in the event.
void DataLink< STORABLE >::toStorableObject | ( | const_reference | data, |
const EventContext & | ctx | ||
) |
Set the link to an object given by a reference.
data | The object to which to link. |
ctx | Event context for this link. |
void DataLink< STORABLE >::toStorableObject | ( | const_reference | data, |
IProxyDict * | sg = 0 |
||
) |
Set the link to an object given by a reference.
data | The object to which to link. |
sg | Associated store. |
If sg
is 0, then we take the store from whatever the link's currently set to. If the link has no current store, then we take the global default.
|
privatevirtual |
Reset the object's internal cache.
Implements DataLinkBase.
Finish initialization after link has been read.
ctx | Event context for this link. |
This should be called after a link has been read by root in order to set the proxy pointer. Returns true.
|
inherited |
Finish initialization like the link as just been read from root, but with a specified key.
dataID | Key of the object. |
link_clid | CLID of the link being set. |
ctx | Event context for this link. |
The link should be clear before this is called. Returns true.
|
inherited |
Finish initialization like the link as just been read from root, but with a specified key.
dataID | Key of the object. |
link_clid | CLID of the link being set. |
sg | Associated store. |
The link should be clear before this is called. Returns true.
If sg
is 0, then we use the global default store.
bool DataLink< STORABLE >::toTransient | ( | const ID_type & | dataID, |
const EventContext & | ctx | ||
) |
Finish initialization like the link as just been read from root, but with a specified key.
dataID | Key of the object. |
ctx | Event context for this link. |
The link should be clear before this is called. Returns true.
bool DataLink< STORABLE >::toTransient | ( | const ID_type & | dataID, |
IProxyDict * | sg = 0 |
||
) |
Finish initialization like the link as just been read from root, but with a specified key.
dataID | Key of the object. |
sg | Associated store. |
The link should be clear before this is called. Returns true.
If sg
is 0, then we use the global default store.
bool DataLink< STORABLE >::toTransient | ( | IProxyDict * | sg = 0 | ) |
Finish initialization after link has been read.
sg | Associated store. |
This should be called after a link has been read by root in order to set the proxy pointer. Returns true.
If sg
is 0, then we use the global default store.
|
private |
Pointer to the event object.
Definition at line 150 of file A/AthLinks/DataLink.h.
ROOT_SELECTION_NS::MemberAttributes< kTransient > DataLink< STORABLE >::m_event |
Declare m_event as transient.
Definition at line 173 of file A/AthLinks/DataLink.h.
|
protectedinherited |
A transient variable signalling when direct I/O is happening.
This flag is used exclusively by the DataLink<>::toTransient() function to know when it should take the persistent data stored in this object into account. That function may be called in normal P->T conversions as well, in which case using the data from this class would just reset the object to its default state.
Definition at line 60 of file A/AthLinks/DataLinkBase.h.
|
mutableprivate |
Cached pointer to the object.
Definition at line 148 of file A/AthLinks/DataLink.h.
ROOT_SELECTION_NS::MemberAttributes< kTransient > DataLink< STORABLE >::m_object |
Declare m_object as transient.
Definition at line 171 of file A/AthLinks/DataLink.h.
|
protectedinherited |
Key/identifier of the referenced object.
Definition at line 50 of file A/AthLinks/DataLinkBase.h.
|
privateinherited |
The hashed key for this link.
Definition at line 341 of file AthLinks/DataLinkBase.h.
|
privateinherited |
SG proxy for this link.
Definition at line 344 of file AthLinks/DataLinkBase.h.