ATLAS Offline Software
|
Interface for objects taking part in direct ROOT I/O. More...
#include <IAuxStoreHolder.h>
Public Types | |
enum | AuxStoreType { AST_ObjectStore = 0, AST_ContainerStore = 1 } |
Type of the auxiliary store. More... | |
Public Member Functions | |
virtual | ~IAuxStoreHolder () |
Virtual destructor to make vtable happy... More... | |
virtual void | setStore (IAuxStore *store)=0 |
Give an auxiliary store object to the holder object. More... | |
virtual IAuxStore * | getStore ()=0 |
Return the pointer to the store object currently in use. More... | |
virtual const IAuxStore * | getStore () const =0 |
virtual AuxStoreType | getStoreType () const =0 |
Return the type of the store object. More... | |
Interface for objects taking part in direct ROOT I/O.
This interface needs to be implemented by classes that serve as auxiliary containers that we want to use in our EDM directly. It allows the I/O infrastructure to give a store object to the object implementing this interface. At that point the object given to this interface will be the one doing the ROOT I/O for the "dynamic" auxiliary variables. Currently there's a single implementation of this, "xAODCore/AuxContainerBase.h", but we may want to have other implementations later on as well.
Definition at line 36 of file IAuxStoreHolder.h.
Type of the auxiliary store.
In the xAOD EDM we use auxiliary store objects in some cases to describe a single object, and in most cases to describe a container of objects. This enumeration declares which type the object implementing this interface is.
Enumerator | |
---|---|
AST_ObjectStore | The store describes a single object. |
AST_ContainerStore | The store describes a container. |
Definition at line 66 of file IAuxStoreHolder.h.
|
inlinevirtual |
Implemented in xAOD::ShallowAuxContainer, xAOD::AuxContainerBase, xAOD::AuxInfoBase, and APRTest::AuxStore.
|
pure virtual |
Return the pointer to the store object currently in use.
There's not much use case for this function yet, but it makes the interface complete at least.
Implemented in xAOD::ShallowAuxContainer, xAOD::AuxContainerBase, xAOD::AuxInfoBase, and APRTest::AuxStore.
|
pure virtual |
Return the type of the store object.
Implemented in xAOD::ShallowAuxContainer, xAOD::AuxContainerBase, xAOD::AuxInfoBase, APRTest::AuxStore, and xAOD::ShallowAuxInfo.
|
pure virtual |
Give an auxiliary store object to the holder object.
The purpose of this function is to give an alternate store object to this object instead of the one it uses normally.
store | Pointer to an object implementing direct ROOT I/O |
Implemented in xAOD::ShallowAuxContainer, xAOD::AuxContainerBase, and xAOD::AuxInfoBase.