ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Trk::LinkToXAODTrackParticle Class Reference

Element link to XAOD TrackParticle. More...

#include <LinkToXAODTrackParticle.h>

Inheritance diagram for Trk::LinkToXAODTrackParticle:
Collaboration diagram for Trk::LinkToXAODTrackParticle:

Public Types

enum  ITrackLinkType { ToxAODTrackParticle = 0, ToxAODNeutralParticle = 1, ToTrack = 2, ToTrackParticleBase = 3 }
 
typedef Traits::IndexingPolicy IndexingPolicy
 The indexing policy. More...
 
typedef IndexingPolicy::index_type index_type
 The index type presented to and returned from the link. More...
 
typedef Base::sgkey_t sgkey_t
 Type of hashed keys. More...
 
typedef Base::ID_type ID_type
 Type of string keys. More...
 
typedef xAOD::TrackParticleContainer value_type
 Type of container (storable) and derived types. More...
 
typedef xAOD::TrackParticleContainerpointer
 
typedef const xAOD::TrackParticleContainerconst_pointer
 
typedef const xAOD::TrackParticleContainerBaseConstReference
 
typedef const xAOD::TrackParticleContainerBaseConstPointer
 
typedef IndexingPolicy::ElementType ElementType
 Container element and derived types. More...
 
typedef IndexingPolicy::ElementConstReference ElementConstReference
 
typedef IndexingPolicy::ElementConstPointer ElementConstPointer
 
typedef INDEXING_POLICY::stored_index_type stored_index_type
 The type of the index as it is stored internally. More...
 
Type definitions taken from the StoreGate-based implementation
typedef size_t index_type
 Type of the index used on the container. More...
 
typedef uint32_t sgkey_t
 Integer identifier for the object in the event. More...
 
typedef std::string ID_type
 Type of the "regular" identifiers in the event. More...
 
typedef STORABLE::value_type value_type
 Type of the values inside the container. More...
 
typedef const xAOD::TrackParticleContainerBaseConstReference
 Constant reference to the container. More...
 
typedef const xAOD::TrackParticleContainerBaseConstPointer
 Constant pointer to the container. More...
 
typedef TypeTools::Copy< value_type >::type ElementType
 Type of the elements in the container. More...
 
typedef TypeTools::Copy< value_type >::const_reference ElementConstReference
 Constant reference to an element in the container. More...
 
typedef TypeTools::Copy< value_type >::const_pointer ElementConstPointer
 Constant pointer to an element in the container. More...
 
typedef STORABLE::const_iterator const_iterator
 Constant iterator type for the container. More...
 
Type definitions taken from the StoreGate-based implementation
typedef size_t index_type
 Type of the index used on the container. More...
 
typedef uint32_t sgkey_t
 Integer identifier for the object in the event. More...
 
typedef std::string ID_type
 Type of the "regular" identifiers in the event. More...
 
typedef STORABLE::value_type value_type
 Type of the values inside the container. More...
 
typedef const xAOD::TrackParticleContainerBaseConstReference
 Constant reference to the container. More...
 
typedef const xAOD::TrackParticleContainerBaseConstPointer
 Constant pointer to the container. More...
 
typedef TypeTools::Copy< value_type >::type ElementType
 Type of the elements in the container. More...
 
typedef TypeTools::Copy< value_type >::const_reference ElementConstReference
 Constant reference to an element in the container. More...
 
typedef TypeTools::Copy< value_type >::const_pointer ElementConstPointer
 Constant pointer to an element in the container. More...
 
typedef STORABLE::const_iterator const_iterator
 Constant iterator type for the container. More...
 

Public Member Functions

 LinkToXAODTrackParticle ()
 default constructor (needed for persistency) More...
 
 LinkToXAODTrackParticle (ElementLink< xAOD::TrackParticleContainer > &link)
 constructor with ElementLink More...
 
 LinkToXAODTrackParticle (const LinkToXAODTrackParticle &)=default
 
 LinkToXAODTrackParticle (LinkToXAODTrackParticle &&)=default
 
LinkToXAODTrackParticleoperator= (const LinkToXAODTrackParticle &)=default
 
LinkToXAODTrackParticleoperator= (LinkToXAODTrackParticle &&)=default
 
virtual ~LinkToXAODTrackParticle ()=default
 
virtual const TrackParametersparameters () const override final
 return the track parameters of the track (to which the EL< TrackCollection

points)

More...
 
virtual const NeutralParametersneutralParameters () const override final
 return the neutral parameters of the NeutralParticle) More...
 
virtual LinkToXAODTrackParticleclone () const override final
 method to clone the LinkToXAODTrackParticle object More...
 
virtual ITrackLinkType type () const override final
 return the type More...
 
index_type index () const
 Return the index of the link. More...
 
const ID_typedataID () const
 Return the SG key that we reference, as a string. More...
 
sgkey_t key () const
 Return the SG key that we reference, as a hash. More...
 
bool hasCachedElement () const
 Test to see if this link has a cached element pointer. More...
 
xAOD::TVirtualEventsource () const
 Get the data source for the reference. More...
 
IProxyDictsource () const
 Return the data source for this reference. More...
 
bool toPersistent ()
 Dummy function provinding the offline interface. More...
 
bool toTransient (IProxyDict *sg=0)
 Finish initialization after link has been read. More...
 
bool isDefaultIndex () const
 Test the index validity. More...
 
bool isDefault () const
 Test to see if this link is in the default state. More...
 
const SG::DataProxyproxy () const
 Return the SG proxy for the container holding this element. More...
 
bool thin ()
 Adjust for thinning. More...
 
bool thin (const SG::ThinningCache *thinningCache)
 Adjust for thinning. More...
 
Dereferencing the link.
const_pointer getDataPtr () const
 Return a pointer to the currently-referenced container object. More...
 
pointer getDataNonConstPtr ()
 Return a pointer to the currently-referenced container object. More...
 
DataLink< xAOD::TrackParticleContainergetDataLink ()
 Return a link to the currently-referenced container object. More...
 
const DataLink< xAOD::TrackParticleContainergetDataLink () const
 Return a link to the currently-referenced container object. More...
 
BaseConstPointer getStorableObjectPointer () const
 Return a pointer to the currently-referenced container object. More...
 
BaseConstReference getStorableObjectRef () const
 Return a reference to the currently-referenced container object. More...
 
ElementConstPointer cptr () const
 Return a pointer to the referenced element. More...
 
ElementConstReference operator* () const
 Return a reference to the referenced element. More...
 
ElementConstPointer operator-> () const
 Return a pointer to the referenced element. More...
 
 operator ElementConstPointer () const
 Convert to a pointer to the referenced element. More...
 
bool isValid () const
 Test to see if the link can be dereferenced. More...
 
bool operator! () const
 Test to see if the link can not be dereferenced. More...
 
ElementType cachedElement () const
 Return the cached element, if any. More...
 
Accessor functions/operators
BaseConstPointer getStorableObjectPointer () const
 Retrieve storable object pointer. More...
 
BaseConstReference getStorableObjectRef () const
 Retrieve storable object reference. More...
 
ElementConstPointer cptr () const
 Get a constant pointer to the referenced object. More...
 
ElementConstReference operator* () const
 Get a reference to the object in question. More...
 
ElementConstPointer operator-> () const
 Access the object as a smart pointer. More...
 
 operator ElementConstPointer () const
 Auto-convert to the element type. More...
 
bool isValid () const
 Check if the element can be found. More...
 
bool operator! () const
 Operator checking the validity of the link. More...
 
ElementType cachedElement () const
 Access the currently cached element. Doesn't trigger lookup. More...
 
index_type index () const
 Get the index of the element inside of its container. More...
 
const ID_typedataID () 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...
 
bool operator== (const ElementLink &rhs) const
 Comparison operator. More...
 
bool operator!= (const ElementLink &rhs) const
 Comparison operator. More...
 
bool hasCachedElement () const
 Check if the link has a cached element pointer. More...
 
Setter functions
bool toIndexedElement (BaseConstReference container, index_type index)
 Set link to point to given index (slower) More...
 
bool toContainedElement (BaseConstReference container, ElementType element)
 Set link to point to given element (slowest) More...
 
bool setElement (ElementType element)
 Set link to point to an Element (slowest) More...
 
bool setStorableObject (BaseConstReference data, bool replace=false)
 Set link storable to data object pointed by data (slower) More...
 
void resetWithKeyAndIndex (const ID_type &key, index_type index, xAOD::TVirtualEvent *event=0)
 Reset with storable key and element index (fast) More...
 
void resetWithKeyAndIndex (sgkey_t id, index_type index, xAOD::TVirtualEvent *event=0)
 Reset with storable id and element index (fastest) More...
 
void reset ()
 Reset to default state. More...
 
Dereferencing the link.
const_pointer getDataPtr () const
 Return a pointer to the currently-referenced container object. More...
 
pointer getDataNonConstPtr ()
 Return a pointer to the currently-referenced container object. More...
 
DataLink< xAOD::TrackParticleContainergetDataLink ()
 Return a link to the currently-referenced container object. More...
 
const DataLink< xAOD::TrackParticleContainergetDataLink () const
 Return a link to the currently-referenced container object. More...
 
BaseConstPointer getStorableObjectPointer () const
 Return a pointer to the currently-referenced container object. More...
 
BaseConstReference getStorableObjectRef () const
 Return a reference to the currently-referenced container object. More...
 
ElementConstPointer cptr () const
 Return a pointer to the referenced element. More...
 
ElementConstReference operator* () const
 Return a reference to the referenced element. More...
 
ElementConstPointer operator-> () const
 Return a pointer to the referenced element. More...
 
 operator ElementConstPointer () const
 Convert to a pointer to the referenced element. More...
 
bool isValid () const
 Test to see if the link can be dereferenced. More...
 
bool operator! () const
 Test to see if the link can not be dereferenced. More...
 
ElementType cachedElement () const
 Return the cached element, if any. More...
 
Accessor functions/operators
BaseConstPointer getStorableObjectPointer () const
 Retrieve storable object pointer. More...
 
BaseConstReference getStorableObjectRef () const
 Retrieve storable object reference. More...
 
ElementConstPointer cptr () const
 Get a constant pointer to the referenced object. More...
 
ElementConstReference operator* () const
 Get a reference to the object in question. More...
 
ElementConstPointer operator-> () const
 Access the object as a smart pointer. More...
 
 operator ElementConstPointer () const
 Auto-convert to the element type. More...
 
bool isValid () const
 Check if the element can be found. More...
 
bool operator! () const
 Operator checking the validity of the link. More...
 
ElementType cachedElement () const
 Access the currently cached element. Doesn't trigger lookup. More...
 
index_type index () const
 Get the index of the element inside of its container. More...
 
const ID_typedataID () 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...
 
bool operator== (const ElementLink &rhs) const
 Comparison operator. More...
 
bool operator!= (const ElementLink &rhs) const
 Comparison operator. More...
 
bool hasCachedElement () const
 Check if the link has a cached element pointer. More...
 
Setter functions
bool toIndexedElement (BaseConstReference container, index_type index)
 Set link to point to given index (slower) More...
 
bool toContainedElement (BaseConstReference container, ElementType element)
 Set link to point to given element (slowest) More...
 
bool setElement (ElementType element)
 Set link to point to an Element (slowest) More...
 
bool setStorableObject (BaseConstReference data, bool replace=false)
 Set link storable to data object pointed by data (slower) More...
 
void resetWithKeyAndIndex (const ID_type &key, index_type index, xAOD::TVirtualEvent *event=0)
 Reset with storable key and element index (fast) More...
 
void resetWithKeyAndIndex (sgkey_t id, index_type index, xAOD::TVirtualEvent *event=0)
 Reset with storable id and element index (fastest) More...
 
void reset ()
 Reset to default state. More...
 

Static Public Member Functions

static const CLIDclassID ()
 Return the CLID for the class that we reference. More...
 

Protected Member Functions

bool toIndexedElement (const_pointer_t obj, CLID link_clid, const index_type &elemID, IProxyDict *sg)
 Set the to an element given by index and pointer to container. More...
 
bool setStorableObject (const_pointer_t data, CLID link_clid, bool replace, IProxyDict *sg)
 Set the container referenced by the link to data. More...
 
void resetWithKeyAndIndex (const ID_type &dataID, CLID link_clid, const index_type &elemID, IProxyDict *sg)
 Set the link to an element given by string key and index. More...
 
void resetWithKeyAndIndex (sgkey_t key, CLID link_clid, const index_type &elemID, IProxyDict *sg)
 Set the link to an element given by string key and index. More...
 
void * storableBase (castfn_t *castfn, const CLID &clid, bool isConst) const
 Return a pointer to the currently-referenced container object. More...
 
void setIndex (const index_type &index)
 Set the index part of the link. More...
 
const stored_index_typestoredIndex () const
 Return the stored representation of the link index. More...
 
void setCachedElement (const ElementType &elt) const
 Set the cached element stored in the link. More...
 
void storeCachedElement (const ElementType &elt)
 Set the cached element stored in the link. More...
 
bool getCachedElement (ElementConstPointer &elt) const
 Retrieve the cached element from the link. More...
 
const SG::DataProxyHolderproxyHolder () const
 Return the internal proxy holder object. More...
 

Private Types

typedef SG::ElementLinkTraits< xAOD::TrackParticleContainerTraits
 Traits class, from which to derive types. More...
 
typedef Traits::Base Base
 Base class (factoring out code that doesn't directly depend on STORABLE). More...
 
typedef Base::castfn_t castfn_t
 Function casting from a SG::DataProxy to a pointer. More...
 
typedef ROOT::Meta::Selection::ElementLink< xAOD::TrackParticleContainer >::self DictSel
 Needed to take the Reflex/Cling specifications into account. More...
 
typedef SG::DataProxyHolder::const_pointer_t const_pointer_t
 Generic pointer to the container (storable). 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...
 
void findIndex ()
 Find the index of an element inside the container. More...
 
template<class INDEX >
 requires (std::convertible_to< INDEX, size_t > &&std::convertible_to< size_t, INDEX >) bool thin1(INDEX &persIndex
 Adjust for thinning. More...
 
template<class INDEX >
 requires (!(std::convertible_to< INDEX, size_t > &&std::convertible_to< size_t, INDEX >)) bool thin1(INDEX &persIndex
 Adjust for thinning. More...
 

Private Attributes

BaseConstPointer m_container
 Cached pointer to the container. More...
 
ElementType m_element
 Cached pointer to the object. More...
 
bool m_elementCached
 Status of the cached pointer. More...
 
xAOD::TVirtualEventm_event
 Pointer to the event object. More...
 
const SG::ThinningCachethinningCache
 
SG::sgkey_t m_key
 The hashed key for this link. More...
 
stored_index_type m_index
 The index of the element within the container for this link. More...
 
SG::DataProxyHolder m_proxy
 SG proxy for this link. More...
 

Modifying the link.

bool toIndexedElement (BaseConstReference data, index_type elemID, IProxyDict *sg=0)
 Set the link to an element given by index and pointer to container. More...
 
bool toIndexedElement (BaseConstReference data, index_type elemID, const EventContext &ctx)
 Set the link to an element given by index and pointer to container. More...
 
bool toContainedElement (BaseConstReference data, ElementType element, IProxyDict *sg=0)
 Set from element pointer and a reference to the container (storable) More...
 
bool toContainedElement (BaseConstReference data, ElementType element, const EventContext &ctx)
 Set from element pointer and a reference to the container (storable) More...
 
bool setElement (ElementType element)
 Set to point to an element. More...
 
bool setStorableObject (BaseConstReference data, bool replace=false, IProxyDict *sg=0)
 Set link to point to a new container (storable). More...
 
bool setStorableObject (BaseConstReference data, bool replace, const EventContext &ctx)
 Set link to point to a new container (storable). More...
 
void resetWithKeyAndIndex (const ID_type &dataID, index_type elemID, IProxyDict *sg=0)
 Set the link to an element given by string key and index. More...
 
void resetWithKeyAndIndex (const ID_type &dataID, index_type elemID, const EventContext &ctx)
 Set the link to an element given by string key and index. More...
 
void resetWithKeyAndIndex (sgkey_t key, index_type elemID, IProxyDict *sg=0)
 Set the link to an element given by string key and index. More...
 
void resetWithKeyAndIndex (sgkey_t key, index_type elemID, const EventContext &ctx)
 Set the link to an element given by string key and index. More...
 
const void * storable () const
 Return a (void) pointer to the currently-referenced container object. More...
 
void * storableNonConst ()
 Return a (void) pointer to the currently-referenced container object. More...
 

Detailed Description

Element link to XAOD TrackParticle.

An EDM object to reduce dependencies among Tracking/InDet/XAOD domains. This is NOT an analysis class. This link keeps the EDM of different domains together and makes it interchangeable. WARNING: Do not use this class unless you understand how the ITrackLink functions.

A hack to the EDM which will be possibly removed at later stages Kiril.nosp@m.l.Pr.nosp@m.okofi.nosp@m.ev@c.nosp@m.ern.c.nosp@m.h

February 2014

Definition at line 30 of file LinkToXAODTrackParticle.h.

Member Typedef Documentation

◆ Base

Base class (factoring out code that doesn't directly depend on STORABLE).

Definition at line 129 of file AthLinks/ElementLink.h.

◆ BaseConstPointer [1/2]

Constant pointer to the container.

Definition at line 53 of file A/AthLinks/ElementLink.h.

◆ BaseConstPointer [2/2]

Definition at line 153 of file AthLinks/ElementLink.h.

◆ BaseConstReference [1/2]

Constant reference to the container.

Definition at line 51 of file A/AthLinks/ElementLink.h.

◆ BaseConstReference [2/2]

Definition at line 152 of file AthLinks/ElementLink.h.

◆ castfn_t

typedef Base::castfn_t ElementLink< xAOD::TrackParticleContainer >::castfn_t
privateinherited

Function casting from a SG::DataProxy to a pointer.

Definition at line 132 of file AthLinks/ElementLink.h.

◆ const_iterator

typedef STORABLE::const_iterator ElementLink< xAOD::TrackParticleContainer >::const_iterator
inherited

Constant iterator type for the container.

Definition at line 61 of file A/AthLinks/ElementLink.h.

◆ const_pointer

Definition at line 151 of file AthLinks/ElementLink.h.

◆ const_pointer_t

template<class INDEXING_POLICY >
typedef SG::DataProxyHolder::const_pointer_t SG::GenericElementLinkBase< INDEXING_POLICY >::const_pointer_t
privateinherited

Generic pointer to the container (storable).

Definition at line 84 of file GenericElementLinkBase.h.

◆ DictSel

Needed to take the Reflex/Cling specifications into account.

Definition at line 207 of file A/AthLinks/ElementLink.h.

◆ ElementConstPointer [1/2]

Constant pointer to an element in the container.

Definition at line 70 of file A/AthLinks/ElementLink.h.

◆ ElementConstPointer [2/2]

typedef IndexingPolicy::ElementConstPointer ElementLink< xAOD::TrackParticleContainer >::ElementConstPointer
inherited

Definition at line 159 of file AthLinks/ElementLink.h.

◆ ElementConstReference [1/2]

Constant reference to an element in the container.

Definition at line 67 of file A/AthLinks/ElementLink.h.

◆ ElementConstReference [2/2]

typedef IndexingPolicy::ElementConstReference ElementLink< xAOD::TrackParticleContainer >::ElementConstReference
inherited

Definition at line 158 of file AthLinks/ElementLink.h.

◆ ElementType [1/2]

Type of the elements in the container.

Definition at line 64 of file A/AthLinks/ElementLink.h.

◆ ElementType [2/2]

typedef IndexingPolicy::ElementType ElementLink< xAOD::TrackParticleContainer >::ElementType
inherited

Container element and derived types.

Definition at line 157 of file AthLinks/ElementLink.h.

◆ ID_type [1/2]

typedef std::string ElementLink< xAOD::TrackParticleContainer >::ID_type
inherited

Type of the "regular" identifiers in the event.

Definition at line 46 of file A/AthLinks/ElementLink.h.

◆ ID_type [2/2]

Type of string keys.

Definition at line 146 of file AthLinks/ElementLink.h.

◆ index_type [1/2]

typedef size_t ElementLink< xAOD::TrackParticleContainer >::index_type
inherited

Type of the index used on the container.

Definition at line 56 of file A/AthLinks/ElementLink.h.

◆ index_type [2/2]

typedef IndexingPolicy::index_type ElementLink< xAOD::TrackParticleContainer >::index_type
inherited

The index type presented to and returned from the link.

Definition at line 140 of file AthLinks/ElementLink.h.

◆ IndexingPolicy

The indexing policy.

Definition at line 137 of file AthLinks/ElementLink.h.

◆ pointer

Definition at line 150 of file AthLinks/ElementLink.h.

◆ sgkey_t [1/2]

typedef uint32_t ElementLink< xAOD::TrackParticleContainer >::sgkey_t
inherited

Integer identifier for the object in the event.

Definition at line 48 of file A/AthLinks/ElementLink.h.

◆ sgkey_t [2/2]

Type of hashed keys.

Definition at line 143 of file AthLinks/ElementLink.h.

◆ stored_index_type

template<class INDEXING_POLICY >
typedef INDEXING_POLICY::stored_index_type SG::GenericElementLinkBase< INDEXING_POLICY >::stored_index_type
inherited

The type of the index as it is stored internally.

Definition at line 92 of file GenericElementLinkBase.h.

◆ Traits

Traits class, from which to derive types.

Definition at line 126 of file AthLinks/ElementLink.h.

◆ value_type [1/2]

typedef STORABLE::value_type ElementLink< xAOD::TrackParticleContainer >::value_type
inherited

Type of the values inside the container.

Definition at line 59 of file A/AthLinks/ElementLink.h.

◆ value_type [2/2]

Type of container (storable) and derived types.

Definition at line 149 of file AthLinks/ElementLink.h.

Member Enumeration Documentation

◆ ITrackLinkType

Enumerator
ToxAODTrackParticle 
ToxAODNeutralParticle 
ToTrack 
ToTrackParticleBase 

Definition at line 29 of file ITrackLink.h.

30  {
33  ToTrack = 2,
35  };

Constructor & Destructor Documentation

◆ LinkToXAODTrackParticle() [1/4]

Trk::LinkToXAODTrackParticle::LinkToXAODTrackParticle ( )

default constructor (needed for persistency)

Definition at line 10 of file LinkToXAODTrackParticle.cxx.

◆ LinkToXAODTrackParticle() [2/4]

Trk::LinkToXAODTrackParticle::LinkToXAODTrackParticle ( ElementLink< xAOD::TrackParticleContainer > &  link)

constructor with ElementLink

Definition at line 14 of file LinkToXAODTrackParticle.cxx.

◆ LinkToXAODTrackParticle() [3/4]

Trk::LinkToXAODTrackParticle::LinkToXAODTrackParticle ( const LinkToXAODTrackParticle )
default

◆ LinkToXAODTrackParticle() [4/4]

Trk::LinkToXAODTrackParticle::LinkToXAODTrackParticle ( LinkToXAODTrackParticle &&  )
default

◆ ~LinkToXAODTrackParticle()

virtual Trk::LinkToXAODTrackParticle::~LinkToXAODTrackParticle ( )
virtualdefault

Member Function Documentation

◆ cachedElement() [1/2]

ElementType ElementLink< xAOD::TrackParticleContainer >::cachedElement
inlineinherited

Access the currently cached element. Doesn't trigger lookup.

Definition at line 176 of file A/AthLinks/ElementLink.h.

176 { return m_element; }

◆ cachedElement() [2/2]

Return the cached element, if any.

◆ classID()

static const CLID& ElementLink< xAOD::TrackParticleContainer >::classID
staticinherited

Return the CLID for the class that we reference.

◆ clone()

Trk::LinkToXAODTrackParticle * Trk::LinkToXAODTrackParticle::clone ( ) const
finaloverridevirtual

method to clone the LinkToXAODTrackParticle object

Implements Trk::ITrackLink.

Definition at line 33 of file LinkToXAODTrackParticle.cxx.

34 {
35  return new LinkToXAODTrackParticle(*this);
36 }

◆ cptr() [1/2]

Get a constant pointer to the referenced object.

◆ cptr() [2/2]

Return a pointer to the referenced element.

Be aware: if the element is a pointer, then this will yield a pointer to a pointer.

◆ dataID() [1/2]

template<class INDEXING_POLICY >
const ID_type& SG::GenericElementLinkBase< INDEXING_POLICY >::dataID ( ) const
inherited

Return the SG key that we reference, as a string.

Returns a null string on failure.

◆ dataID() [2/2]

Get the key that we reference, as a string.

◆ findIdentifier()

void ElementLink< xAOD::TrackParticleContainer >::findIdentifier
privateinherited

Find the identifier of the object being pointed to.

◆ findIndex()

void ElementLink< xAOD::TrackParticleContainer >::findIndex
privateinherited

Find the index of an element inside the container.

◆ getCachedElement()

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::getCachedElement ( ElementConstPointer elt) const
protectedinherited

Retrieve the cached element from the link.

Parameters
elt[out]The cached element.
Returns
True if an element was cached; false otherwise.

elt is left unmodified if there is no cached element.

◆ getDataLink() [1/2]

Return a link to the currently-referenced container object.

◆ getDataLink() [2/2]

Return a link to the currently-referenced container object.

◆ getDataNonConstPtr()

pointer ElementLink< xAOD::TrackParticleContainer >::getDataNonConstPtr
inherited

Return a pointer to the currently-referenced container object.

Returns
A pointer to an object of the type given by clid, or null on a failure (or if the reference is null).

◆ getDataPtr()

Return a pointer to the currently-referenced container object.

Returns
A pointer to an object of the type given by clid, or null on a failure (or if the reference is null).

◆ getStorableObjectPointer() [1/2]

BaseConstPointer ElementLink< xAOD::TrackParticleContainer >::getStorableObjectPointer
inherited

Retrieve storable object pointer.

◆ getStorableObjectPointer() [2/2]

BaseConstPointer ElementLink< xAOD::TrackParticleContainer >::getStorableObjectPointer
inherited

Return a pointer to the currently-referenced container object.

◆ getStorableObjectRef() [1/2]

BaseConstReference ElementLink< xAOD::TrackParticleContainer >::getStorableObjectRef
inherited

Retrieve storable object reference.

◆ getStorableObjectRef() [2/2]

BaseConstReference ElementLink< xAOD::TrackParticleContainer >::getStorableObjectRef
inherited

Return a reference to the currently-referenced container object.

◆ hasCachedElement() [1/2]

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::hasCachedElement ( ) const
inherited

Test to see if this link has a cached element pointer.

◆ hasCachedElement() [2/2]

bool ElementLink< xAOD::TrackParticleContainer >::hasCachedElement
inlineinherited

Check if the link has a cached element pointer.

Definition at line 178 of file A/AthLinks/ElementLink.h.

178 { return m_elementCached; }

◆ index() [1/2]

template<class INDEXING_POLICY >
index_type SG::GenericElementLinkBase< INDEXING_POLICY >::index ( ) const
inherited

Return the index of the link.

◆ index() [2/2]

Get the index of the element inside of its container.

Definition at line 148 of file A/AthLinks/ElementLink.h.

148 { return persIndex(); }

◆ isDefault()

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::isDefault ( ) const
inherited

Test to see if this link is in the default state.

◆ isDefaultIndex()

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::isDefaultIndex ( ) const
inherited

Test the index validity.

Returns
True if the index is not valid (in default state).

◆ isValid() [1/2]

bool ElementLink< xAOD::TrackParticleContainer >::isValid
inherited

Check if the element can be found.

◆ isValid() [2/2]

bool ElementLink< xAOD::TrackParticleContainer >::isValid
inherited

Test to see if the link can be dereferenced.

Will throw an exception if the container is not empty and the referenced element cannot be retrieved.

◆ key() [1/2]

template<class INDEXING_POLICY >
sgkey_t SG::GenericElementLinkBase< INDEXING_POLICY >::key ( ) const
inherited

Return the SG key that we reference, as a hash.

Returns 0 on failure.

◆ key() [2/2]

Get the key that we reference, as a hash.

Definition at line 153 of file A/AthLinks/ElementLink.h.

153 { return persKey(); }

◆ neutralParameters()

virtual const NeutralParameters* Trk::LinkToXAODTrackParticle::neutralParameters ( ) const
inlinefinaloverridevirtual

return the neutral parameters of the NeutralParticle)

Implements Trk::ITrackLink.

Definition at line 53 of file LinkToXAODTrackParticle.h.

54  {
55  return nullptr;
56  }

◆ operator ElementConstPointer() [1/2]

Auto-convert to the element type.

Definition at line 166 of file A/AthLinks/ElementLink.h.

166 { return cptr(); }

◆ operator ElementConstPointer() [2/2]

Convert to a pointer to the referenced element.

◆ operator!() [1/2]

bool ElementLink< xAOD::TrackParticleContainer >::operator!
inlineinherited

Operator checking the validity of the link.

Definition at line 173 of file A/AthLinks/ElementLink.h.

173 { return ! isValid(); }

◆ operator!() [2/2]

bool ElementLink< xAOD::TrackParticleContainer >::operator!
inherited

Test to see if the link can not be dereferenced.

◆ operator!=()

Comparison operator.

◆ operator*() [1/2]

Get a reference to the object in question.

◆ operator*() [2/2]

Return a reference to the referenced element.

Will throw an exception if the link is not valid.

◆ operator->() [1/2]

Access the object as a smart pointer.

Definition at line 164 of file A/AthLinks/ElementLink.h.

164 { return cptr(); }

◆ operator->() [2/2]

Return a pointer to the referenced element.

◆ operator=() [1/2]

LinkToXAODTrackParticle& Trk::LinkToXAODTrackParticle::operator= ( const LinkToXAODTrackParticle )
default

◆ operator=() [2/2]

LinkToXAODTrackParticle& Trk::LinkToXAODTrackParticle::operator= ( LinkToXAODTrackParticle &&  )
default

◆ operator==()

bool ElementLink< xAOD::TrackParticleContainer >::operator== ( const ElementLink< xAOD::TrackParticleContainer > &  rhs) const
inherited

Comparison operator.

◆ parameters()

const TrackParameters * Trk::LinkToXAODTrackParticle::parameters ( ) const
finaloverridevirtual

return the track parameters of the track (to which the EL< TrackCollection

points)

Implements Trk::ITrackLink.

Definition at line 20 of file LinkToXAODTrackParticle.cxx.

21 {
22  if (isValid()) {
23  const xAOD::TrackParticle* trk = this->cachedElement();
24  if (nullptr != trk) {
25  return &(trk->perigeeParameters());
26  }
27  return nullptr;
28  }
29  return nullptr;
30 } // end of parameters method

◆ proxy()

template<class INDEXING_POLICY >
const SG::DataProxy* SG::GenericElementLinkBase< INDEXING_POLICY >::proxy ( ) const
inherited

Return the SG proxy for the container holding this element.

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.

◆ proxyHolder()

template<class INDEXING_POLICY >
const SG::DataProxyHolder& SG::GenericElementLinkBase< INDEXING_POLICY >::proxyHolder ( ) const
protectedinherited

Return the internal proxy holder object.

◆ requires() [1/2]

template<class INDEXING_POLICY >
template<class INDEX >
SG::GenericElementLinkBase< INDEXING_POLICY >::requires ( std::convertible_to< INDEX, size_t > && std::convertible_to< size_t, INDEX >) &
privateinherited

Adjust for thinning.

If this link points to a container that has been thinned, it will be adjusted accordingly.

Parameters
Indexof the element.
thinningCacheThinning cache for the current stream (may be null).

Returns true if the link was changed; false otherwise.

This overload will be used for the case where thinning is not supported.

◆ requires() [2/2]

template<class INDEXING_POLICY >
template<class INDEX >
SG::GenericElementLinkBase< INDEXING_POLICY >::requires ( std::convertible_to< INDEX, size_t > &&std::convertible_to< size_t, INDEX >  ) &
privateinherited

Adjust for thinning.

If this link points to a container that has been thinned, it will be adjusted accordingly.

Parameters
Indexof the element.
thinningCacheThinning cache for the current stream (may be null).

Returns true if the link was changed; false otherwise.

This overload will be used for the case where thinning is supported: the index can be interconverted with size_t.

◆ reset()

void ElementLink< xAOD::TrackParticleContainer >::reset
inherited

Reset to default state.

◆ resetWithKeyAndIndex() [1/8]

template<class INDEXING_POLICY >
void SG::GenericElementLinkBase< INDEXING_POLICY >::resetWithKeyAndIndex ( const ID_type dataID,
CLID  link_clid,
const index_type elemID,
IProxyDict sg 
)
protectedinherited

Set the link to an element given by string key and index.

Parameters
dataIDKey of the object.
link_clidCLID of the link being set.
elemIDThe index of the element within the container.
sgAssociated 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.

◆ resetWithKeyAndIndex() [2/8]

void ElementLink< xAOD::TrackParticleContainer >::resetWithKeyAndIndex ( const ID_type dataID,
index_type  elemID,
const EventContext &  ctx 
)
inherited

Set the link to an element given by string key and index.

Parameters
dataIDKey of the object.
elemIDThe index of the element within the container.
ctxThe event context.

◆ resetWithKeyAndIndex() [3/8]

void ElementLink< xAOD::TrackParticleContainer >::resetWithKeyAndIndex ( const ID_type dataID,
index_type  elemID,
IProxyDict sg = 0 
)
inherited

Set the link to an element given by string key and index.

Parameters
dataIDKey of the object.
elemIDThe index of the element within the container.
sgAssociated 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.

◆ resetWithKeyAndIndex() [4/8]

void ElementLink< xAOD::TrackParticleContainer >::resetWithKeyAndIndex ( const ID_type key,
index_type  index,
xAOD::TVirtualEvent event = 0 
)
inherited

Reset with storable key and element index (fast)

◆ resetWithKeyAndIndex() [5/8]

void ElementLink< xAOD::TrackParticleContainer >::resetWithKeyAndIndex ( sgkey_t  id,
index_type  index,
xAOD::TVirtualEvent event = 0 
)
inherited

Reset with storable id and element index (fastest)

◆ resetWithKeyAndIndex() [6/8]

template<class INDEXING_POLICY >
void SG::GenericElementLinkBase< INDEXING_POLICY >::resetWithKeyAndIndex ( sgkey_t  key,
CLID  link_clid,
const index_type elemID,
IProxyDict sg 
)
protectedinherited

Set the link to an element given by string key and index.

Parameters
keyHashed key of the object.
link_clidCLID of the link being set.
elemIDThe index of the element within the container.
sgAssociated 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.

◆ resetWithKeyAndIndex() [7/8]

void ElementLink< xAOD::TrackParticleContainer >::resetWithKeyAndIndex ( sgkey_t  key,
index_type  elemID,
const EventContext &  ctx 
)
inherited

Set the link to an element given by string key and index.

Parameters
keyHashed key of the object.
elemIDThe index of the element within the container.
ctxThe event context.

◆ resetWithKeyAndIndex() [8/8]

void ElementLink< xAOD::TrackParticleContainer >::resetWithKeyAndIndex ( sgkey_t  key,
index_type  elemID,
IProxyDict sg = 0 
)
inherited

Set the link to an element given by string key and index.

Parameters
keyHashed key of the object.
elemIDThe index of the element within the container.
sgAssociated 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.

◆ setCachedElement()

template<class INDEXING_POLICY >
void SG::GenericElementLinkBase< INDEXING_POLICY >::setCachedElement ( const ElementType elt) const
protectedinherited

Set the cached element stored in the link.

Parameters
eltNew value for the cached element.

◆ setElement() [1/2]

bool ElementLink< xAOD::TrackParticleContainer >::setElement ( ElementType  element)
inherited

Set link to point to an Element (slowest)

◆ setElement() [2/2]

bool ElementLink< xAOD::TrackParticleContainer >::setElement ( ElementType  element)
inherited

Set to point to an element.

Parameters
elementThe element.
Returns
True if the link was changed.

The collection and the element can be specified independently using setElement and setStorableObject.

If the link is already set, this will return false and leave the link unchanged.

◆ setIndex()

template<class INDEXING_POLICY >
void SG::GenericElementLinkBase< INDEXING_POLICY >::setIndex ( const index_type index)
protectedinherited

Set the index part of the link.

Parameters
indexNew index value.

◆ setStorableObject() [1/4]

bool ElementLink< xAOD::TrackParticleContainer >::setStorableObject ( BaseConstReference  data,
bool  replace,
const EventContext &  ctx 
)
inherited

Set link to point to a new container (storable).

Parameters
dataReference to the container (storable).
replaceTrue if we can change an existing link.
ctxThe event context.
Returns
True if the link was changed.

If the link is already set, this will return false and leave the link unchanged unless replace is set. The replace argument should be set if the element is now in a new storable container; e.g. element ptr has been put in a new view container.

◆ setStorableObject() [2/4]

bool ElementLink< xAOD::TrackParticleContainer >::setStorableObject ( BaseConstReference  data,
bool  replace = false 
)
inherited

Set link storable to data object pointed by data (slower)

◆ setStorableObject() [3/4]

bool ElementLink< xAOD::TrackParticleContainer >::setStorableObject ( BaseConstReference  data,
bool  replace = false,
IProxyDict sg = 0 
)
inherited

Set link to point to a new container (storable).

Parameters
dataReference to the container (storable).
replaceTrue if we can change an existing link.
sgAssociated store.
Returns
True if the link was changed.

If the link is already set, this will return false and leave the link unchanged unless replace is set. The replace argument should be set if the element is now in a new storable container; e.g. element ptr has been put in a new view container.

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.

◆ setStorableObject() [4/4]

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::setStorableObject ( const_pointer_t  data,
CLID  link_clid,
bool  replace,
IProxyDict sg 
)
protectedinherited

Set the container referenced by the link to data.

Parameters
dataPointer to the new container.
link_clidCLID of the link being set.
replaceTrue if we can change an existing link.
sgAssociated store.
Returns
True if the link was changed.

If the link is already set, this will return false and leave the link unchanged unless replace is set. The replace argument should be set if the element is now in a new storable container; e.g. element ptr has been put in a new view container.

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.

◆ source() [1/2]

template<class INDEXING_POLICY >
IProxyDict* SG::GenericElementLinkBase< INDEXING_POLICY >::source ( ) const
inherited

Return the data source for this reference.

◆ source() [2/2]

Get the data source for the reference.

Definition at line 183 of file A/AthLinks/ElementLink.h.

183 { return m_event; }

◆ storable()

const void* ElementLink< xAOD::TrackParticleContainer >::storable
privateinherited

Return a (void) pointer to the currently-referenced container object.

Returns
A pointer to an object of the type given by clid, or null on a failure (or if the reference is null).

◆ storableBase()

template<class INDEXING_POLICY >
void* SG::GenericElementLinkBase< INDEXING_POLICY >::storableBase ( castfn_t castfn,
const CLID clid,
bool  isConst 
) const
protectedinherited

Return a pointer to the currently-referenced container object.

Parameters
castfnFunction to do the cast from data proxy to object. If 0, use a dynamic cast.
clidThe CLID of the desired object. This is used to determine how the returned pointer is to be converted.
isConstTrue if the returned object will be treated as const.
Returns
A pointer to an object of the type given by clid, or null on a failure (or if the reference is null).

◆ storableNonConst()

void* ElementLink< xAOD::TrackParticleContainer >::storableNonConst
privateinherited

Return a (void) pointer to the currently-referenced container object.

Returns
A pointer to an object of the type given by clid, or null on a failure (or if the reference is null).

◆ storeCachedElement()

template<class INDEXING_POLICY >
void SG::GenericElementLinkBase< INDEXING_POLICY >::storeCachedElement ( const ElementType elt)
protectedinherited

Set the cached element stored in the link.

Parameters
eltNew value for the cached element.

◆ storedIndex()

template<class INDEXING_POLICY >
const stored_index_type& SG::GenericElementLinkBase< INDEXING_POLICY >::storedIndex ( ) const
protectedinherited

Return the stored representation of the link index.

◆ thin() [1/2]

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::thin ( )
inherited

Adjust for thinning.

If this link points to a container that has been thinned, it will be adjusted accordingly.

Returns true if the link was changed; false otherwise.

◆ thin() [2/2]

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::thin ( const SG::ThinningCache thinningCache)
inherited

Adjust for thinning.

If this link points to a container that has been thinned, it will be adjusted accordingly.

Parameters
thinningCacheThinning cache for the current stream (may be null).

Returns true if the link was changed; false otherwise.

◆ toContainedElement() [1/3]

bool ElementLink< xAOD::TrackParticleContainer >::toContainedElement ( BaseConstReference  container,
ElementType  element 
)
inherited

Set link to point to given element (slowest)

◆ toContainedElement() [2/3]

bool ElementLink< xAOD::TrackParticleContainer >::toContainedElement ( BaseConstReference  data,
ElementType  element,
const EventContext &  ctx 
)
inherited

Set from element pointer and a reference to the container (storable)

Parameters
dataReference to the container (storable).
elementThe element.
ctxThe event context.
Returns
True if the link was changed.

O(N) for sequences!

If the link is already set, this will return false and leave the link unchanged.

◆ toContainedElement() [3/3]

bool ElementLink< xAOD::TrackParticleContainer >::toContainedElement ( BaseConstReference  data,
ElementType  element,
IProxyDict sg = 0 
)
inherited

Set from element pointer and a reference to the container (storable)

Parameters
dataReference to the container (storable).
elementThe element.
sgAssociated store.
Returns
True if the link was changed.

O(N) for sequences!

If the link is already set, this will return false and leave the link unchanged.

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.

◆ toIndexedElement() [1/4]

bool ElementLink< xAOD::TrackParticleContainer >::toIndexedElement ( BaseConstReference  container,
index_type  index 
)
inherited

Set link to point to given index (slower)

◆ toIndexedElement() [2/4]

bool ElementLink< xAOD::TrackParticleContainer >::toIndexedElement ( BaseConstReference  data,
index_type  elemID,
const EventContext &  ctx 
)
inherited

Set the link to an element given by index and pointer to container.

Parameters
dataReference to the container (storable).
elemIDThe index of the element within the container.
ctxThe event context.
Returns
True if the link was changed.

If the link is already set, this will return false and leave the link unchanged.

◆ toIndexedElement() [3/4]

bool ElementLink< xAOD::TrackParticleContainer >::toIndexedElement ( BaseConstReference  data,
index_type  elemID,
IProxyDict sg = 0 
)
inherited

Set the link to an element given by index and pointer to container.

Parameters
dataReference to the container (storable).
elemIDThe index of the element within the container.
sgAssociated store.
Returns
True if the link was changed.

If the link is already set, this will return false and leave the link unchanged.

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.

◆ toIndexedElement() [4/4]

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::toIndexedElement ( const_pointer_t  obj,
CLID  link_clid,
const index_type elemID,
IProxyDict sg 
)
protectedinherited

Set the to an element given by index and pointer to container.

Parameters
objPointer to the container (storable).
link_clidCLID of the link being set.
elemIDThe index of the element within the container.
sgAssociated store.
Returns
True if the link was changed.

If the link is already set, this will return false and leave the link unchanged.

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.

◆ toPersistent()

bool ElementLink< xAOD::TrackParticleContainer >::toPersistent
inlineinherited

Dummy function provinding the offline interface.

Definition at line 186 of file A/AthLinks/ElementLink.h.

186 { return true; }

◆ toTransient() [1/2]

virtual bool ElementLink< xAOD::TrackParticleContainer >::toTransient
privatevirtualinherited

Reset the object's internal cache.

◆ toTransient() [2/2]

template<class INDEXING_POLICY >
bool SG::GenericElementLinkBase< INDEXING_POLICY >::toTransient ( IProxyDict sg = 0)
inherited

Finish initialization after link has been read.

Parameters
sgAssociated 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.

◆ type()

virtual ITrackLinkType Trk::LinkToXAODTrackParticle::type ( ) const
inlinefinaloverridevirtual

return the type

Implements Trk::ITrackLink.

Definition at line 61 of file LinkToXAODTrackParticle.h.

62  {
63  return ToxAODTrackParticle;
64  }

Member Data Documentation

◆ m_container

BaseConstPointer ElementLink< xAOD::TrackParticleContainer >::m_container
mutableprivateinherited

Cached pointer to the container.

Definition at line 197 of file A/AthLinks/ElementLink.h.

◆ m_element

ElementType ElementLink< xAOD::TrackParticleContainer >::m_element
mutableprivateinherited

Cached pointer to the object.

Definition at line 199 of file A/AthLinks/ElementLink.h.

◆ m_elementCached

bool ElementLink< xAOD::TrackParticleContainer >::m_elementCached
mutableprivateinherited

Status of the cached pointer.

Definition at line 201 of file A/AthLinks/ElementLink.h.

◆ m_event

Pointer to the event object.

Definition at line 203 of file A/AthLinks/ElementLink.h.

◆ m_index

template<class INDEXING_POLICY >
stored_index_type SG::GenericElementLinkBase< INDEXING_POLICY >::m_index
privateinherited

The index of the element within the container for this link.

Definition at line 538 of file GenericElementLinkBase.h.

◆ m_key

template<class INDEXING_POLICY >
SG::sgkey_t SG::GenericElementLinkBase< INDEXING_POLICY >::m_key
privateinherited

The hashed key for this link.

Definition at line 535 of file GenericElementLinkBase.h.

◆ m_proxy

template<class INDEXING_POLICY >
SG::DataProxyHolder SG::GenericElementLinkBase< INDEXING_POLICY >::m_proxy
privateinherited

SG proxy for this link.

Definition at line 541 of file GenericElementLinkBase.h.

◆ thinningCache

template<class INDEXING_POLICY >
const SG::ThinningCache * SG::GenericElementLinkBase< INDEXING_POLICY >::thinningCache
privateinherited

Definition at line 505 of file GenericElementLinkBase.h.


The documentation for this class was generated from the following files:
Trk::LinkToXAODTrackParticle::LinkToXAODTrackParticle
LinkToXAODTrackParticle()
default constructor (needed for persistency)
Definition: LinkToXAODTrackParticle.cxx:10
xAOD::TrackParticle_v1::perigeeParameters
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
Definition: TrackParticle_v1.cxx:485
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43