xAOD::ShallowAuxContainer Class Reference

#include <ShallowAuxContainer.h>

Inheritance diagram for xAOD::ShallowAuxContainer:
SG::IAuxStore SG::IAuxStoreIO SG::IAuxStoreHolder SG::IConstAuxStore xAOD::ShallowAuxInfo

List of all members.

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.
ShallowAuxContaineroperator= (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::IAuxStoregetStore () 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_tgetAuxIDs () 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_tgetWritableAuxIDs () 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_tgetDynamicAuxIDs () 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_tgetSelectedAuxIDs () 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.

Detailed Description

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.)

Author:
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Revision
785968
Date
2016-11-23 13:34:36 +0100 (Wed, 23 Nov 2016)

Constructor & Destructor Documentation

xAOD::ShallowAuxContainer::ShallowAuxContainer ( bool  standalone = false  ) 

Default constructor.

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

Parameters:
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

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1