#include <ShallowAuxContainer.h>
Classes | |
struct | TSAuxidSet |
Thread-local versions of the auxid set. | |
Public Types | |
typedef SG::auxid_t | auxid_t |
The aux ID type definition. | |
typedef SG::auxid_set_t | auxid_set_t |
The aux ID set type definition. | |
Public Member Functions | |
ShallowAuxContainer (bool standalone=false) | |
Default constructor. | |
ShallowAuxContainer (const ShallowAuxContainer &parent) | |
Copy constructor. | |
ShallowAuxContainer (const DataLink< SG::IConstAuxStore > &parent, bool standalone=false) | |
Constructor with a parent object. | |
~ShallowAuxContainer () | |
Destructor. | |
ShallowAuxContainer & | operator= (const ShallowAuxContainer &rhs) |
Assignment operator. | |
const DataLink < SG::IConstAuxStore > & | parent () const |
Get the parent store. | |
void | setParent (const DataLink< SG::IConstAuxStore > &link) |
Set the parent store. | |
bool | shallowIO () const |
Check whether only the overriden parameters will be written out or not. | |
void | setShallowIO (bool value) |
Set whether only the overriden parameters should be written out. | |
Functions implementing the SG::IAuxStoreHolder interface | |
virtual SG::IAuxStore * | getStore () const |
Get the currently used internal store object. | |
virtual void | setStore (SG::IAuxStore *store) |
Set a different internal store object. | |
virtual AuxStoreType | getStoreType () const |
Return the type of the store object. | |
Functions implementing the SG::IConstAuxStore interface | |
virtual const void * | getData (auxid_t auxid) const |
Get a pointer to a given array. | |
virtual const auxid_set_t & | getAuxIDs () const |
Get the types(names) of variables handled by this container. | |
virtual void * | getDecoration (auxid_t auxid, size_t size, size_t capacity) |
Return the data vector for one aux data decoration item. | |
virtual void | lock () |
Lock the container. | |
virtual void | clearDecorations () |
Clear all decorations. | |
virtual size_t | size () const |
Get the size of the container. | |
Functions implementing the SG::IAuxStore interface | |
virtual void * | getData (auxid_t auxid, size_t size, size_t capacity) |
Get a pointer to a given array, creating the array if necessary. | |
virtual const auxid_set_t & | getWritableAuxIDs () const |
Return a set of writable data identifiers. | |
virtual void | resize (size_t size) |
Resize the arrays to a given size. | |
virtual void | reserve (size_t size) |
Reserve a given size for the arrays. | |
virtual void | shift (size_t pos, ptrdiff_t offs) |
Shift the contents of the stored arrays. | |
Functions implementing the SG::IAuxStoreIO interface | |
virtual const void * | getIOData (auxid_t auxid) const |
Get a pointer to the data being stored for one aux data item. | |
virtual const std::type_info * | getIOType (auxid_t auxid) const |
Return the type of the data to be stored for one aux data item. | |
virtual const auxid_set_t & | getDynamicAuxIDs () const |
Get the types(names) of variables created dynamically. | |
virtual void | selectAux (const std::set< std::string > &attributes) |
Select dynamic Aux attributes by name (for writing). | |
virtual const auxid_set_t & | getSelectedAuxIDs () const |
Get the IDs of the selected dynamic Aux variables (for writing). | |
Functions managing the instance name of the container | |
const char * | name () const |
Get the name of the container instance. | |
void | setName (const char *name) |
Set the name of the container instance. |
Class creating a shallow copy of an existing auxiliary container
During analysis, in order to create objects that override just some of the properties of an original, it's wasteful to make full copies of the objects. Not to mention that the full copies have generally issues with dynamic variables.
The behaviour of this class is that it takes all the properties that it doesn't know about from the parent auxiliary store, but the ones that it has an override for, it provides itself.
The object is persistifiable. The user can choose whether to only write out the variables that were modified wrt. the original container, or possibly all the variables. (In case the original container is not getting written out.)
xAOD::ShallowAuxContainer::ShallowAuxContainer | ( | bool | standalone = false |
) |
Default constructor.
standalone | true if the store will be used for a standalone object, false for a container |
xAOD::ShallowAuxContainer::ShallowAuxContainer | ( | const DataLink< SG::IConstAuxStore > & | parent, | |
bool | standalone = false | |||
) |
Constructor with a parent object.
parent | The parent object to make a shallow copy of | |
standalone | true if the store will be used for a standalone object, false for a container |