ATLAS Offline Software
|
Auxiliary information about the event. More...
#include <EventAuxInfo_v1.h>
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_v1 () | |
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... | |
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_t > | guard_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::IAuxStore * | m_store |
Internal dynamic auxiliary store object. More... | |
SG::IAuxStoreIO * | m_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... | |
Auxiliary information about the event.
This object describes the "static" auxiliary information about an event.
Definition at line 31 of file EventAuxInfo_v1.h.
|
inherited |
The aux ID set type definition.
Definition at line 55 of file AuxInfoBase.h.
|
inherited |
The aux ID type definition.
Definition at line 53 of file AuxInfoBase.h.
|
inherited |
Declare how to wrap variables for this sort of base.
Definition at line 179 of file AuxInfoBase.h.
|
privateinherited |
Definition at line 212 of file AuxInfoBase.h.
|
inherited |
Definition at line 181 of file AuxInfoBase.h.
|
privateinherited |
Mutex for multithread synchronization.
Definition at line 211 of file AuxInfoBase.h.
|
inherited |
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.
xAOD::EventAuxInfo_v1::EventAuxInfo_v1 | ( | ) |
|
overridevirtualinherited |
Clear all decorations.
Implements SG::IConstAuxStore.
Definition at line 322 of file AuxInfoBase.cxx.
|
inherited |
Get the auxiliary ID for one of the persistent variables.
|
overridevirtualinherited |
Get the types(names) of variables handled by this container.
Implements SG::IConstAuxStore.
Definition at line 249 of file AuxInfoBase.cxx.
Get a pointer to a given array.
Implements SG::IConstAuxStore.
Definition at line 195 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Get a pointer to a given array, creating the array if necessary.
Implements SG::IAuxStore.
Definition at line 424 of file AuxInfoBase.cxx.
|
inherited |
Pick up the const version from the base class.
|
overridevirtual |
Return the data vector for one aux data decoration item.
auxid | The identifier of the desired aux data item. |
size | The current size of the container (in case the data item does not already exist). |
capacity | The current capacity of the container (in case the data item does not already exist). |
Reimplemented from xAOD::AuxInfoBase.
Definition at line 123 of file EventAuxInfo_v1.cxx.
|
overridevirtualinherited |
Get the types(names) of decorations handled by this container.
Implements SG::IConstAuxStore.
Definition at line 256 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Get the types(names) of variables created dynamically.
Implements SG::IAuxStoreIO.
Definition at line 636 of file AuxInfoBase.cxx.
Get a pointer to the data being stored for one aux data item.
Implements SG::IAuxStoreIO.
Definition at line 585 of file AuxInfoBase.cxx.
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.
|
overridevirtualinherited |
Get the IDs of the selected dynamic Aux variables (for writing)
Reimplemented from SG::IAuxStoreIO.
Definition at line 657 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Get the currently used internal store object.
Implements SG::IAuxStoreHolder.
Definition at line 146 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Get the currently used internal store object.
Implements SG::IAuxStoreHolder.
Definition at line 140 of file AuxInfoBase.cxx.
|
inlineoverridevirtualinherited |
Return the type of the store object.
Implements SG::IAuxStoreHolder.
Definition at line 79 of file AuxInfoBase.h.
|
finaloverridevirtualinherited |
Return vector interface for one aux data item.
Implements SG::IConstAuxStore.
Definition at line 204 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Return a set of writable data identifiers.
Implements SG::IAuxStore.
Definition at line 460 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
|
pure virtualinherited |
Move all elements from other
to this store.
pos | The starting index of the insertion. |
other | Store from which to do the move. |
ignore | Set 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.
|
overridevirtual |
Test if a particular variable is tagged as a decoration.
auxid | The identifier of the desired aux data item. |
Reimplemented from xAOD::AuxInfoBase.
Definition at line 139 of file EventAuxInfo_v1.cxx.
|
overridevirtualinherited |
Return interface for a linked variable.
Reimplemented from SG::IConstAuxStore.
Definition at line 359 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Return interface for a linked variable.
Reimplemented from SG::IAuxStore.
Definition at line 376 of file AuxInfoBase.cxx.
|
inlineinherited |
Return interface for a linked variable.
auxid | The 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.
|
overridevirtualinherited |
|
overridevirtual |
Lock a decoration.
auxid | Identifier of the decoration to lock. |
Reimplemented from xAOD::AuxInfoBase.
Definition at line 153 of file EventAuxInfo_v1.cxx.
Get the name of the container instance.
Definition at line 679 of file AuxInfoBase.cxx.
|
inherited |
Register one of the persistent variables internally.
|
overridevirtualinherited |
Reserve a given size for the arrays.
Implements SG::IAuxStore.
Definition at line 501 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Resize the arrays to a given size.
Implements SG::IAuxStore.
Definition at line 467 of file AuxInfoBase.cxx.
Set the name of the container instance.
Definition at line 684 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Make an option setting on an aux variable.
Reimplemented from SG::IAuxStore.
Definition at line 567 of file AuxInfoBase.cxx.
|
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.
store | The 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.
|
overridevirtualinherited |
Shift the contents of the stored arrays.
Implements SG::IAuxStore.
Definition at line 532 of file AuxInfoBase.cxx.
|
overridevirtualinherited |
Get the size of the container.
Implements SG::IConstAuxStore.
Definition at line 393 of file AuxInfoBase.cxx.
void xAOD::EventAuxInfo_v1::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 169 of file EventAuxInfo_v1.cxx.
float xAOD::EventAuxInfo_v1::actualInteractionsPerCrossing |
Definition at line 105 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::averageInteractionsPerCrossing |
Definition at line 106 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::backgroundFlags |
Definition at line 119 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::bcid |
Definition at line 80 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamPosSigmaX |
Definition at line 128 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamPosSigmaXY |
Definition at line 131 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamPosSigmaY |
Definition at line 129 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamPosSigmaZ |
Definition at line 130 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamPosX |
Definition at line 125 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamPosY |
Definition at line 126 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamPosZ |
Definition at line 127 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::beamStatus |
Definition at line 134 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamTiltXZ |
Definition at line 132 of file EventAuxInfo_v1.h.
float xAOD::EventAuxInfo_v1::beamTiltYZ |
Definition at line 133 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::coreFlags |
Definition at line 118 of file EventAuxInfo_v1.h.
std::vector< std::pair< std::string, std::string > > xAOD::EventAuxInfo_v1::detDescrTags |
Definition at line 89 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::detectorMask0 |
Definition at line 81 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::detectorMask1 |
Definition at line 82 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::detectorMask2 |
Definition at line 83 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::detectorMask3 |
Definition at line 84 of file EventAuxInfo_v1.h.
uint64_t xAOD::EventAuxInfo_v1::eventNumber |
Definition at line 76 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::eventTypeBitmask |
Definition at line 90 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::extendedLevel1ID |
Definition at line 96 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::forwardDetFlags |
Definition at line 117 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::larFlags |
Definition at line 114 of file EventAuxInfo_v1.h.
uint16_t xAOD::EventAuxInfo_v1::level1TriggerType |
Definition at line 97 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::lumiBlock |
Definition at line 77 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::lumiFlags |
Definition at line 120 of file EventAuxInfo_v1.h.
|
privateinherited |
Internal list of all available variables.
Definition at line 197 of file AuxInfoBase.h.
CxxUtils::ConcurrentBitset xAOD::EventAuxInfo_v1::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 142 of file EventAuxInfo_v1.h.
|
privateinherited |
Has the container been locked?
Definition at line 208 of file AuxInfoBase.h.
|
mutableprivateinherited |
Definition at line 213 of file AuxInfoBase.h.
|
privateinherited |
Name of the container in memory. Set externally.
Definition at line 216 of file AuxInfoBase.h.
|
privateinherited |
Flag deciding if the object owns the dynamic store or not.
Definition at line 206 of file AuxInfoBase.h.
|
privateinherited |
Internal dynamic auxiliary store object.
Definition at line 202 of file AuxInfoBase.h.
|
privateinherited |
The IO interface to the internal auxiliary store.
Definition at line 204 of file AuxInfoBase.h.
|
privateinherited |
Internal list of all managed variables.
Definition at line 199 of file AuxInfoBase.h.
uint32_t xAOD::EventAuxInfo_v1::muonFlags |
Definition at line 116 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::pixelFlags |
Definition at line 111 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::runNumber |
Definition at line 75 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::sctFlags |
Definition at line 112 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::statusElement |
Definition at line 95 of file EventAuxInfo_v1.h.
std::vector< std::string > xAOD::EventAuxInfo_v1::streamTagNames |
Definition at line 98 of file EventAuxInfo_v1.h.
std::vector< char > xAOD::EventAuxInfo_v1::streamTagObeysLumiblock |
Definition at line 100 of file EventAuxInfo_v1.h.
std::vector< std::string > xAOD::EventAuxInfo_v1::streamTagTypes |
Definition at line 99 of file EventAuxInfo_v1.h.
|
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.
uint32_t xAOD::EventAuxInfo_v1::tileFlags |
Definition at line 115 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::timeStamp |
Definition at line 78 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::timeStampNSOffset |
Definition at line 79 of file EventAuxInfo_v1.h.
uint32_t xAOD::EventAuxInfo_v1::trtFlags |
Definition at line 113 of file EventAuxInfo_v1.h.