ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Types | Private Attributes | List of all members
xAOD::EventAuxInfo_v3 Class Referenceabstract

Auxiliary information about the event. More...

#include <EventAuxInfo_v3.h>

Inheritance diagram for xAOD::EventAuxInfo_v3:
Collaboration diagram for xAOD::EventAuxInfo_v3:

Public Types

typedef SG::auxid_t auxid_t
 The aux ID type definition. More...
 
typedef SG::auxid_set_t auxid_set_t
 The aux ID set type definition. More...
 
template<class T , class ALLOC = std::allocator<T>>
using AuxVariable_t = T
 Declare how to wrap variables for this sort of base. More...
 
template<class T , class ALLOC = std::allocator<T>>
using LinkedVariable_t = std::vector< T, ALLOC >
 
enum  AuxStoreType { AST_ObjectStore = 0, AST_ContainerStore = 1 }
 Type of the auxiliary store. More...
 

Public Member Functions

 EventAuxInfo_v3 ()
 Default constructor. More...
 
virtual void * getDecoration (SG::auxid_t auxid, size_t size, size_t capacity) override
 Return the data vector for one aux data decoration item. More...
 
virtual bool isDecoration (auxid_t auxid) const override
 Test if a particular variable is tagged as a decoration. More...
 
virtual void lockDecoration (SG::auxid_t auxid) override
 Lock a decoration. More...
 
void toTransient ()
 Called after one of these objects is read. More...
 
virtual const void * getData (SG::auxid_t auxid) const=0
 Pick up the const version from the base class. More...
 
virtual const IAuxTypeVector * linkedVector (SG::auxid_t) const
 Return interface for a linked variable. More...
 
virtual bool insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore=SG::auxid_set_t())=0
 Move all elements from other to this store. More...
 
template<typename T >
auxid_t getAuxID (const std::string &name, T &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid)
 Get the auxiliary ID for one of the persistent variables. More...
 
template<typename T >
void regAuxVar (auxid_t auxid, const std::string &name, T &info)
 Register one of the persistent variables internally. More...
 

Public Attributes

CxxUtils::ConcurrentBitset m_decorFlags
 Keep track of the event status flags. More...
 
Basic event information
uint32_t runNumber
 
uint64_t eventNumber
 
uint32_t lumiBlock
 
uint32_t timeStamp
 
uint32_t timeStampNSOffset
 
uint32_t bcid
 
uint32_t detectorMask0
 
uint32_t detectorMask1
 
uint32_t detectorMask2
 
uint32_t detectorMask3
 
Event type information
std::vector< std::pair< std::string, std::string > > detDescrTags
 
uint32_t eventTypeBitmask
 
Trigger related information
uint32_t statusElement
 
uint32_t extendedLevel1ID
 
uint16_t level1TriggerType
 
std::vector< std::string > streamTagNames
 
std::vector< std::string > streamTagTypes
 
std::vector< charstreamTagObeysLumiblock
 
Detector flags
uint32_t pixelFlags
 
uint32_t sctFlags
 
uint32_t trtFlags
 
uint32_t larFlags
 
uint32_t tileFlags
 
uint32_t muonFlags
 
uint32_t forwardDetFlags
 
uint32_t coreFlags
 
uint32_t backgroundFlags
 
uint32_t lumiFlags
 

Static Public Attributes

static constexpr bool supportsThinning = true
 Mark that this type supports thinning operations. More...
 

Private Types

typedef AthContainers_detail::mutex mutex_t
 Mutex for multithread synchronization. More...
 
typedef AthContainers_detail::lock_guard< mutex_tguard_t
 

Private Attributes

auxid_set_t m_auxids
 Internal list of all available variables. More...
 
std::vector< SG::IAuxTypeVector * > m_vecs
 Internal list of all managed variables. More...
 
SG::IAuxStorem_store
 Internal dynamic auxiliary store object. More...
 
SG::IAuxStoreIOm_storeIO
 The IO interface to the internal auxiliary store. More...
 
bool m_ownsStore
 Flag deciding if the object owns the dynamic store or not. More...
 
bool m_locked
 Has the container been locked? More...
 
mutex_t m_mutex
 
std::string m_name
 Name of the container in memory. Set externally. More...
 

Detailed Description

Auxiliary information about the event.

This object describes the "static" auxiliary information about an event.

Author
Attila Krasznahorkay Attil.nosp@m.a.Kr.nosp@m.aszna.nosp@m.hork.nosp@m.ay@ce.nosp@m.rn.c.nosp@m.h

Definition at line 28 of file EventAuxInfo_v3.h.

Member Typedef Documentation

◆ auxid_set_t

The aux ID set type definition.

Definition at line 55 of file AuxInfoBase.h.

◆ auxid_t

The aux ID type definition.

Definition at line 53 of file AuxInfoBase.h.

◆ AuxVariable_t

template<class T , class ALLOC = std::allocator<T>>
using xAOD::AuxInfoBase::AuxVariable_t = T
inherited

Declare how to wrap variables for this sort of base.

Definition at line 179 of file AuxInfoBase.h.

◆ guard_t

typedef AthContainers_detail::lock_guard< mutex_t > xAOD::AuxInfoBase::guard_t
privateinherited

Definition at line 212 of file AuxInfoBase.h.

◆ LinkedVariable_t

template<class T , class ALLOC = std::allocator<T>>
using xAOD::AuxInfoBase::LinkedVariable_t = std::vector<T, ALLOC>
inherited

Definition at line 181 of file AuxInfoBase.h.

◆ mutex_t

typedef AthContainers_detail::mutex xAOD::AuxInfoBase::mutex_t
privateinherited

Mutex for multithread synchronization.

Definition at line 211 of file AuxInfoBase.h.

Member Enumeration Documentation

◆ AuxStoreType

Type of the auxiliary store.

In the xAOD EDM we use auxiliary store objects in some cases to describe a single object, and in most cases to describe a container of objects. This enumeration declares which type the object implementing this interface is.

Enumerator
AST_ObjectStore 

The store describes a single object.

AST_ContainerStore 

The store describes a container.

Definition at line 66 of file IAuxStoreHolder.h.

66  {
67  AST_ObjectStore = 0,
69  };

Constructor & Destructor Documentation

◆ EventAuxInfo_v3()

xAOD::EventAuxInfo_v3::EventAuxInfo_v3 ( )

Default constructor.

Definition at line 10 of file EventAuxInfo_v3.cxx.

11  : AuxInfoBase(),
12  runNumber(0),
13  eventNumber(0),
14  lumiBlock(0),
15  timeStamp(0),
17  bcid(0),
18  detectorMask0(0),
19  detectorMask1(0),
20  detectorMask2(0),
21  detectorMask3(0),
23  statusElement(0),
26  pixelFlags(0),
27  sctFlags(0),
28  trtFlags(0),
29  larFlags(0),
30  tileFlags(0),
31  muonFlags(0),
32  forwardDetFlags(0),
33  coreFlags(0),
34  backgroundFlags(0),
35  lumiFlags(0),
36  m_decorFlags (SG::auxid_set_size_hint)
37  {
38 
39  // Basic event information:
45  AUX_VARIABLE( bcid );
50 
51  // Event type information:
54 
55  // Trigger related information:
62 
63  // Detector flags:
64 #define DET_FLAG(VAR) \
65  AUX_VARIABLE( VAR, SG::AuxTypeRegistry::Flags::Atomic ); \
66  do { \
67  static const auxid_t auxid = \
68  getAuxID( #VAR, VAR, \
69  SG::AuxTypeRegistry::Flags::Atomic ); \
70  m_decorFlags.insert( auxid ); \
71  } while( false )
72 
74  DET_FLAG( sctFlags );
75  DET_FLAG( trtFlags );
76  DET_FLAG( larFlags );
83 #undef DET_FLAG
84  }

Member Function Documentation

◆ clearDecorations()

bool xAOD::AuxInfoBase::clearDecorations ( )
overridevirtualinherited

Clear all decorations.

Implements SG::IConstAuxStore.

Definition at line 322 of file AuxInfoBase.cxx.

322  {
323 
324  // Guard against multi-threaded execution:
325  guard_t guard( m_mutex );
326 
327  // Clear the decorations that are in the dynamic store:
328  bool anycleared = false;
329  if( m_store ) {
330  anycleared = m_store->clearDecorations();
331  }
332  // Early exit if there were no decorations.
333  if (!anycleared) return false;
334 
335  // Reconstruct the list of managed auxiliary IDs from scratch:
337  for( auxid_t auxid = 0; auxid < m_vecs.size(); ++auxid ) {
338  if( m_vecs[ auxid ] ) {
339  ids.insert( auxid );
340  }
341  }
342  if( m_store ) {
343  ids.insert (m_store->getAuxIDs());
344  }
345  m_auxids = ids;
346 
347  return true;
348  }

◆ getAuxID()

template<typename T >
auxid_t xAOD::AuxInfoBase::getAuxID ( const std::string &  name,
T &  ,
SG::AuxVarFlags  flags = SG::AuxVarFlags::None,
const SG::auxid_t  linkedVariable = SG::null_auxid 
)
inherited

Get the auxiliary ID for one of the persistent variables.

◆ getAuxIDs()

const AuxInfoBase::auxid_set_t & xAOD::AuxInfoBase::getAuxIDs ( ) const
overridevirtualinherited

Get the types(names) of variables handled by this container.

Implements SG::IConstAuxStore.

Definition at line 249 of file AuxInfoBase.cxx.

249  {
250 
251  // Return the full list of IDs:
252  return getWritableAuxIDs();
253  }

◆ getData() [1/3]

const void * xAOD::AuxInfoBase::getData ( auxid_t  auxid) const
overridevirtualinherited

Get a pointer to a given array.

Implements SG::IConstAuxStore.

Definition at line 195 of file AuxInfoBase.cxx.

195  {
196 
197  const SG::IAuxTypeVector* v = getVector( auxid );
198  if( v ) {
199  return v->toPtr();
200  }
201  return nullptr;
202  }

◆ getData() [2/3]

void * xAOD::AuxInfoBase::getData ( auxid_t  auxid,
size_t  size,
size_t  capacity 
)
overridevirtualinherited

Get a pointer to a given array, creating the array if necessary.

Implements SG::IAuxStore.

Definition at line 424 of file AuxInfoBase.cxx.

425  {
426 
427  // Guard against multi-threaded execution:
428  guard_t guard( m_mutex );
429 
430  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
431 
432  if( m_store ) {
433  void* result = m_store->getData( auxid, size, capacity );
434  if( result ) {
435  m_auxids.insert( auxid );
437  auxid_t linked_id = r.linkedVariable( auxid );
438  if (linked_id != SG::null_auxid) {
439  m_auxids.insert( linked_id );
440  }
441  }
442  return result;
443  } else {
444  std::cout << "ERROR xAOD::AuxInfoBase::getData "
445  << "Unknown variable ("
447  << ") requested" << std::endl;
448  return nullptr;
449  }
450  }
451  m_vecs[ auxid ]->reserve( capacity );
452  if (m_vecs[ auxid ]->size() < size) {
453  m_vecs[ auxid ]->resize( size );
454  }
455 
456  return m_vecs[ auxid ]->toPtr();
457  }

◆ getData() [3/3]

virtual const void* SG::IConstAuxStore::getData
inherited

Pick up the const version from the base class.

◆ getDecoration()

void * xAOD::EventAuxInfo_v3::getDecoration ( SG::auxid_t  auxid,
size_t  size,
size_t  capacity 
)
overridevirtual

Return the data vector for one aux data decoration item.

Parameters
auxidThe identifier of the desired aux data item.
sizeThe current size of the container (in case the data item does not already exist).
capacityThe current capacity of the container (in case the data item does not already exist).

Reimplemented from xAOD::AuxInfoBase.

Definition at line 95 of file EventAuxInfo_v3.cxx.

98  {
99  if (m_decorFlags.test (auxid)) {
100  return AuxInfoBase::getData (auxid, size, capacity);
101  }
102 
103  return AuxInfoBase::getDecoration (auxid, size, capacity);
104  }

◆ getDecorIDs()

const AuxInfoBase::auxid_set_t & xAOD::AuxInfoBase::getDecorIDs ( ) const
overridevirtualinherited

Get the types(names) of decorations handled by this container.

Implements SG::IConstAuxStore.

Definition at line 256 of file AuxInfoBase.cxx.

256  {
257 
258  if( m_store ) {
259  return m_store->getDecorIDs();
260  }
261  static const auxid_set_t empty;
262  return empty;
263  }

◆ getDynamicAuxIDs()

const AuxInfoBase::auxid_set_t & xAOD::AuxInfoBase::getDynamicAuxIDs ( ) const
overridevirtualinherited

Get the types(names) of variables created dynamically.

Implements SG::IAuxStoreIO.

Definition at line 636 of file AuxInfoBase.cxx.

636  {
637 
638  // Guard against multi-threaded execution:
639  guard_t guard( m_mutex );
640 
641  // All the variables handled by the internal store are dynamic
642  // if such a store exists:
643  if( m_storeIO ) {
644  // I mean, all the variables. Not just the ones reported as dynamic
645  // by the internal object. Because the internal object may be something
646  // that was put into this one in order to achieve data slimming.
647  return m_store->getAuxIDs();
648  }
649 
650  // In case we don't use an internal store, there are no dynamic
651  // variables:
652  static const auxid_set_t dummy (0);
653  return dummy;
654  }

◆ getIOData()

const void * xAOD::AuxInfoBase::getIOData ( auxid_t  auxid) const
overridevirtualinherited

Get a pointer to the data being stored for one aux data item.

Implements SG::IAuxStoreIO.

Definition at line 585 of file AuxInfoBase.cxx.

585  {
586 
587  // Guard against multi-threaded execution:
588  guard_t guard( m_mutex );
589 
590  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
591  if( m_storeIO ) {
592  return m_storeIO->getIOData( auxid );
593  } else {
594  std::cout << "ERROR xAOD::AuxInfoBase::getIOData "
595  << "Unknown variable ("
597  << ") requested" << std::endl;
598  return nullptr;
599  }
600  }
601 
602  // Update the statistics for this variable. The dynamic store registers
603  // its own variable accesses.
605 
606  if( m_vecs[ auxid ]->isLinked() )
607  return m_vecs[ auxid ]->toVector();
608  else
609  return m_vecs[ auxid ]->toPtr();
610  }

◆ getIOType()

const std::type_info * xAOD::AuxInfoBase::getIOType ( auxid_t  auxid) const
overridevirtualinherited

Return the type of the data to be stored for one aux data item.

Implements SG::IAuxStoreIO.

Definition at line 612 of file AuxInfoBase.cxx.

612  {
613 
614  // Guard against multi-threaded execution:
615  guard_t guard( m_mutex );
616 
617  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
618  if( m_storeIO ) {
619  return m_storeIO->getIOType( auxid );
620  } else {
621  std::cout << "ERROR xAOD::AuxInfoBase::getIOType "
622  << "Unknown variable ("
624  << ") requested" << std::endl;
625  return nullptr;
626  }
627  }
628 
629  if( m_vecs[ auxid ]->isLinked() )
630  return SG::AuxTypeRegistry::instance().getType( auxid );
631  else
632  return SG::AuxTypeRegistry::instance().getVecType( auxid );
633  }

◆ getSelectedAuxIDs()

AuxInfoBase::auxid_set_t xAOD::AuxInfoBase::getSelectedAuxIDs ( ) const
overridevirtualinherited

Get the IDs of the selected dynamic Aux variables (for writing)

Reimplemented from SG::IAuxStoreIO.

Definition at line 657 of file AuxInfoBase.cxx.

657  {
658 
659  // Guard against multi-threaded execution:
660  guard_t guard( m_mutex );
661 
662  // All the variables handled by the internal store are dynamic
663  // if such a store exists:
664  if( m_storeIO ) {
665  // I mean, all the variables. Not just the ones reported as dynamic
666  // by the internal object. Because the internal object may be something
667  // that was put into this one in order to achieve data slimming.
668  return m_store->getAuxIDs();
669  }
670 
671  // In case we don't use an internal store, there are no dynamic
672  // variables:
673  return auxid_set_t();
674  }

◆ getStore() [1/2]

const SG::IAuxStore * xAOD::AuxInfoBase::getStore ( ) const
overridevirtualinherited

Get the currently used internal store object.

Implements SG::IAuxStoreHolder.

Definition at line 146 of file AuxInfoBase.cxx.

147  {
148  return m_store;
149  }

◆ getStore() [2/2]

SG::IAuxStore * xAOD::AuxInfoBase::getStore ( )
overridevirtualinherited

Get the currently used internal store object.

Implements SG::IAuxStoreHolder.

Definition at line 140 of file AuxInfoBase.cxx.

141  {
142  return m_store;
143  }

◆ getStoreType()

virtual AuxStoreType xAOD::AuxInfoBase::getStoreType ( ) const
inlineoverridevirtualinherited

Return the type of the store object.

Implements SG::IAuxStoreHolder.

Definition at line 79 of file AuxInfoBase.h.

79 { return AST_ObjectStore; }

◆ getVector()

const SG::IAuxTypeVector * xAOD::AuxInfoBase::getVector ( SG::auxid_t  auxid) const
finaloverridevirtualinherited

Return vector interface for one aux data item.

Implements SG::IConstAuxStore.

Definition at line 204 of file AuxInfoBase.cxx.

204  {
205 
206  // Guard against multi-threaded execution:
207  guard_t guard( m_mutex );
208 
209  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
210  if( m_store ) {
211  const SG::IAuxTypeVector* result = m_store->getVector( auxid );
212  if( result ) {
213  auxid_set_t& auxids_nc ATLAS_THREAD_SAFE =
214  const_cast<auxid_set_t&> (m_auxids);
215  auxids_nc.insert( auxid );
217  auxid_t linked_id = r.linkedVariable( auxid );
218  if (linked_id != SG::null_auxid) {
219  auxids_nc.insert( linked_id );
220  }
221  }
222  return result;
223  } else {
224  std::cout << "ERROR xAOD::AuxInfoBase::getData "
225  << "Unknown variable ("
227  << ") requested" << std::endl;
228  return nullptr;
229  }
230  }
231 
232  // Update the statistics for this variable. The dynamic store registers
233  // its own variable accesses.
235 
236  return m_vecs[ auxid ];
237  }

◆ getWritableAuxIDs()

const AuxInfoBase::auxid_set_t & xAOD::AuxInfoBase::getWritableAuxIDs ( ) const
overridevirtualinherited

Return a set of writable data identifiers.

Implements SG::IAuxStore.

Definition at line 460 of file AuxInfoBase.cxx.

460  {
461 
462  // Return the full list of known IDs. The constness of this object's
463  // members comes from the object being const or not.
464  return m_auxids;
465  }

◆ insertMove() [1/2]

bool xAOD::AuxInfoBase::insertMove ( size_t  pos,
IAuxStore &  other,
const SG::auxid_set_t ignore 
)
overridevirtualinherited

Insert contents of another store via move.

Definition at line 549 of file AuxInfoBase.cxx.

550  {
551 
552  // Guard against multi-threaded execution:
553  guard_t guard( m_mutex );
554 
555  // Check if the container is locked:
556  if( m_locked ) {
557  throw SG::ExcStoreLocked( "insertMove" );
558  }
559 
560  // We are just not allowed to do this...
561  throw std::runtime_error( "Calling insertMove on a non-vector" );
562 
563  return false;
564  }

◆ insertMove() [2/2]

virtual bool SG::IAuxStore::insertMove ( size_t  pos,
IAuxStore other,
const SG::auxid_set_t ignore = SG::auxid_set_t() 
)
pure virtualinherited

Move all elements from other to this store.

Parameters
posThe starting index of the insertion.
otherStore from which to do the move.
ignoreSet of variables that should not be added to the store.

Let len be the size of other. The store will be increased in size by len elements, with the elements at pos being copied to pos+len. Then, for each auxiliary variable, the entire contents of that variable for other will be moved to this store at index pos. This will be done via move semantics if possible; otherwise, it will be done with a copy. Variables present in this store but not in other will have the corresponding elements default-initialized. Variables in other but not in this store will be added unless they are in ignore.

Returns true if it is known that none of the vectors' memory moved, false otherwise.

Implemented in SG::AuxStoreInternal.

◆ isDecoration()

bool xAOD::EventAuxInfo_v3::isDecoration ( SG::auxid_t  auxid) const
overridevirtual

Test if a particular variable is tagged as a decoration.

Parameters
auxidThe identifier of the desired aux data item.

Reimplemented from xAOD::AuxInfoBase.

Definition at line 111 of file EventAuxInfo_v3.cxx.

112  {
113  if (m_decorFlags.test (auxid)) {
114  return true;
115  }
116 
117  return AuxInfoBase::isDecoration (auxid);
118  }

◆ linkedVector() [1/3]

const SG::IAuxTypeVector * xAOD::AuxInfoBase::linkedVector ( SG::auxid_t  auxid) const
overridevirtualinherited

Return interface for a linked variable.

Reimplemented from SG::IConstAuxStore.

Definition at line 359 of file AuxInfoBase.cxx.

360  {
362  auxid_t linked_id = r.linkedVariable( auxid );
363  if (linked_id != SG::null_auxid) {
364  guard_t guard( m_mutex );
365  if (linked_id < m_vecs.size() && m_vecs[ linked_id ]) {
366  return m_vecs[ linked_id ];
367  }
368  if (m_store) {
369  return CxxUtils::as_const_ptr(m_store)->linkedVector( auxid );
370  }
371  }
372  return nullptr;
373  }

◆ linkedVector() [2/3]

SG::IAuxTypeVector * xAOD::AuxInfoBase::linkedVector ( SG::auxid_t  auxid)
overridevirtualinherited

Return interface for a linked variable.

Reimplemented from SG::IAuxStore.

Definition at line 376 of file AuxInfoBase.cxx.

377  {
379  auxid_t linked_id = r.linkedVariable( auxid );
380  if (linked_id != SG::null_auxid) {
381  guard_t guard( m_mutex );
382  if (linked_id < m_vecs.size() && m_vecs[ linked_id ]) {
383  return m_vecs[ linked_id ];
384  }
385  if (m_store) {
386  return m_store->linkedVector( auxid );
387  }
388  }
389  return nullptr;
390  }

◆ linkedVector() [3/3]

virtual const IAuxTypeVector* SG::IConstAuxStore::linkedVector
inlineinherited

Return interface for a linked variable.

Parameters
auxidThe ID of the parent variable.

If auxid has a linked variable, then return the IAuxTypeVector describing it. Otherwise, return nullptr. May return nullptr unconditionally if this store does not support linked variables.

Definition at line 189 of file IConstAuxStore.h.

190  { return nullptr; }

◆ lock()

void xAOD::AuxInfoBase::lock ( )
overridevirtualinherited

Lock the container.

Implements ILockable.

Definition at line 308 of file AuxInfoBase.cxx.

308  {
309 
310  // Guard against multi-threaded execution:
311  guard_t guard( m_mutex );
312 
313  // Lock the container and the dynamic store:
314  m_locked = true;
315  if( m_store ) {
316  m_store->lock();
317  }
318 
319  return;
320  }

◆ lockDecoration()

void xAOD::EventAuxInfo_v3::lockDecoration ( SG::auxid_t  auxid)
overridevirtual

Lock a decoration.

Parameters
auxidIdentifier of the decoration to lock.

Reimplemented from xAOD::AuxInfoBase.

Definition at line 125 of file EventAuxInfo_v3.cxx.

126  {
127  if (m_decorFlags.test (auxid)) {
128  m_decorFlags.reset (auxid);
129  return;
130  }
131 
133  }

◆ name()

const char * xAOD::AuxInfoBase::name ( ) const
inherited

Get the name of the container instance.

Definition at line 679 of file AuxInfoBase.cxx.

679  {
680 
681  return m_name.c_str();
682  }

◆ regAuxVar()

template<typename T >
void xAOD::AuxInfoBase::regAuxVar ( auxid_t  auxid,
const std::string &  name,
T &  info 
)
inherited

Register one of the persistent variables internally.

◆ reserve()

void xAOD::AuxInfoBase::reserve ( size_t  size)
overridevirtualinherited

Reserve a given size for the arrays.

Implements SG::IAuxStore.

Definition at line 501 of file AuxInfoBase.cxx.

501  {
502 
503  // Guard against multi-threaded execution:
504  guard_t guard( m_mutex );
505 
506  // Check if the container is locked:
507  if( m_locked ) {
508  throw SG::ExcStoreLocked( "reserve" );
509  }
510 
511  // Do a test already here:
512  if( size != 1 ) {
513  throw std::runtime_error( "Calling reserve with != 1 on a "
514  "non-vector" );
515  }
516 
517  // Do the operation on the static variables:
518  for (SG::IAuxTypeVector* v : m_vecs) {
519  if(v && !v->isLinked()) {
520  v->reserve( size );
521  }
522  }
523 
524  // Do the operation on the dynamic variables:
525  if( m_store ) {
526  m_store->reserve( size );
527  }
528 
529  return;
530  }

◆ resize()

bool xAOD::AuxInfoBase::resize ( size_t  size)
overridevirtualinherited

Resize the arrays to a given size.

Implements SG::IAuxStore.

Definition at line 467 of file AuxInfoBase.cxx.

467  {
468 
469  // Guard against multi-threaded execution:
470  guard_t guard( m_mutex );
471 
472  // Check if the container is locked:
473  if( m_locked ) {
474  throw SG::ExcStoreLocked( "resize" );
475  }
476 
477  // Do a test already here:
478  if( size != 1 ) {
479  throw std::runtime_error( "Calling resize with != 1 on a "
480  "non-vector" );
481  }
482 
483  // Do the operation on the static variables:
484  bool nomoves = true;
485  for (SG::IAuxTypeVector* v : m_vecs) {
486  if(v && !v->isLinked()) {
487  if (!v->resize( size ))
488  nomoves = false;
489  }
490  }
491 
492  // Do the operation on the dynamic variables:
493  if( m_store ) {
494  if (!m_store->resize( size ))
495  nomoves = false;
496  }
497 
498  return nomoves;
499  }

◆ setName()

void xAOD::AuxInfoBase::setName ( const char name)
inherited

Set the name of the container instance.

Definition at line 684 of file AuxInfoBase.cxx.

684  {
685 
686  m_name = name;
687  return;
688  }

◆ setOption()

bool xAOD::AuxInfoBase::setOption ( auxid_t  id,
const SG::AuxDataOption option 
)
overridevirtualinherited

Make an option setting on an aux variable.

Reimplemented from SG::IAuxStore.

Definition at line 567 of file AuxInfoBase.cxx.

567  {
568 
569  if (id < m_vecs.size() && m_vecs[id] != nullptr)
570  return m_vecs[id]->setOption( option );
571  if (m_store)
572  return m_store->setOption( id, option );
573  return false;
574  }

◆ setStore()

void xAOD::AuxInfoBase::setStore ( SG::IAuxStore store)
overridevirtualinherited

Set a different internal store object.

This function is used by the I/O infrastructure to possibly put a store object into this one, which can interact with dynamic variables directly.

Note that the object takes ownership of the received store.

Parameters
storeThe store that should be used for dynamic variable handling inside the object from now on

Implements SG::IAuxStoreHolder.

Definition at line 160 of file AuxInfoBase.cxx.

160  {
161 
162  // Guard against multi-threaded execution:
163  guard_t guard( m_mutex );
164 
165  // Check that no funny business is going on:
166  if( m_store == store ) return;
167 
168  // Clean up the current store object:
169  if( m_store && m_ownsStore ) {
170  m_auxids -= m_store->getAuxIDs();
171  delete m_store;
172  }
173  m_store = nullptr;
174  m_storeIO = nullptr;
175 
176  // Take posession of the new object:
177  m_store = store;
178  m_storeIO = dynamic_cast< SG::IAuxStoreIO* >( m_store );
179  m_ownsStore = true;
180  if( m_store ) {
182  }
183 
184  return;
185  }

◆ shift()

void xAOD::AuxInfoBase::shift ( size_t  pos,
ptrdiff_t  offs 
)
overridevirtualinherited

Shift the contents of the stored arrays.

Implements SG::IAuxStore.

Definition at line 532 of file AuxInfoBase.cxx.

532  {
533 
534  // Guard against multi-threaded execution:
535  guard_t guard( m_mutex );
536 
537  // Check if the container is locked:
538  if( m_locked ) {
539  throw SG::ExcStoreLocked( "shift" );
540  }
541 
542  // We are just not allowed to do this...
543  throw std::runtime_error( "Calling shift on a non-vector" );
544 
545  return;
546  }

◆ size()

size_t xAOD::AuxInfoBase::size ( ) const
overridevirtualinherited

Get the size of the container.

Implements SG::IConstAuxStore.

Definition at line 393 of file AuxInfoBase.cxx.

393  {
394 
395  // Should really always be 1, but do the general thing anyway...
396 
397  // Guard against multi-threaded execution:
398  guard_t guard( m_mutex );
399 
400  // Try to find a variable:
401  for (SG::auxid_t i : m_auxids) {
402  if( ( i < m_vecs.size() ) && m_vecs[ i ] && !m_vecs[ i ]->isLinked()) {
403  size_t sz = m_vecs[ i ]->size();
404  if( sz > 0 ) {
405  return sz;
406  }
407  }
408  }
409 
410  // If we didn't find any statically defined variables, then we just
411  // need to claim 1. Because pool::AuxStoreAPR at the moment always
412  // returns 0 for the size.
413  return 1;
414  }

◆ toTransient()

void xAOD::EventAuxInfo_v3::toTransient ( )

Called after one of these objects is read.

Locks any detector flag words that appear to have already been set.

List of all detector flag aux IDs.

Definition at line 141 of file EventAuxInfo_v3.cxx.

142  {
144  static const std::vector<SG::auxid_t> flagIds (m_decorFlags.begin(),
145  m_decorFlags.end());
146 
147  // Check each detector flag. If it has been set to something,
148  // then lock this flag.
149  // This check may be too strict; we'll have to see.
150  for (SG::auxid_t id : flagIds) {
151  if (*reinterpret_cast<const uint32_t*>(getData (id)) != 0) {
152  m_decorFlags.reset (id);
153  }
154  }
155  }

Member Data Documentation

◆ backgroundFlags

uint32_t xAOD::EventAuxInfo_v3::backgroundFlags

Definition at line 110 of file EventAuxInfo_v3.h.

◆ bcid

uint32_t xAOD::EventAuxInfo_v3::bcid

Definition at line 77 of file EventAuxInfo_v3.h.

◆ coreFlags

uint32_t xAOD::EventAuxInfo_v3::coreFlags

Definition at line 109 of file EventAuxInfo_v3.h.

◆ detDescrTags

std::vector< std::pair< std::string, std::string > > xAOD::EventAuxInfo_v3::detDescrTags

Definition at line 86 of file EventAuxInfo_v3.h.

◆ detectorMask0

uint32_t xAOD::EventAuxInfo_v3::detectorMask0

Definition at line 78 of file EventAuxInfo_v3.h.

◆ detectorMask1

uint32_t xAOD::EventAuxInfo_v3::detectorMask1

Definition at line 79 of file EventAuxInfo_v3.h.

◆ detectorMask2

uint32_t xAOD::EventAuxInfo_v3::detectorMask2

Definition at line 80 of file EventAuxInfo_v3.h.

◆ detectorMask3

uint32_t xAOD::EventAuxInfo_v3::detectorMask3

Definition at line 81 of file EventAuxInfo_v3.h.

◆ eventNumber

uint64_t xAOD::EventAuxInfo_v3::eventNumber

Definition at line 73 of file EventAuxInfo_v3.h.

◆ eventTypeBitmask

uint32_t xAOD::EventAuxInfo_v3::eventTypeBitmask

Definition at line 87 of file EventAuxInfo_v3.h.

◆ extendedLevel1ID

uint32_t xAOD::EventAuxInfo_v3::extendedLevel1ID

Definition at line 93 of file EventAuxInfo_v3.h.

◆ forwardDetFlags

uint32_t xAOD::EventAuxInfo_v3::forwardDetFlags

Definition at line 108 of file EventAuxInfo_v3.h.

◆ larFlags

uint32_t xAOD::EventAuxInfo_v3::larFlags

Definition at line 105 of file EventAuxInfo_v3.h.

◆ level1TriggerType

uint16_t xAOD::EventAuxInfo_v3::level1TriggerType

Definition at line 94 of file EventAuxInfo_v3.h.

◆ lumiBlock

uint32_t xAOD::EventAuxInfo_v3::lumiBlock

Definition at line 74 of file EventAuxInfo_v3.h.

◆ lumiFlags

uint32_t xAOD::EventAuxInfo_v3::lumiFlags

Definition at line 111 of file EventAuxInfo_v3.h.

◆ m_auxids

auxid_set_t xAOD::AuxInfoBase::m_auxids
privateinherited

Internal list of all available variables.

Definition at line 197 of file AuxInfoBase.h.

◆ m_decorFlags

CxxUtils::ConcurrentBitset xAOD::EventAuxInfo_v3::m_decorFlags

Keep track of the event status flags.

The set bits here correspond to the auxids of all unlocked detector flag words. This is not persistent, but is filled in the constructor and toTransient.

Definition at line 118 of file EventAuxInfo_v3.h.

◆ m_locked

bool xAOD::AuxInfoBase::m_locked
privateinherited

Has the container been locked?

Definition at line 208 of file AuxInfoBase.h.

◆ m_mutex

mutex_t xAOD::AuxInfoBase::m_mutex
mutableprivateinherited

Definition at line 213 of file AuxInfoBase.h.

◆ m_name

std::string xAOD::AuxInfoBase::m_name
privateinherited

Name of the container in memory. Set externally.

Definition at line 216 of file AuxInfoBase.h.

◆ m_ownsStore

bool xAOD::AuxInfoBase::m_ownsStore
privateinherited

Flag deciding if the object owns the dynamic store or not.

Definition at line 206 of file AuxInfoBase.h.

◆ m_store

SG::IAuxStore* xAOD::AuxInfoBase::m_store
privateinherited

Internal dynamic auxiliary store object.

Definition at line 202 of file AuxInfoBase.h.

◆ m_storeIO

SG::IAuxStoreIO* xAOD::AuxInfoBase::m_storeIO
privateinherited

The IO interface to the internal auxiliary store.

Definition at line 204 of file AuxInfoBase.h.

◆ m_vecs

std::vector< SG::IAuxTypeVector* > xAOD::AuxInfoBase::m_vecs
privateinherited

Internal list of all managed variables.

Definition at line 199 of file AuxInfoBase.h.

◆ muonFlags

uint32_t xAOD::EventAuxInfo_v3::muonFlags

Definition at line 107 of file EventAuxInfo_v3.h.

◆ pixelFlags

uint32_t xAOD::EventAuxInfo_v3::pixelFlags

Definition at line 102 of file EventAuxInfo_v3.h.

◆ runNumber

uint32_t xAOD::EventAuxInfo_v3::runNumber

Definition at line 72 of file EventAuxInfo_v3.h.

◆ sctFlags

uint32_t xAOD::EventAuxInfo_v3::sctFlags

Definition at line 103 of file EventAuxInfo_v3.h.

◆ statusElement

uint32_t xAOD::EventAuxInfo_v3::statusElement

Definition at line 92 of file EventAuxInfo_v3.h.

◆ streamTagNames

std::vector< std::string > xAOD::EventAuxInfo_v3::streamTagNames

Definition at line 95 of file EventAuxInfo_v3.h.

◆ streamTagObeysLumiblock

std::vector< char > xAOD::EventAuxInfo_v3::streamTagObeysLumiblock

Definition at line 97 of file EventAuxInfo_v3.h.

◆ streamTagTypes

std::vector< std::string > xAOD::EventAuxInfo_v3::streamTagTypes

Definition at line 96 of file EventAuxInfo_v3.h.

◆ supportsThinning

constexpr bool SG::IAuxStore::supportsThinning = true
staticconstexprinherited

Mark that this type supports thinning operations.

See AthContainers/supportsThinning.h and AthenaPoolCnvSvc/T_AthenaPoolCnv.h. Helps guide which pool converter template will be used. If false, the default pool converter will be used rather than the aux store-specific one. Ordinary xAOD type should not touch this, but may be overridden in a derived class to handle certain special cases.

Definition at line 199 of file IAuxStore.h.

◆ tileFlags

uint32_t xAOD::EventAuxInfo_v3::tileFlags

Definition at line 106 of file EventAuxInfo_v3.h.

◆ timeStamp

uint32_t xAOD::EventAuxInfo_v3::timeStamp

Definition at line 75 of file EventAuxInfo_v3.h.

◆ timeStampNSOffset

uint32_t xAOD::EventAuxInfo_v3::timeStampNSOffset

Definition at line 76 of file EventAuxInfo_v3.h.

◆ trtFlags

uint32_t xAOD::EventAuxInfo_v3::trtFlags

Definition at line 104 of file EventAuxInfo_v3.h.


The documentation for this class was generated from the following files:
xAOD::EventAuxInfo_v3::tileFlags
uint32_t tileFlags
Definition: EventAuxInfo_v3.h:106
xAOD::EventAuxInfo_v3::muonFlags
uint32_t muonFlags
Definition: EventAuxInfo_v3.h:107
xAOD::EventAuxInfo_v3::detectorMask2
uint32_t detectorMask2
Definition: EventAuxInfo_v3.h:80
xAOD::EventAuxInfo_v3::detectorMask1
uint32_t detectorMask1
Definition: EventAuxInfo_v3.h:79
beamspotman.r
def r
Definition: beamspotman.py:676
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:71
fitman.sz
sz
Definition: fitman.py:527
get_generator_info.result
result
Definition: get_generator_info.py:21
SG::IConstAuxStore::getVector
virtual const IAuxTypeVector * getVector(SG::auxid_t auxid) const =0
Return vector interface for one aux data item.
xAOD::AuxInfoBase::auxid_t
SG::auxid_t auxid_t
The aux ID type definition.
Definition: AuxInfoBase.h:53
xAOD::EventAuxInfo_v3::sctFlags
uint32_t sctFlags
Definition: EventAuxInfo_v3.h:103
xAOD::EventAuxInfo_v3::streamTagNames
std::vector< std::string > streamTagNames
Definition: EventAuxInfo_v3.h:95
xAOD::IOStats::stats
ReadStats & stats()
Access the object belonging to the current thread.
Definition: IOStats.cxx:17
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:640
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::AuxInfoBase::AuxInfoBase
AuxInfoBase(bool allowDynamicVars=true)
Default constructor.
Definition: AuxInfoBase.cxx:25
SG::AuxTypeRegistry::getName
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
Definition: AuxTypeRegistry.cxx:882
xAOD::EventAuxInfo_v3::lumiFlags
uint32_t lumiFlags
Definition: EventAuxInfo_v3.h:111
xAOD::AuxInfoBase::m_vecs
std::vector< SG::IAuxTypeVector * > m_vecs
Internal list of all managed variables.
Definition: AuxInfoBase.h:199
CxxUtils::ConcurrentBitset::end
const_iterator end() const
Return an end iterator.
SG::ExcStoreLocked
Exception — Attempted to modify auxiliary data in a locked store.
Definition: Control/AthContainers/AthContainers/exceptions.h:183
xAOD::AuxInfoBase::size
virtual size_t size() const override
Get the size of the container.
Definition: AuxInfoBase.cxx:393
xAOD::EventAuxInfo_v3::forwardDetFlags
uint32_t forwardDetFlags
Definition: EventAuxInfo_v3.h:108
xAOD::EventAuxInfo_v3::statusElement
uint32_t statusElement
Definition: EventAuxInfo_v3.h:92
xAOD::AuxInfoBase::getWritableAuxIDs
virtual const auxid_set_t & getWritableAuxIDs() const override
Return a set of writable data identifiers.
Definition: AuxInfoBase.cxx:460
xAOD::AuxInfoBase::m_ownsStore
bool m_ownsStore
Flag deciding if the object owns the dynamic store or not.
Definition: AuxInfoBase.h:206
xAOD::AuxInfoBase::name
const char * name() const
Get the name of the container instance.
Definition: AuxInfoBase.cxx:679
xAOD::EventAuxInfo_v3::coreFlags
uint32_t coreFlags
Definition: EventAuxInfo_v3.h:109
xAOD::EventAuxInfo_v3::lumiBlock
uint32_t lumiBlock
Definition: EventAuxInfo_v3.h:74
xAOD::EventAuxInfo_v3::detDescrTags
std::vector< std::pair< std::string, std::string > > detDescrTags
Definition: EventAuxInfo_v3.h:86
SG::IAuxStoreIO::getIOType
virtual const std::type_info * getIOType(SG::auxid_t auxid) const =0
Return the type of the data to be stored for one aux data item.
xAOD::EventAuxInfo_v3::detectorMask3
uint32_t detectorMask3
Definition: EventAuxInfo_v3.h:81
empty
bool empty(TH1 *h)
Definition: computils.cxx:294
xAOD::AuxInfoBase::getVector
virtual const SG::IAuxTypeVector * getVector(SG::auxid_t auxid) const override final
Return vector interface for one aux data item.
Definition: AuxInfoBase.cxx:204
xAOD::EventAuxInfo_v3::streamTagObeysLumiblock
std::vector< char > streamTagObeysLumiblock
Definition: EventAuxInfo_v3.h:97
xAOD::EventAuxInfo_v3::pixelFlags
uint32_t pixelFlags
Definition: EventAuxInfo_v3.h:102
SG::IAuxStore::linkedVector
virtual IAuxTypeVector * linkedVector(SG::auxid_t)
Definition: IAuxStore.h:187
SG::IAuxStoreIO
Interface providing I/O for a generic auxiliary store.
Definition: IAuxStoreIO.h:44
xAOD::AuxInfoBase::getData
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
Definition: AuxInfoBase.cxx:195
SG::AuxTypeRegistry
Handle mappings between names and auxid_t.
Definition: AuxTypeRegistry.h:61
xAOD::AuxInfoBase::getDecoration
virtual void * getDecoration(auxid_t auxid, size_t size, size_t capacity) override
Get a pointer to a given array, as a decoration.
Definition: AuxInfoBase.cxx:265
xAOD::AuxInfoBase::isDecoration
virtual bool isDecoration(auxid_t auxid) const override
Test if a variable is a decoration.
Definition: AuxInfoBase.cxx:239
SG::IAuxStore::setOption
virtual bool setOption(auxid_t, const AuxDataOption &)
Set an option for a given auxiliary variable.
Definition: IAuxStore.h:173
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
SG::AuxTypeRegistry::getType
const std::type_info * getType(SG::auxid_t auxid) const
Return the type of an aux data item.
Definition: AuxTypeRegistry.cxx:909
SG::IConstAuxStore::clearDecorations
virtual bool clearDecorations()=0
Clear all decorations.
xAOD::AuxInfoBase::m_store
SG::IAuxStore * m_store
Internal dynamic auxiliary store object.
Definition: AuxInfoBase.h:202
xAOD::EventAuxInfo_v3::eventNumber
uint64_t eventNumber
Definition: EventAuxInfo_v3.h:73
lumiFormat.i
int i
Definition: lumiFormat.py:85
CxxUtils::ConcurrentBitset::insert
ConcurrentBitset & insert(bit_t bit, bit_t new_nbits=0)
Set a bit to 1.
xAOD::AuxInfoBase::m_name
std::string m_name
Name of the container in memory. Set externally.
Definition: AuxInfoBase.h:216
AUX_VARIABLE
#define AUX_VARIABLE(VAR,...)
Convenience macro for declaring an auxiliary variable.
Definition: AuxVariable.h:23
CxxUtils::ConcurrentBitset::reset
ConcurrentBitset & reset(bit_t bit)
Turn off one bit.
xAOD::EventAuxInfo_v3::bcid
uint32_t bcid
Definition: EventAuxInfo_v3.h:77
xAOD::EventAuxInfo_v3::larFlags
uint32_t larFlags
Definition: EventAuxInfo_v3.h:105
python.xAODType.dummy
dummy
Definition: xAODType.py:4
SG::AuxTypeRegistry::getVecType
const std::type_info * getVecType(SG::auxid_t auxid) const
Return the type of the STL vector used to hold an aux data item.
Definition: AuxTypeRegistry.cxx:937
xAOD::IOStats::instance
static IOStats & instance()
Singleton object accessor.
Definition: IOStats.cxx:11
DET_FLAG
#define DET_FLAG(VAR)
xAOD::EventAuxInfo_v3::backgroundFlags
uint32_t backgroundFlags
Definition: EventAuxInfo_v3.h:110
xAOD::EventAuxInfo_v3::timeStamp
uint32_t timeStamp
Definition: EventAuxInfo_v3.h:75
xAOD::AuxInfoBase::auxid_set_t
SG::auxid_set_t auxid_set_t
The aux ID set type definition.
Definition: AuxInfoBase.h:55
CxxUtils::ConcurrentBitset::begin
const_iterator begin() const
Return a begin iterator.
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:220
xAOD::EventAuxInfo_v3::eventTypeBitmask
uint32_t eventTypeBitmask
Definition: EventAuxInfo_v3.h:87
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
xAOD::EventAuxInfo_v3::timeStampNSOffset
uint32_t timeStampNSOffset
Definition: EventAuxInfo_v3.h:76
xAOD::EventAuxInfo_v3::level1TriggerType
uint16_t level1TriggerType
Definition: EventAuxInfo_v3.h:94
CxxUtils::as_const_ptr
const T * as_const_ptr(const T *p)
Helper for getting a const version of a pointer.
Definition: as_const_ptr.h:32
xAOD::AuxInfoBase::guard_t
AthContainers_detail::lock_guard< mutex_t > guard_t
Definition: AuxInfoBase.h:212
xAOD::AuxInfoBase::lockDecoration
virtual void lockDecoration(SG::auxid_t auxid) override
Lock a decoration.
Definition: AuxInfoBase.cxx:351
SG::IAuxStoreIO::getIOData
virtual const void * getIOData(SG::auxid_t auxid) const =0
Return a pointer to the data to be stored for one aux data item.
xAOD::ReadStats::readBranch
void readBranch(const std::string &prefix, SG::auxid_t auxid)
Function incrementing the read counter on a specific branch.
xAOD::EventAuxInfo_v3::trtFlags
uint32_t trtFlags
Definition: EventAuxInfo_v3.h:104
python.PyAthena.v
v
Definition: PyAthena.py:154
xAOD::EventAuxInfo_v3::m_decorFlags
CxxUtils::ConcurrentBitset m_decorFlags
Keep track of the event status flags.
Definition: EventAuxInfo_v3.h:118
SG::IAuxStore::getData
virtual void * getData(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data item.
xAOD::AuxInfoBase::m_storeIO
SG::IAuxStoreIO * m_storeIO
The IO interface to the internal auxiliary store.
Definition: AuxInfoBase.h:204
SG::IAuxTypeVector
Abstract interface for manipulating vectors of arbitrary types.
Definition: IAuxTypeVector.h:42
SG::IConstAuxStore::getDecorIDs
virtual const SG::auxid_set_t & getDecorIDs() const =0
Return a set of identifiers for decorations in this store.
xAOD::EventAuxInfo_v3::extendedLevel1ID
uint32_t extendedLevel1ID
Definition: EventAuxInfo_v3.h:93
SG::IConstAuxStore::lock
virtual void lock()=0
Lock the container.
SG::IAuxStore::resize
virtual bool resize(size_t sz)=0
Change the size of all aux data vectors.
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
xAOD::EventAuxInfo_v3::runNumber
uint32_t runNumber
Definition: EventAuxInfo_v3.h:72
SG::IAuxStoreHolder::AST_ObjectStore
@ AST_ObjectStore
The store describes a single object.
Definition: IAuxStoreHolder.h:67
xAOD::AuxInfoBase::m_auxids
auxid_set_t m_auxids
Internal list of all available variables.
Definition: AuxInfoBase.h:197
xAOD::EventAuxInfo_v3::detectorMask0
uint32_t detectorMask0
Definition: EventAuxInfo_v3.h:78
SG::IConstAuxStore::getAuxIDs
virtual const SG::auxid_set_t & getAuxIDs() const =0
Return a set of identifiers for existing data items in this store.
xAOD::AuxInfoBase::m_locked
bool m_locked
Has the container been locked?
Definition: AuxInfoBase.h:208
xAOD::EventAuxInfo_v3::streamTagTypes
std::vector< std::string > streamTagTypes
Definition: EventAuxInfo_v3.h:96
xAOD::AuxInfoBase::m_mutex
mutex_t m_mutex
Definition: AuxInfoBase.h:213
SG::IAuxStore::reserve
virtual void reserve(size_t sz)=0
Change the capacity of all aux data vectors.
SG::IAuxStoreHolder::AST_ContainerStore
@ AST_ContainerStore
The store describes a container.
Definition: IAuxStoreHolder.h:68
CxxUtils::ConcurrentBitset::test
bool test(bit_t bit) const
Test to see if a bit is set.