![]() |
ATLAS Offline Software
|
#include <LinkToTrackParticleBase.h>
Public Types | |
| enum | ITrackLinkType { ToxAODTrackParticle = 0 , ToxAODNeutralParticle = 1 , ToTrack = 2 , ToTrackParticleBase = 3 } |
| typedef uint32_t | stored_index_type |
| The type of the index as it is stored internally. | |
| typedef void * | castfn_t(SG::DataProxy *) |
Function casting from a SG::DataProxy to a pointer. | |
Type definitions taken from the StoreGate-based implementation | |
| typedef std::string | ID_type |
| Type of the "regular" identifiers in the event. | |
| typedef uint32_t | sgkey_t |
| Integer identifier for the object in the event. | |
| typedef const TrackParticleBaseCollection & | BaseConstReference |
| Constant reference to the container. | |
| typedef const TrackParticleBaseCollection * | BaseConstPointer |
| Constant pointer to the container. | |
| typedef size_t | index_type |
| Type of the index used on the container. | |
| typedef TrackParticleBaseCollection::value_type | value_type |
| Type of the values inside the container. | |
| typedef TrackParticleBaseCollection::const_iterator | const_iterator |
| Constant iterator type for the container. | |
| typedef TypeTools::Copy< value_type >::type | ElementType |
| Type of the elements in the container. | |
| typedef TypeTools::Copy< value_type >::const_reference | ElementConstReference |
| Constant reference to an element in the container. | |
| typedef TypeTools::Copy< value_type >::const_pointer | ElementConstPointer |
| Constant pointer to an element in the container. | |
Public Member Functions | |
| LinkToTrackParticleBase () | |
| default constructor (needed for persistency) | |
| LinkToTrackParticleBase (ElementLink< TrackParticleBaseCollection > &link) | |
| constructor with ElementLink | |
| virtual | ~LinkToTrackParticleBase ()=default |
| default destructor | |
| virtual const TrackParameters * | parameters () const override final |
| return the track parameters of the track (to which the EL< TrackParticleBaseCollection > points) | |
| virtual const NeutralParameters * | neutralParameters () const override final |
| return the neutral parameters of the NeutralParticle) | |
| virtual LinkToTrackParticleBase * | clone () const override final |
| method to clone the LinkToTrack object | |
| virtual ITrackLinkType | type () const override final |
| return the type | |
| xAOD::TVirtualEvent * | source () const |
| Get the data source for the reference. | |
| bool | toPersistent () |
| Dummy function provinding the offline interface. | |
| bool | toTransient (IProxyDict *sg=0) |
| Finish initialization after link has been read. | |
| bool | isDefaultIndex () const |
| Test the index validity. | |
| bool | isDefault () const |
| Test to see if this link is in the default state. | |
| bool | isDefault () const |
| Is the link in the default state. | |
| stored_index_type | persIndex () const |
| Return the index of the link. | |
| uint32_t | persIndex () const |
| Get the index of the referenced object in the container. | |
| sgkey_t | persKey () const |
| Return the SG key that we reference, as a hash. | |
| uint32_t | persKey () const |
| Get the key/identifier of the referenced container. | |
| const SG::DataProxy * | proxy () const |
| Return the SG proxy for the container holding this element. | |
| bool | thin () |
| Adjust for thinning. | |
| bool | thin (const SG::ThinningCache *thinningCache) |
| Adjust for thinning. | |
| void | setPersKey (uint32_t key) |
| Set the key/identifier of the referenced container. | |
| void | setPersIndex (uint32_t index) |
| Set the index of the referenced object in the container. | |
Setter functions | |
| bool | toIndexedElement (BaseConstReference container, index_type index) |
| Set link to point to given index (slower). | |
| bool | toContainedElement (BaseConstReference container, ElementType element) |
| Set link to point to given element (slowest). | |
| bool | setElement (ElementType element) |
| Set link to point to an Element (slowest). | |
| bool | setStorableObject (BaseConstReference data, bool replace=false) |
| Set link storable to data object pointed by data (slower). | |
| void | resetWithKeyAndIndex (const ID_type &key, index_type index, xAOD::TVirtualEvent *event=0) |
| Reset with storable key and element index (fast). | |
| void | reset () |
| Reset to default state. | |
Accessor functions/operators | |
| BaseConstPointer | getStorableObjectPointer () const |
| Retrieve storable object pointer. | |
| BaseConstReference | getStorableObjectRef () const |
| Retrieve storable object reference. | |
| index_type | index () const |
| Get the index of the element inside of its container. | |
| const ID_type & | dataID () const |
| Get the key that we reference, as a string. | |
| sgkey_t | key () const |
| Get the key that we reference, as a hash. | |
| bool | operator== (const ElementLink &rhs) const |
| Comparison operator. | |
| bool | operator!= (const ElementLink &rhs) const |
| Comparison operator. | |
| ElementConstReference | operator* () const |
| Get a reference to the object in question. | |
| ElementConstPointer | operator-> () const |
| Access the object as a smart pointer. | |
| operator ElementConstPointer () const | |
| Auto-convert to the element type. | |
| ElementConstPointer | cptr () const |
| Get a constant pointer to the referenced object. | |
| bool | isValid () const |
| Check if the element can be found. | |
| bool | operator! () const |
| Operator checking the validity of the link. | |
| ElementType | cachedElement () const |
| Access the currently cached element. Doesn't trigger lookup. | |
| bool | hasCachedElement () const |
| Check if the link has a cached element pointer. | |
Protected Member Functions | |
| bool | toIndexedElement (const_pointer_t obj, CLID link_clid, index_type elemID, IProxyDict *sg) |
| Set the link to an element given by index and pointer to container. | |
| bool | setStorableObject (const_pointer_t data, CLID link_clid, bool replace, IProxyDict *sg) |
Set the container referenced by the link to data. | |
| void | resetWithKeyAndIndex (const ID_type &dataID, CLID link_clid, index_type elemID, IProxyDict *sg) |
| Set the link to an element given by string key and index. | |
| void | resetWithKeyAndIndex (sgkey_t key, CLID link_clid, index_type elemID, IProxyDict *sg) |
| Set the link to an element given by string key and index. | |
| void * | storableBase (castfn_t *castfn, CLID clid, bool isConst) const |
| Return a pointer to the currently-referenced container object. | |
| void | setIndex (index_type index) |
| Set the index part of the link. | |
| const stored_index_type & | storedIndex () const |
| Return the stored representation of the link index. | |
| void | setCachedElement (ElementType elt) const |
| Set the cached element stored in the link, assuming the cached element is null. | |
| void | setCachedElement (ElementType elt) const |
| Set the cached element stored in the link, assuming the cached element is null. | |
| void | storeCachedElement (ElementType elt) |
| Set the cached element stored in the link. | |
| void | storeCachedElement (ElementType elt) |
| Set the cached element stored in the link. | |
| bool | getCachedElement (const T *&elt) const |
| Retrieve the cached element from the link. | |
| const SG::DataProxyHolder & | proxyHolder () const |
| Return the internal proxy holder object. | |
Protected Attributes | |
| uint32_t | m_persKey |
| Key/identifier of the referenced container. | |
| uint32_t | m_persIndex |
| Index of the referenced object in the container. | |
| bool | m_isDirectIO |
| A transient variable signalling when direct I/O is happening. | |
Private Types | |
| typedef ROOT::Meta::Selection::ElementLink< TrackParticleBaseCollection >::self | DictSel |
| Needed to take the Reflex/Cling specifications into account. | |
| typedef SG::DataProxyHolder::const_pointer_t | const_pointer_t |
| Generic pointer to the container (storable). | |
Private Member Functions | |
| virtual bool | toTransient () |
| Reset the object's internal cache. | |
| void | findIdentifier () |
| Find the identifier of the object being pointed to. | |
| void | findIndex () |
| Find the index of an element inside the container. | |
| void | clearCachedElement () |
| Clear the currently-cached element. | |
Private Attributes | |
| BaseConstPointer | m_container |
| Cached pointer to the container. | |
| ElementType | m_element |
| Cached pointer to the object. | |
| bool | m_elementCached |
| Status of the cached pointer. | |
| xAOD::TVirtualEvent * | m_event |
| Pointer to the event object. | |
| SG::sgkey_t | m_persKey |
| The hashed key for this link. | |
| stored_index_type | m_persIndex |
| The index of the element within the container for this link. | |
| SG::DataProxyHolder | m_proxy |
| SG proxy for this link. | |
Static Private Attributes | |
| static const uint32_t | INVALID |
| Value to mark an invalid index. | |
| static constexpr uint32_t | INVALID |
| Value to mark a default index. | |
Definition at line 14 of file LinkToTrackParticleBase.h.
|
inherited |
Constant pointer to the container.
Definition at line 53 of file A/AthLinks/ElementLink.h.
|
inherited |
Constant reference to the container.
Definition at line 51 of file A/AthLinks/ElementLink.h.
|
inherited |
Function casting from a SG::DataProxy to a pointer.
Definition at line 85 of file AthLinks/ElementLinkBase.h.
|
inherited |
Constant iterator type for the container.
Definition at line 61 of file A/AthLinks/ElementLink.h.
|
privateinherited |
Generic pointer to the container (storable).
Definition at line 68 of file AthLinks/ElementLinkBase.h.
|
privateinherited |
Needed to take the Reflex/Cling specifications into account.
Definition at line 207 of file A/AthLinks/ElementLink.h.
|
inherited |
Constant pointer to an element in the container.
Definition at line 70 of file A/AthLinks/ElementLink.h.
|
inherited |
Constant reference to an element in the container.
Definition at line 67 of file A/AthLinks/ElementLink.h.
|
inherited |
Type of the elements in the container.
Definition at line 64 of file A/AthLinks/ElementLink.h.
|
inherited |
Type of the "regular" identifiers in the event.
Definition at line 46 of file A/AthLinks/ElementLink.h.
|
inherited |
Type of the index used on the container.
Definition at line 56 of file A/AthLinks/ElementLink.h.
|
inherited |
Integer identifier for the object in the event.
Definition at line 48 of file A/AthLinks/ElementLink.h.
|
inherited |
The type of the index as it is stored internally.
Definition at line 76 of file AthLinks/ElementLinkBase.h.
|
inherited |
Type of the values inside the container.
Definition at line 59 of file A/AthLinks/ElementLink.h.
|
inherited |
| Enumerator | |
|---|---|
| ToxAODTrackParticle | |
| ToxAODNeutralParticle | |
| ToTrack | |
| ToTrackParticleBase | |
Definition at line 29 of file ITrackLink.h.
| Trk::LinkToTrackParticleBase::LinkToTrackParticleBase | ( | ) |
default constructor (needed for persistency)
Definition at line 10 of file LinkToTrackParticleBase.cxx.
| Trk::LinkToTrackParticleBase::LinkToTrackParticleBase | ( | ElementLink< TrackParticleBaseCollection > & | link | ) |
constructor with ElementLink
Definition at line 14 of file LinkToTrackParticleBase.cxx.
|
virtualdefault |
default destructor
|
inlineinherited |
Access the currently cached element. Doesn't trigger lookup.
Definition at line 176 of file A/AthLinks/ElementLink.h.
|
privateinherited |
Clear the currently-cached element.
|
finaloverridevirtual |
method to clone the LinkToTrack object
Implements Trk::ITrackLink.
Definition at line 33 of file LinkToTrackParticleBase.cxx.
|
inherited |
Get a constant pointer to the referenced object.
|
inherited |
Get the key that we reference, as a string.
|
privateinherited |
Find the identifier of the object being pointed to.
|
privateinherited |
Find the index of an element inside the container.
|
protectedinherited |
Retrieve the cached element from the link.
| elt[out] | The cached element. |
elt is left unmodified if there is no cached element.
|
inherited |
Retrieve storable object pointer.
|
inherited |
Retrieve storable object reference.
|
inlineinherited |
Check if the link has a cached element pointer.
Definition at line 178 of file A/AthLinks/ElementLink.h.
|
inlineinherited |
Get the index of the element inside of its container.
Definition at line 148 of file A/AthLinks/ElementLink.h.
|
inherited |
Test to see if this link is in the default state.
Definition at line 108 of file ElementLinkBase.cxx.
|
inherited |
Is the link in the default state.
A link in the default state was purposefully constructed as a null link
|
inherited |
Test the index validity.
|
inherited |
Check if the element can be found.
|
inlineinherited |
Get the key that we reference, as a hash.
Definition at line 153 of file A/AthLinks/ElementLink.h.
|
inlinefinaloverridevirtual |
return the neutral parameters of the NeutralParticle)
Implements Trk::ITrackLink.
Definition at line 34 of file LinkToTrackParticleBase.h.
|
inlineinherited |
Auto-convert to the element type.
Definition at line 166 of file A/AthLinks/ElementLink.h.
|
inlineinherited |
Operator checking the validity of the link.
Definition at line 173 of file A/AthLinks/ElementLink.h.
|
inherited |
Comparison operator.
|
inherited |
Get a reference to the object in question.
|
inlineinherited |
|
inherited |
Comparison operator.
|
finaloverridevirtual |
return the track parameters of the track (to which the EL< TrackParticleBaseCollection > points)
Implements Trk::ITrackLink.
Definition at line 20 of file LinkToTrackParticleBase.cxx.
|
inherited |
Return the index of the link.
(Deprecated; use index() instead.)
Definition at line 121 of file ElementLinkBase.cxx.
|
inherited |
Get the index of the referenced object in the container.
|
inherited |
Return the SG key that we reference, as a hash.
(Deprecated; use key instead.)
Returns 0 on failure.
Definition at line 146 of file ElementLinkBase.cxx.
|
inherited |
Get the key/identifier of the referenced container.
|
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.
|
protectedinherited |
Return the internal proxy holder object.
|
inherited |
Reset to default state.
|
protectedinherited |
Set the link to an element given by string key and index.
| dataID | Key of the object. |
| link_clid | CLID of the link being set. |
| elemID | The index of the element within the container. |
| 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.
|
inherited |
Reset with storable key and element index (fast).
|
protectedinherited |
Set the link to an element given by string key and index.
| key | Hashed key of the object. |
| link_clid | CLID of the link being set. |
| elemID | The index of the element within the container. |
| 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.
|
protectedinherited |
Set the cached element stored in the link, assuming the cached element is null.
| elt | New value for the cached element. |
This method will set the current cached element if it is currently unset. If it has previously been assigned, then this method will do nothing.
|
protectedinherited |
Set the cached element stored in the link, assuming the cached element is null.
| elt | New value for the cached element. |
This method will set the current cached element if it is currently unset. If it has previously been assigned, then this method will do nothing.
|
inherited |
Set link to point to an Element (slowest).
|
protectedinherited |
|
inherited |
Set the index of the referenced object in the container.
Definition at line 42 of file ElementLinkBase.cxx.
|
inherited |
Set the key/identifier of the referenced container.
Definition at line 37 of file ElementLinkBase.cxx.
|
inherited |
Set link storable to data object pointed by data (slower).
|
protectedinherited |
Set the container referenced by the link to data.
| data | Pointer to the new container. |
| link_clid | CLID of the link being set. |
| replace | True if we can change an existing link. |
| sg | Associated store. |
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.
|
inlineinherited |
Get the data source for the reference.
Definition at line 183 of file A/AthLinks/ElementLink.h.
|
protectedinherited |
Return a pointer to the currently-referenced container 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. |
|
protectedinherited |
Set the cached element stored in the link.
| elt | New value for the cached element. |
|
protectedinherited |
Set the cached element stored in the link.
| elt | New value for the cached element. |
|
protectedinherited |
Return the stored representation of the link index.
|
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.
|
inherited |
Adjust for thinning.
If this link points to a container that has been thinned, it will be adjusted accordingly.
| thinningCache | Thinning cache for the current stream (may be null). |
Returns true if the link was changed; false otherwise.
|
inherited |
Set link to point to given element (slowest).
|
inherited |
Set link to point to given index (slower).
|
protectedinherited |
Set the link to an element given by index and pointer to container.
| obj | Pointer to the container (storable). |
| link_clid | CLID of the link being set. |
| elemID | The index of the element within the container. |
| sg | Associated store. |
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.
|
inlineinherited |
Dummy function provinding the offline interface.
Definition at line 186 of file A/AthLinks/ElementLink.h.
|
privatevirtualinherited |
Reset the object's internal cache.
Implements ElementLinkBase.
|
inherited |
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.
|
inlinefinaloverridevirtual |
return the type
Implements Trk::ITrackLink.
Definition at line 39 of file LinkToTrackParticleBase.h.
|
staticprivateinherited |
Value to mark an invalid index.
Definition at line 62 of file AthLinks/ElementLinkBase.h.
|
staticconstexprprivateinherited |
Value to mark a default index.
Definition at line 27 of file A/AthLinks/ElementLinkBase.h.
|
mutableprivateinherited |
Cached pointer to the container.
Definition at line 197 of file A/AthLinks/ElementLink.h.
|
mutableprivateinherited |
Cached pointer to the object.
Definition at line 199 of file A/AthLinks/ElementLink.h.
|
mutableprivateinherited |
Status of the cached pointer.
Definition at line 201 of file A/AthLinks/ElementLink.h.
|
privateinherited |
Pointer to the event object.
Definition at line 203 of file A/AthLinks/ElementLink.h.
|
protectedinherited |
A transient variable signalling when direct I/O is happening.
This flag is used exclusively by the ElementLink<>::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 68 of file A/AthLinks/ElementLinkBase.h.
|
privateinherited |
The index of the element within the container for this link.
Definition at line 504 of file AthLinks/ElementLinkBase.h.
|
protectedinherited |
Index of the referenced object in the container.
Definition at line 58 of file A/AthLinks/ElementLinkBase.h.
|
privateinherited |
The hashed key for this link.
Definition at line 501 of file AthLinks/ElementLinkBase.h.
|
protectedinherited |
Key/identifier of the referenced container.
Definition at line 56 of file A/AthLinks/ElementLinkBase.h.
|
privateinherited |
SG proxy for this link.
Definition at line 507 of file AthLinks/ElementLinkBase.h.