![]() |
ATLAS Offline Software
|
Temporary container used until we have I/O for AuxStoreInternal. More...
#include <TrackParticleAuxContainer_v5.h>
Public Types | |
| typedef SG::auxid_t | auxid_t |
| The aux ID type definition. | |
| typedef SG::auxid_set_t | auxid_set_t |
| The aux ID set type definition. | |
| template<class T, class ALLOC = std::allocator<T>> | |
| using | AuxVariable_t = std::vector<T, ALLOC> |
| Declare how to wrap variables for this sort of base. | |
| template<class T, class ALLOC = std::allocator<T>> | |
| using | LinkedVariable_t = AuxVariable_t<T, ALLOC> |
| enum | AuxStoreType { AST_ObjectStore = 0 , AST_ContainerStore = 1 } |
| Type of the auxiliary store. More... | |
Public Member Functions | |
| TrackParticleAuxContainer_v5 () | |
| Default constructor. | |
| void | dump () const |
| Dumps contents (for debugging) | |
| 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. | |
| template<typename T, typename ALLOC> | |
| auxid_t | getAuxID (const std::string &name, std::vector< T, ALLOC > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid) |
| Get the auxiliary ID for one of the persistent variables. | |
| template<typename T> | |
| auxid_t | getAuxID (const std::string &name, SG::PackedContainer< 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. | |
| template<typename T, typename ALLOC> | |
| void | regAuxVar (auxid_t auxid, const std::string &name, std::vector< T, ALLOC > &vec) |
| Register one of the persistent variables internally. | |
| template<typename T> | |
| void | regAuxVar (auxid_t auxid, const std::string &name, SG::PackedContainer< T > &vec) |
| Register one of the persistent variables internally. | |
Functions implementing the SG::IAuxStoreHolder interface | |
| virtual SG::IAuxStore * | getStore () override |
| Get the currently used internal store object. | |
| virtual const SG::IAuxStore * | getStore () const override |
| virtual void | setStore (SG::IAuxStore *store) override |
| Set a different internal store object. | |
| virtual AuxStoreType | getStoreType () const override |
| Return the type of the store object. | |
| std::pmr::memory_resource * | memResource () |
| Return the memory resource to use. | |
Functions implementing the SG::IConstAuxStore interface | |
| virtual const void * | getData (auxid_t auxid) const override |
| Get a pointer to a given array. | |
| virtual const SG::IAuxTypeVector * | getVector (SG::auxid_t auxid) const override final |
| Return vector interface for one aux data item. | |
| virtual const auxid_set_t & | getAuxIDs () const override |
| Get the types(names) of variables handled by this container. | |
| virtual const auxid_set_t & | getDecorIDs () const override |
| Get the types(names) of decorations handled by this container. | |
| virtual bool | isDecoration (auxid_t auxid) const override |
| Test if a variable is a decoration. | |
| virtual void * | getDecoration (auxid_t auxid, size_t size, size_t capacity) override |
| Get a pointer to a given array, as a decoration. | |
| virtual void | lock () override |
| Lock the container. | |
| virtual bool | clearDecorations () override |
| Clear all decorations. | |
| virtual size_t | size () const override |
| Get the size of the container. | |
| virtual void | lockDecoration (SG::auxid_t auxid) override |
| Lock a decoration. | |
| virtual const SG::IAuxTypeVector * | linkedVector (SG::auxid_t auxid) const override |
| Return interface for a linked variable. | |
Functions implementing the SG::IAuxStore interface | |
| virtual void * | getData (auxid_t auxid, size_t size, size_t capacity) override |
| Get a pointer to a given array, creating the array if necessary. | |
| virtual SG::IAuxTypeVector * | linkedVector (SG::auxid_t auxid) override |
| Return interface for a linked variable. | |
| virtual const auxid_set_t & | getWritableAuxIDs () const override |
| Return a set of writable data identifiers. | |
| virtual bool | resize (size_t size) override |
| Resize the arrays to a given size. | |
| virtual void | reserve (size_t size) override |
| Reserve a given size for the arrays. | |
| virtual void | shift (size_t pos, ptrdiff_t offs) override |
| Shift the contents of the stored arrays. | |
| virtual bool | insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore) override |
| Insert contents of another store via move. | |
| virtual bool | setOption (auxid_t id, const SG::AuxDataOption &option) override |
| Make an option setting on an aux variable. | |
Functions implementing the SG::IAuxStoreIO interface | |
| virtual const void * | getIOData (auxid_t auxid) const override |
| Get a pointer to the data being stored for one aux data item. | |
| virtual const std::type_info * | getIOType (auxid_t auxid) const override |
| Return the type of the data to be stored for one aux data item. | |
| virtual const auxid_set_t & | getDynamicAuxIDs () const override |
| Get the types(names) of variables created dynamically. | |
| virtual SG::auxid_set_t | getSelectedAuxIDs () const override |
| Get the IDs of the selected dynamic Aux variables (for writing) | |
Functions managing the instance name of the container | |
| const char * | name () const |
| Get the name of the container instance. | |
| void | setName (const char *name) |
| Set the name of the container instance. | |
Static Public Attributes | |
| static constexpr bool | supportsThinning = true |
| Mark that this type supports thinning operations. | |
Private Types | |
| typedef AthContainers_detail::mutex | mutex_t |
| Mutex for multithread synchronization. | |
| typedef AthContainers_detail::lock_guard< mutex_t > | guard_t |
Private Member Functions | |
| template<typename ELT, typename CONT> | |
| void | regAuxVar1 (auxid_t auxid, const std::string &name, CONT &vec) |
| Common code between regAuxVar cases. | |
Temporary container used until we have I/O for AuxStoreInternal.
This class is meant to serve as a temporary way to provide an auxiliary store with Athena I/O capabilities for the TrackParticle EDM. Will be exchanged for a generic auxiliary container type (AuxStoreInternal) later on.
Definition at line 35 of file TrackParticleAuxContainer_v5.h.
|
inherited |
The aux ID set type definition.
Definition at line 61 of file AuxContainerBase.h.
|
inherited |
The aux ID type definition.
Definition at line 59 of file AuxContainerBase.h.
|
inherited |
Declare how to wrap variables for this sort of base.
Definition at line 191 of file AuxContainerBase.h.
|
privateinherited |
Definition at line 243 of file AuxContainerBase.h.
|
inherited |
Definition at line 193 of file AuxContainerBase.h.
|
privateinherited |
Mutex for multithread synchronization.
Definition at line 242 of file AuxContainerBase.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::TrackParticleAuxContainer_v5::TrackParticleAuxContainer_v5 | ( | ) |
Default constructor.
Definition at line 11 of file TrackParticleAuxContainer_v5.cxx.
|
overridevirtualinherited |
Clear all decorations.
Implements SG::IConstAuxStore.
Definition at line 359 of file AuxContainerBase.cxx.
| void xAOD::TrackParticleAuxContainer_v5::dump | ( | ) | const |
Dumps contents (for debugging)
Definition at line 106 of file TrackParticleAuxContainer_v5.cxx.
|
inherited |
Get the auxiliary ID for one of the persistent variables.
|
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 277 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get a pointer to a given array.
Implements SG::IConstAuxStore.
Definition at line 232 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get a pointer to a given array, creating the array if necessary.
Implements SG::IAuxStore.
Definition at line 464 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get a pointer to a given array, as a decoration.
Implements SG::IConstAuxStore.
Reimplemented in xAOD::EventInfoAuxContainer_v1.
Definition at line 302 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get the types(names) of decorations handled by this container.
Implements SG::IConstAuxStore.
Definition at line 284 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get the types(names) of variables created dynamically.
Implements SG::IAuxStoreIO.
Definition at line 703 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get a pointer to the data being stored for one aux data item.
Implements SG::IAuxStoreIO.
Definition at line 661 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Return the type of the data to be stored for one aux data item.
Implements SG::IAuxStoreIO.
Definition at line 686 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get the IDs of the selected dynamic Aux variables (for writing)
Reimplemented from SG::IAuxStoreIO.
Definition at line 723 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Implements SG::IAuxStoreHolder.
Definition at line 183 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get the currently used internal store object.
Implements SG::IAuxStoreHolder.
Definition at line 156 of file AuxContainerBase.cxx.
|
inlineoverridevirtualinherited |
Return the type of the store object.
Implements SG::IAuxStoreHolder.
Definition at line 88 of file AuxContainerBase.h.
|
finaloverridevirtualinherited |
Return vector interface for one aux data item.
Implements SG::IConstAuxStore.
Definition at line 241 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Return a set of writable data identifiers.
Implements SG::IAuxStore.
Definition at line 500 of file AuxContainerBase.cxx.
|
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.
|
overridevirtualinherited |
Insert contents of another store via move.
Definition at line 586 of file AuxContainerBase.cxx.
Test if a variable is a decoration.
Implements SG::IConstAuxStore.
Reimplemented in xAOD::EventInfoAuxContainer_v1.
Definition at line 293 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Return interface for a linked variable.
Reimplemented from SG::IConstAuxStore.
Definition at line 398 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Return interface for a linked variable.
Reimplemented from SG::IAuxStore.
Definition at line 415 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Lock the container.
Implements SG::IConstAuxStore.
Definition at line 345 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Lock a decoration.
Implements SG::IConstAuxStore.
Reimplemented in xAOD::EventInfoAuxContainer_v1.
Definition at line 389 of file AuxContainerBase.cxx.
|
inherited |
Return the memory resource to use.
Definition at line 161 of file AuxContainerBase.cxx.
|
inherited |
Get the name of the container instance.
Definition at line 745 of file AuxContainerBase.cxx.
|
inherited |
Register one of the persistent variables internally.
|
inherited |
Register one of the persistent variables internally.
|
privateinherited |
Common code between regAuxVar cases.
|
overridevirtualinherited |
Reserve a given size for the arrays.
Implements SG::IAuxStore.
Definition at line 535 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Resize the arrays to a given size.
Implements SG::IAuxStore.
Definition at line 507 of file AuxContainerBase.cxx.
|
inherited |
Set the name of the container instance.
Definition at line 750 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Make an option setting on an aux variable.
Reimplemented from SG::IAuxStore.
Definition at line 640 of file AuxContainerBase.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 197 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Shift the contents of the stored arrays.
Implements SG::IAuxStore.
Definition at line 560 of file AuxContainerBase.cxx.
|
overridevirtualinherited |
Get the size of the container.
Implements SG::IConstAuxStore.
Definition at line 432 of file AuxContainerBase.cxx.
|
mutableprivateinherited |
Memory resource to use for this container.
Definition at line 250 of file AuxContainerBase.h.
|
private |
Definition at line 65 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 66 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 72 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 47 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 53 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 54 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 134 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 135 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 91 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 96 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 68 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 63 of file TrackParticleAuxContainer_v5.h.
|
privateinherited |
Internal list of all available variables.
Definition at line 228 of file AuxContainerBase.h.
|
privateinherited |
Has the container been locked?
Definition at line 239 of file AuxContainerBase.h.
|
mutableprivateinherited |
Definition at line 244 of file AuxContainerBase.h.
|
privateinherited |
Name of the container in memory. Set externally.
Definition at line 247 of file AuxContainerBase.h.
|
privateinherited |
Flag deciding if the object owns the dynamic store or not.
Definition at line 237 of file AuxContainerBase.h.
|
privateinherited |
Internal dynamic auxiliary store object.
Definition at line 233 of file AuxContainerBase.h.
|
privateinherited |
The IO interface to the internal auxiliary store.
Definition at line 235 of file AuxContainerBase.h.
|
privateinherited |
Internal list of all managed variables.
Definition at line 230 of file AuxContainerBase.h.
|
private |
Definition at line 73 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 86 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 106 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 103 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 102 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 138 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 87 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 88 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 89 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 90 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 92 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 93 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 94 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 95 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 132 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 128 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 127 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 104 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 97 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 99 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 98 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 100 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 101 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 105 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 126 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 125 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 112 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 110 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 107 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 109 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 108 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 111 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 113 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 130 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 129 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 120 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 117 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 118 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 119 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 114 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 116 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 115 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 123 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 121 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 122 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 137 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 79 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 81 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 49 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 136 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 51 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 62 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 133 of file TrackParticleAuxContainer_v5.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.
|
private |
Definition at line 50 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 78 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 80 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 146 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 56 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 57 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 58 of file TrackParticleAuxContainer_v5.h.
|
private |
Definition at line 48 of file TrackParticleAuxContainer_v5.h.