 |
ATLAS Offline Software
|
Go to the documentation of this file.
33 virtual size_t size_v()
const {
return 1; }
135 "from a container.");
322 #ifdef ATHCONTAINERS_R21_COMPAT
357 #ifdef ATHCONTAINERS_R21_COMPAT
380 #ifdef ATHCONTAINERS_R21_COMPAT
443 #ifdef ATHCONTAINERS_R21_COMPAT
478 "object in a container or with a private store.");
490 "object in a container or with a private store.");
507 #ifdef ATHCONTAINERS_R21_COMPAT
543 "from a container.");
570 this->
copyAux (*other, warnUnlocked);
608 [[maybe_unused]]
bool warnUnlocked )
622 size_t oindex =
other.index();
624 #ifndef XAOD_STANDALONE
632 #ifndef XAOD_STANDALONE
633 if (other_decors.
test (auxid)) {
635 other_ids.reset (auxid);
638 if (warnUnlocked &&
r.getName(auxid) !=
"mcEventWeights") {
639 std::ostringstream
ss;
640 ss <<
"skipped unlocked decoration " <<
r.getName(auxid)
641 <<
" (" << auxid <<
")";
647 if (!
r.isLinked (auxid)) {
648 r.copy (auxid, cont,
index(), *ocont, oindex, 1);
653 if (!other_ids.test (auxid)) {
654 r.clear (auxid, cont,
index(), 1);
660 #ifdef ATHCONTAINERS_R21_COMPAT
675 [[maybe_unused]]
bool warnUnlocked )
689 size_t oindex =
other.index();
691 #ifndef XAOD_STANDALONE
699 #ifndef XAOD_STANDALONE
700 if (other_decors.
test (auxid)) {
702 other_ids.reset (auxid);
705 if (warnUnlocked &&
r.getName(auxid) !=
"mcEventWeights") {
706 std::ostringstream
ss;
707 ss <<
"skipped unlocked decoration " <<
r.getName(auxid)
708 <<
" (" << auxid <<
")";
714 if (!
r.isLinked (auxid)) {
715 r.copy (auxid, cont,
index(), *ocont, oindex, 1);
720 if (!other_ids.test (auxid)) {
721 r.clear (auxid, cont,
index(), 1);
const SG::IConstAuxStore * getConstStore() const
Return the current store, as a const interface.
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
char data[hepevt_bytes_allocation_ATLAS]
static AuxTypeRegistry & instance()
Return the singleton registry instance.
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
const SG::AuxVectorData * container() const
Return the container holding this element.
const SG::auxid_set_t & getWritableAuxIDs() const
Return a set of identifiers for writable data items in this store.
Base class for elements of a container that can have aux data.
const SG::AuxVectorData * m_container
The container of which this object is an element.
Exceptions that can be thrown from AthContainers.
bool hasNonConstStore() const
Return true if this object has an associated non-const store.
bool hasNonConstStore() const
Return true if this object has an associated non-const store.
bool usingStandaloneStore() const
Test to see if this object is currently using a standalone store.
bool setIndexPrivate(size_t index, const SG::AuxVectorData *container)
Set the index/container for this element.
Exception — Non-const operation performed on const aux data.
virtual size_t capacity_v() const
Return the capacity of the container.
void setNoPrivateData()
Record that this element does not have private data.
SG::IAuxStore * getStore() const
Return the current store, as a non-const interface.
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items in store associated with this object.
Handle mappings between names and auxid_t.
virtual size_t size_v() const
Return the size of the container.
void setStore(SG::IAuxStore *store)
Set the store associated with this object.
size_t index() const
Return the index of this element within its container.
void setHadPrivateData()
Record that this element used to have private data.
void releasePrivateStoreForDtor()
Out-of-line portion of destructor.
size_t auxid_t
Identifier for a particular aux data item.
AuxStoreStandalone m_store
void setStore(const SG::IConstAuxStore *store)
Set the store associated with this object.
void copyAux(const ConstAuxElement &other, bool warnUnlocked=false)
Copy aux data from another object.
void clearAux()
Clear all aux data associated with this element.
bool havePrivateData() const
True if this element currently has private data.
#define ATHCONTAINERS_WARNING(ctx, msg)
bool usingPrivateStore() const
Test to see if this object is currently using a private store.
SG::IAuxStore * getStore()
Return the current store, as a non-const interface.
bool setIndexPrivate(size_t index, SG::AuxVectorData *container)
Set the index/container for this element.
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
void releasePrivateStore()
Release and free any private store associated with this object.
Helper for emitting error messages.
Auxiliary data store for standalone objects.
Internal data container for private store.
bool clearDecorations() const
Clear all decorations.
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
bool hasStore() const
Return true if this object has an associated store.
Const part of AuxElement.
void clearCache()
Clear the cached aux data pointers.
void setHavePrivateData()
Record that this element currently has private data.
void clearCache()
Clear the cached aux data pointers.
void makePrivateStore()
Create a new (empty) private store for this object.
void makePrivateStore1(const void *other, bool warnUnlocked)
Create a new private store for this object and copy aux data.
Internal data container for standalone store.
const SG::IConstAuxStore * getConstStore() const
Return the current store, as a const interface.
Interface for non-const operations on an auxiliary store.
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
bool hasStore() const
Return true if this object has an associated store.
void setIndex(size_t index)
Set the index of this element within its container.
bool clearDecorations() const
Clear all decorations.
Auxiliary data store for standalone objects.
Exception — Bad use of private store.
virtual const SG::auxid_set_t & getDecorIDs() const =0
Return a set of identifiers for decorations in this store.
A set of aux data identifiers.
Manage lookup of vectors of auxiliary data.
#define ATLAS_THREAD_SAFE
void releasePrivateStoreForDtor()
Out-of-line portion of destructor.
const SG::AuxVectorData * container() const
Return the container holding this element.
Interface for const operations on an auxiliary store.
Define macros for attributes used to control the static checker.
bool hadPrivateData() const
True if this element had private data before it was added to its current container.
virtual const SG::auxid_set_t & getAuxIDs() const =0
Return a set of identifiers for existing data items in this store.
AuxElementStandaloneData * setStore1(const SG::IConstAuxStore *store)
Set the store associated with this object.
Base class for elements of a container that can have aux data.
bool test(bit_t bit) const
Test to see if a bit is set.