5#ifndef ATHLINKS_DATALINK_H
6#define ATHLINKS_DATALINK_H
13#include <RootMetaSelection.h>
16#include "AthLinks/DataLinkBase.h"
23 template<
class STORABLE >
36template<
typename STORABLE >
83 template<
typename T >
159namespace ROOT {
namespace Meta {
namespace Selection {
160template<
class STORABLE >
169 ROOT::Meta::Selection::MemberAttributes< kTransient >
m_object;
171 ROOT::Meta::Selection::MemberAttributes< kTransient >
m_event;
177template<
typename STORABLE >
182template<
typename STORABLE >
bool operator==(const DataLink< STORABLE > &a, const DataLink< STORABLE > &b)
Equality checker operator.
bool operator!=(const DataLink< STORABLE > &a, const DataLink< STORABLE > &b)
Non-equality checker operator.
char data[hepevt_bytes_allocation_ATLAS]
Type-independent part of DataLink; holds the persistent state.
uint32_t persKey() const
Get the key/identifier of the referenced container.
Object reference supporting deferred reading from StoreGate.
const_pointer operator->() const
Get a pointer to the target object.
STORABLE * __attribute__((deprecated)) pointer
Pointer type for the object being handled.
const ID_type & dataID() const
Get the key that we reference, as a string.
bool toPersistent()
Prepare the object to be written out.
DataLinkBase::ID_type ID_type
void findIdentifier()
Find the identifier of the object being pointed to.
const_reference operator*() const
Get a reference to the target object. May throw an exception.
void toDefaultObject()
Set the link to the default object of this type in the event.
virtual bool toTransient()
Reset the object's internal cache.
DataLink(const_pointer data, xAOD::TVirtualEvent *event=0)
Constructor receiving a pointer to the target object.
DataLink(const_reference data, xAOD::TVirtualEvent *event=0)
Constructor receiving a reference to the target object.
DataLinkBase::sgkey_t sgkey_t
const CONT * const_pointer
bool operator!() const
Another convenience validity checker.
DataLink(const ID_type &id, xAOD::TVirtualEvent *event=0)
Constructor receiving a user-readable ID for the target object.
DataLink()
Default constructor, creating a null pointer basically.
STORABLE & __attribute__((deprecated)) reference
Reference type for the object being handled.
DataLink(const DataLink< T > &parent)
Copy constructor.
xAOD::TVirtualEvent * source() const
Get the data source for the reference.
void toIdentifiedObject(const ID_type &id)
Set the link using a user readable ID for the target object.
DataLink(xAOD::TVirtualEvent *event)
Constructor taking an alternative TVirtualEvent object to use.
const_pointer cptr() const
Dereference the link.
void toStorableObject(const_reference data)
Set the link to a data object that's already in the event.
bool isValid() const
Check if the object can be found.
void toIdentifiedObject(sgkey_t key)
Set the link using a hashed ID for the target object.
DataLink(sgkey_t key, xAOD::TVirtualEvent *event=0)
Constructor receiving a hashed ID for the target object.
xAOD::TVirtualEvent * m_event
ROOT::Meta::Selection::DataLink< CONT >::self DictSel
const CONT & const_reference
Base interface for getting objects out of the input file.
Selection rules: declare transient members.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.