![]() |
ATLAS Offline Software
|
Class managing ConstDataVector objects in transient memory. More...
#include <TCDVHolderT.h>
Public Types | |
| typedef ConstDataVector< T > | Object_t |
| Type of the managed object. | |
| enum | TypeKind { OTHER , DATAVECTOR , AUXELEMENT } |
| Type of the object held by this one. More... | |
Public Member Functions | |
| TCDVHolderT (ConstDataVector< T > *object, const std::type_info &type, ::Bool_t owner=kTRUE) | |
| Constructor with the object, and its type. | |
| virtual void | set (void *obj) |
| Replace the managed object. | |
| virtual void * | getAs (const std::type_info &tid, ::Bool_t silent=kFALSE) const |
| Return the object as a specific pointer. | |
| virtual const void * | getAsConst (const std::type_info &tid, ::Bool_t silent=kFALSE) const |
| Return the object as a specific, constant pointer. | |
| const void * | get () const |
| Return a typeless const pointer to the held object. | |
| void * | get () |
| Return a typeless pointer to the held object. | |
| void ** | getPtr () |
| Return a typeless pointer to the held object's pointer. | |
| ::Bool_t | isOwner () const |
| Check whether the holder owns its object. | |
| void | setOwner (::Bool_t state=kTRUE) |
| Set whether the holder should own its object. | |
| ::Bool_t | isConst () const |
| Check if the object is const. | |
| void | setConst () |
| Mark the object as const. | |
| void | renew () |
| Renew the object in memory. | |
| TypeKind | typeKind () const |
| Return the type of the object held by this one. | |
| const ::TClass * | getClass () const |
| ::TClass * | getClass () |
| const std::type_info * | getTypeInfo () const |
Protected Member Functions | |
| void | deleteObject () |
| Internal function used to delete the managed object from memory. | |
| void * | getImpl (const std::type_info &tid, ::Bool_t silent=kFALSE) const |
| Internal function to get an object. | |
Protected Attributes | |
| void * | m_object |
| Typeless pointer to the object in memory. | |
| ::TClass * | m_type |
| Concrete type of the object being held on to. | |
| const std::type_info * | m_typeInfo |
| Concrete type of the object, if it doesn't have a dictionary. | |
| ::Bool_t | m_owner |
| A flag for whether the object owns what it points to. | |
| TypeKind | m_typeKind |
| Type of the object held. | |
| ::Bool_t | m_const |
| Is the held object const? | |
Private Attributes | |
| ConstDataVector< T > * | m_cdvObject |
| Type specific pointer to the managed object. | |
| THolder | m_holderHelper |
| Helper object managing the inheritance tree of the underlying DataVector type. | |
Class managing ConstDataVector objects in transient memory.
In order to be able to record ConstDataVector objects into the transient store, and be able to retrieve them as "const DataVector", we need to use a specialised holder type. Very much like how we use a specialised SG::DataBucket for this type in Athena's StoreGate.
Definition at line 28 of file TCDVHolderT.h.
| typedef ConstDataVector< T > xAOD::TCDVHolderT< T >::Object_t |
Type of the managed object.
Definition at line 32 of file TCDVHolderT.h.
|
inherited |
Type of the object held by this one.
| Enumerator | |
|---|---|
| OTHER | Some non-specified type. |
| DATAVECTOR | A DataVector container. |
| AUXELEMENT | A type inheriting from |
| xAOD::TCDVHolderT< T >::TCDVHolderT | ( | ConstDataVector< T > * | object, |
| const std::type_info & | type, | ||
| ::Bool_t | owner = kTRUE ) |
Constructor with the object, and its type.
|
protectedinherited |
Internal function used to delete the managed object from memory.
Definition at line 438 of file THolder.cxx.
|
inherited |
Return a typeless pointer to the held object.
Definition at line 221 of file THolder.cxx.
|
inherited |
Return a typeless const pointer to the held object.
Definition at line 216 of file THolder.cxx.
|
virtual |
Return the object as a specific pointer.
Reimplemented from xAOD::THolder.
|
virtual |
Return the object as a specific, constant pointer.
Reimplemented from xAOD::THolder.
|
inherited |
Definition at line 407 of file THolder.cxx.
|
inherited |
Return the concrete type of the object
Definition at line 402 of file THolder.cxx.
|
protectedinherited |
Internal function to get an object.
Internal helper or getAs and getAsConst.
| tid | The type as which the object is to be retrieved |
| silent | When kTRUE, the call will fail silently when unsuccessful |
Definition at line 297 of file THolder.cxx.
|
inherited |
Return a typeless pointer to the held object's pointer.
Definition at line 226 of file THolder.cxx.
|
inherited |
Definition at line 412 of file THolder.cxx.
|
inherited |
|
inherited |
Check whether the holder owns its object.
Definition at line 253 of file THolder.cxx.
|
inherited |
Renew the object in memory.
This function is mostly used in "Athena access mode", to delete the managed objects from memory between events, and recreate them from scratch.
Definition at line 421 of file THolder.cxx.
|
virtual |
Replace the managed object.
Reimplemented from xAOD::THolder.
|
inherited |
Mark the object as const.
Definition at line 285 of file THolder.cxx.
|
inherited |
Set whether the holder should own its object.
Definition at line 258 of file THolder.cxx.
|
inlineinherited |
|
private |
Type specific pointer to the managed object.
Definition at line 51 of file TCDVHolderT.h.
|
protectedinherited |
|
private |
Helper object managing the inheritance tree of the underlying DataVector type.
Definition at line 54 of file TCDVHolderT.h.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |