15#include "GaudiKernel/ConcurrencyFlags.h"
26 if (Gaudi::Concurrency::ConcurrencyFlags::numThreads() > 1) {
27 ATH_MSG_WARNING(
"LockDecoration used in MT job. This configuration is likely not thread-safe." );
30 return StatusCode::SUCCESS;
43 if (
h->size_v() > 0) {
45 if (auxid == SG::null_auxid) {
47 return StatusCode::FAILURE;
53 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Handle mappings between names and auxid_t.
Manage index tracking and synchronization of auxiliary data.
Algorithm to explicitly lock a set of decorations.
Some common helper functions used by decoration handles.
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
Header file for AthHistogramAlgorithm.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
SG::WriteDecorHandleKeyArray< SG::AuxVectorBase > m_decorations
The decoration to lock.
virtual StatusCode execute(const EventContext &ctx) const override
Execute algorithm.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Manage index tracking and synchronization of auxiliary data.
void lockDecoration(SG::auxid_t auxid)
Explicitly lock a decoration.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
std::string decorKeyFromKey(const std::string &key, const std::string &deflt)
Extract the decoration part of key.
size_t auxid_t
Identifier for a particular aux data item.