|
ATLAS Offline Software
|
Go to the documentation of this file.
8 #ifndef XAODCORE_SHALLOWAUXCONTAINER_H
9 #define XAODCORE_SHALLOWAUXCONTAINER_H
12 #include "AthLinks/DataLink.h"
17 #ifndef XAOD_STANDALONE
19 #endif // not XAOD_STANDALONE
51 #ifndef XAOD_STANDALONE
53 #endif // not XAOD_STANDALONE
119 virtual void lock()
override;
123 virtual size_t size()
const override;
133 size_t capacity )
override;
143 virtual void shift(
size_t pos, ptrdiff_t offs )
override;
172 const char*
name()
const;
201 typedef AthContainers_detail::recursive_mutex
mutex_t;
202 typedef AthContainers_detail::lock_guard<mutex_t>
guard_t;
223 #include "xAODCore/BaseInfo.h"
227 #endif // XAODCORE_SHALLOWAUXCONTAINER_H
auxid_set_t m_auxids ATLAS_THREAD_SAFE
ShallowAuxContainer & operator=(const ShallowAuxContainer &rhs)
Assignment operator.
virtual void lock() override
Lock the container.
auxid_set_t m_decorids ATLAS_THREAD_SAFE
virtual const std::type_info * getIOType(auxid_t auxid) const override
Return the type of the data to be stored for one aux data item.
virtual const auxid_set_t & getDynamicAuxIDs() const override
Get the types(names) of variables created dynamically.
virtual bool insertMove(size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore) override
Insert contents of another store via move.
const DataLink< SG::IConstAuxStore > & parent() const
Get the parent store.
ShallowAuxContainer(bool standalone=false)
Default constructor.
virtual const SG::IAuxTypeVector * getVector(SG::auxid_t auxid) const override final
Return vector interface for one aux data item.
virtual void reserve(size_t size) override
Reserve a given size for the arrays.
Interface to allow an object to lock itself when made const in SG.
Class creating a shallow copy of an existing auxiliary container.
AthContainers_detail::lock_guard< mutex_t > guard_t
const char * name() const
Get the name of the container instance.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
virtual void lockDecoration(SG::auxid_t auxid) override
Lock a decoration.
AuxSelection m_selection
Dynamic attributes selection implementation.
bool m_shallowIO
Flag for whether to do "shallow IO" or not.
void setParent(const DataLink< SG::IConstAuxStore > &link)
Set the parent store.
virtual size_t size() const override
Get the size of the container.
bool m_ownsStore
Flag deciding if the object owns the dynamic store or not.
Interface providing I/O for a generic auxiliary store.
void setShallowIO(bool value)
Set whether only the overriden parameters should be written out.
AuxStoreType
Type of the auxiliary store.
virtual void * getDecoration(auxid_t auxid, size_t size, size_t capacity) override
Return the data vector for one aux data decoration item.
std::string m_name
Name of the container in memory. Set externally.
size_t auxid_t
Identifier for a particular aux data item.
DataLink< SG::IConstAuxStore > m_parentLink
Link to the parent object.
virtual const auxid_set_t & getDecorIDs() const override
Get the types(names) of decorations handled by this container.
Interface providing I/O for a generic auxiliary store.
SG::IAuxStoreIO * m_storeIO
The IO interface to the internal auxiliary store.
virtual SG::IAuxStore * getStore() override
Get the currently used internal store object.
bool shallowIO() const
Check whether only the overriden parameters will be written out or not.
virtual const void * getIOData(auxid_t auxid) const override
Get a pointer to the data being stored for one aux data item.
virtual AuxStoreType getStoreType() const override
Return the type of the store object.
virtual void shift(size_t pos, ptrdiff_t offs) override
Shift the contents of the stored arrays.
virtual const auxid_set_t & getWritableAuxIDs() const override
Return a set of writable data identifiers.
virtual const auxid_set_t & getAuxIDs() const override
Get the types(names) of variables handled by this container.
Class helping in dealing with dynamic branch selection.
virtual bool isDecoration(auxid_t auxid) const override
Test if a variable is a decoration.
const SG::IAuxStoreIO * m_parentIO
Optional pointer to the IO interface of the parent object.
bool m_locked
Flag keeping track of whether this object is locked or not.
SG_BASES3(xAOD::ShallowAuxContainer, SG::IAuxStore, SG::IAuxStoreIO, SG::IAuxStoreHolder)
bool m_auxidsValid ATLAS_THREAD_SAFE
File providing the different SG_BASE macros.
void setName(const char *name)
Set the name of the container instance.
Interface for non-const operations on an auxiliary store.
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Abstract interface for manipulating vectors of arbitrary types.
Interface for non-const operations on an auxiliary store.
Interface to allow an object to lock itself when made const in SG.
A set of aux data identifiers.
SG::auxid_set_t auxid_set_t
The aux ID set type definition.
SG::IAuxStore * m_store
Internal dynamic auxiliary store object.
AthContainers_detail::recursive_mutex mutex_t
Mutex for multithread synchronization.
virtual void setStore(SG::IAuxStore *store) override
Set a different internal store object.
SG::auxid_t auxid_t
The aux ID type definition.
Define macros for attributes used to control the static checker.
Interface for objects taking part in direct ROOT I/O.
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
virtual auxid_set_t getSelectedAuxIDs() const override
Get the IDs of the selected dynamic Aux variables (for writing)
~ShallowAuxContainer()
Destructor.
virtual bool resize(size_t size) override
Resize the arrays to a given size.
void remakeAuxIDs() const
@ AST_ContainerStore
The store describes a container.
virtual bool clearDecorations() override
Clear all decorations.