 |
ATLAS Offline Software
|
Go to the documentation of this file.
33 virtual size_t size_v()
const override {
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 #ifdef ATHCONTAINERS_R21_COMPAT
670 [[maybe_unused]]
bool warnUnlocked)
683 #ifndef XAOD_STANDALONE
688 size_t oindex =
other.index();
692 #ifndef XAOD_STANDALONE
693 if (other_decors.
test (auxid)) {
695 other_ids.reset (auxid);
698 if (warnUnlocked &&
r.getName(auxid) !=
"mcEventWeights") {
699 std::ostringstream
ss;
700 ss <<
"skipped unlocked decoration " <<
r.getName(auxid)
701 <<
" (" << auxid <<
")";
707 if (!
r.isLinked (auxid)) {
713 if (!other_ids.test (auxid)) {
720 #ifdef ATHCONTAINERS_R21_COMPAT
738 [[maybe_unused]]
bool warnUnlocked)
751 #ifndef XAOD_STANDALONE
756 size_t oindex =
other.index();
760 #ifndef XAOD_STANDALONE
761 if (other_decors.
test (auxid)) {
763 other_ids.reset (auxid);
766 if (warnUnlocked &&
r.getName(auxid) !=
"mcEventWeights") {
767 std::ostringstream
ss;
768 ss <<
"skipped unlocked decoration " <<
r.getName(auxid)
769 <<
" (" << auxid <<
")";
775 if (!
r.isLinked (auxid)) {
781 if (!other_ids.test (auxid)) {
virtual size_t capacity_v() const override
Return the capacity of the container.
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.
static void clearAuxHelper(AuxVectorData &container, size_t index)
Clear all aux data associated with an element.
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.
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.
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.
virtual size_t size_v() const override
Return the size of the container.
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.
static void copyAuxHelper(AuxVectorData &container, size_t index, const ConstAuxElement &other, bool warnUnlocked)
Copy aux data from another object.
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.