5#ifndef ATHLINKS_DATALINK_H
6#define ATHLINKS_DATALINK_H
13#include <RootMetaSelection.h>
16#include "AthLinks/DataLinkBase.h"
24 template<
class STORABLE >
37template<
typename STORABLE >
88 template<
typename T >
167namespace ROOT {
namespace Meta {
namespace Selection {
168template<
class STORABLE >
177 ROOT::Meta::Selection::MemberAttributes< kTransient >
m_object;
179 ROOT::Meta::Selection::MemberAttributes< kTransient >
m_event;
185template<
typename STORABLE >
190template<
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.
bool toTransient(const EventContext &)
Dummy toTransient method.
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(const_pointer data, const EventContext &)
Constructor receiving a pointer to the target object and a dummy EventContext.
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.