![]() |
ATLAS Offline Software
|
Forward declaration. More...
Namespaces | |
| namespace | ArenaBlockAlignDetail |
| namespace | detail |
| namespace | JaggedVecVectorFactoryFuncs |
| namespace | CondHandleDefault |
Classes | |
| struct | DataBucketTrait< CaloConstCellContainer, U > |
| class | BaseInfo< CaloConstCellContainer > |
| class | ArenaAllocatorBase |
| Common base class for arena allocator classes. More... | |
| class | ArenaAllocatorCreator |
| Provide an interface for creating an arena Allocator. More... | |
| class | ArenaAllocatorRegistry |
| Registry of allocator factories. More... | |
| class | ArenaBase |
Part of Arena dealing with the list of allocators. More... | |
| class | ArenaBlock |
| A large memory block that gets carved into smaller uniform elements. More... | |
| class | ArenaBlockAllocatorBase |
| Common functionality for block-oriented allocators. More... | |
| class | ArenaCachingHandle |
| User interface for allocating memory that caches constructed objects. More... | |
| class | ArenaHandle |
| User interface for allocating memory. More... | |
| class | ArenaHandleBase |
Base class for all Handle classes, containing parts that do not depend on the referenced type. More... | |
| class | ArenaHandleBaseAllocT |
Base class for Handle classes, containing parts that depend only on the Allocator. More... | |
| class | ArenaHandleBaseT |
Base class for Handle classes, containing parts that are independent of how the Allocator gets created. More... | |
| class | ArenaHeader |
| Proxy for a group of Arenas. More... | |
| struct | initParams |
| Heap-based allocator. More... | |
| class | ArenaHeapSTLAllocator_initParams |
| Initializer for pool allocator parameters. More... | |
| class | ArenaHeapSTLAllocator |
STL-style allocator wrapper for ArenaHeapAllocator. More... | |
| class | ArenaNonConstHeapSTLAllocator |
| Forward declaration. More... | |
| class | ArenaHeapSTLAllocator< T, T > |
STL-style allocator wrapper for ArenaHeapAllocator. More... | |
| class | ArenaPoolAllocator |
| Pool-based allocator. More... | |
| class | ArenaPoolSTLAllocator_initParams |
| Initializer for pool allocator parameters. More... | |
| class | ArenaPoolSTLAllocator |
STL-style allocator wrapper for ArenaPoolAllocator. More... | |
| class | ArenaPoolSTLAllocator< T *, VETO > |
STL-style allocator wrapper for ArenaPoolAllocator. More... | |
| class | ArenaNonConstPoolSTLAllocator |
| Forward declaration. More... | |
| class | ArenaPoolSTLAllocator< T, typename std::enable_if<!std::is_pointer_v< T >, T >::type > |
STL-style allocator wrapper for ArenaPoolAllocator. More... | |
| class | ArenaSharedHeapSTLAllocator |
| Forward declaration. More... | |
| class | ArenaSharedHeapSTLHeader |
| Common header class for ArenaSharedHeapSTLAllocator. More... | |
| class | DataPoolNullClear |
| Null cleanup functional — does no actual cleanup. More... | |
| class | ExcDifferentArenas |
| Exception — Attempt to assign between ArenaSharedHeapSTLAllocators for different arenas. More... | |
| class | ExcProtection |
| Exception — Attempt to change memory protection failed. More... | |
| class | ExcProtected |
| Exception — Attempt to change protected arena. More... | |
| class | LockedAllocator |
| A pointer type that holds a lock on an allocator object. More... | |
| class | ArenaAllocatorRegistryImpl |
| ArenaAllocatorRegistry implementation class. More... | |
| class | Accessor |
| Helper class to provide type-safe access to aux data. More... | |
| class | ConstAuxElement |
Const part of AuxElement. More... | |
| class | AuxElementComplete |
| Wrapper to automatically create a private store for an element. More... | |
| class | AuxStoreConstMem |
| IConstAuxStore implementation referencing external buffers. More... | |
| class | AuxStoreStandalone |
| Auxiliary data store for standalone objects. More... | |
| class | AuxTypeRegistry |
| Handle mappings between names and auxid_t. More... | |
| class | AuxVectorBase |
| Manage index tracking and synchronization of auxiliary data. More... | |
| class | AuxVectorData |
| Manage lookup of vectors of auxiliary data. More... | |
| class | ConstAccessor |
| Helper class to provide constant type-safe access to aux data. More... | |
| class | DVLConstDataVectorBucket |
DataBucket class for ConstDataVector. More... | |
| struct | DataBucketTrait< ConstDataVector< DV >, U > |
Metafunction to find the proper DataBucket class for the first template argument. More... | |
| class | BaseInfo< ConstDataVector< DV > > |
Let the BaseInfo for ConstDataVector forward to that of the base DataVector. More... | |
| struct | DataBucketTrait< DataVector< T >, U > |
Metafunction to find the proper DataBucket class for T. More... | |
| struct | Bases< DataVector< T, DataModel_detail::NoBase > > |
Declare DataVector base class. More... | |
| struct | TopBase< DataVector< T, DataModel_detail::NoBase > > |
| class | DVLDataVectorWithAllocBucket |
DataBucket class for DataVectorWithAlloc. More... | |
| struct | DataBucketTrait< DataVectorWithAlloc< DV, ALLOC >, U > |
Metafunction to find the proper DataBucket class for the first template argument. More... | |
| class | BaseInfo< DataVectorWithAlloc< DV, ALLOC > > |
Let the BaseInfo for DataVectorWithAlloc forward to that of the base DataVector. More... | |
| class | ExcNoAuxStore |
| Exception — Aux data requested from object with no store. More... | |
| class | ExcBadAuxVar |
| Exception — Attempt to retrieve nonexistent aux data item. More... | |
| class | ExcConstAuxData |
| Exception — Non-const operation performed on const aux data. More... | |
| class | ExcUntrackedSetStore |
| Exception — Attempt to set aux data store on container that doesn't track indices, or disable index tracking for a container with aux data. More... | |
| class | ExcBadPrivateStore |
| Exception — Bad use of private store. More... | |
| class | ExcAuxTypeMismatch |
| Exception — Type mismatch for aux variable. More... | |
| class | ExcInsertionInBaseClass |
| Exception — Attempted to do OP on a BASE base class of COMPLETE; can only be done on the most-derived class. More... | |
| class | ExcStoreLocked |
| Exception — Attempted to modify auxiliary data in a locked store. More... | |
| class | ExcNonowningContainer |
| Exception — Attempted to insert a unique_ptr to a non-owning container. More... | |
| class | ExcUnknownAuxItem |
| Exception — Unknown aux data item. More... | |
| class | ExcDVToELV |
| Exception — Can't convert DataVector to vector of ElementLinks. More... | |
| class | ExcViewVectorNotView |
| Exception — ViewVector not in view mode. More... | |
| class | ExcMissingViewVectorCLID |
Exception — Missing CLID for ViewVector. More... | |
| class | ExcMissingBaseInfo |
| Exception — Missing BaseInfo. More... | |
| class | ExcInsertMoveOwnershipMismatch |
| Exception — Ownership mismatch for insertMove. More... | |
| class | ExcFlagMismatch |
| Exception — Flag mismatch for aux variable. More... | |
| class | ExcLinkMismatch |
| Exception — Linked variable mismatch. More... | |
| class | ExcNoLinkedVar |
| Exception — Linked variable not found. More... | |
| class | ExcInvalidThinningTarget |
| Exception — ThinningHandle target does not exist. More... | |
| class | ExcBadIterSwap |
| Exception — Bad iter_swap. More... | |
| class | ExcAllocOwnership |
| Exception — Bad allocation ownership. More... | |
| class | ExcBadVarName |
| Exception — Bad name for auxiliary variable. More... | |
| class | ExcJaggedVecOverlappingCopy |
| Exception — Overlapping copies not implemented for jagged vectors. More... | |
| class | Accessor< JaggedVecElt< PAYLOAD_T >, ALLOC > |
Helper class to provide type-safe access to aux data, specialized for JaggedVecElt. More... | |
| class | ConstAccessor< SG::JaggedVecElt< PAYLOAD_T >, ALLOC > |
Helper class to provide constant type-safe access to aux data, specialized for JaggedVecElt. More... | |
| class | JaggedVecEltBase |
| Describe one element of a jagged vector (base class). More... | |
| class | JaggedVecElt |
| Describe one element of a jagged vector. More... | |
| class | PackedContainer |
| Container to hold aux data to be stored in a packed form. More... | |
| class | PackedConverter |
Helper for packing/unpacking a PackedContainer to/from a stream. More... | |
| class | Accessor< PackedLink< CONT >, ALLOC > |
| Helper class to provide constant type-safe access to aux data, specialized for PackedLink. More... | |
| class | Accessor< std::vector< PackedLink< CONT >, VALLOC >, ALLOC > |
| Helper class to provide constant type-safe access to aux data, specialized for a vector of PackedLink. More... | |
| class | ConstAccessor< SG::PackedLink< CONT >, ALLOC > |
| Helper class to provide constant type-safe access to aux data, specialized for PackedLink. More... | |
| class | ConstAccessor< std::vector< SG::PackedLink< CONT >, VALLOC >, ALLOC > |
| Helper class to provide constant type-safe access to aux data, specialized for a vector of PackedLink. More... | |
| struct | PackedLinkBase |
A packed version of ElementLink. More... | |
| struct | PackedLink |
A packed version of ElementLink. More... | |
| class | PackedParameters |
Describe how the contents of a PackedContainer are to be saved. More... | |
| class | ThinningDecision |
| Hold thinning decisions for one container. More... | |
| class | AtomicConstAccessor |
| Access an auxiliary variable atomically. More... | |
| class | AtomicDecorator |
| Access an auxiliary variable atomically. More... | |
| class | AuxDataTraits |
| Allow customizing how aux data types are treated. More... | |
| class | AuxDataTraits< bool, ALLOC > |
| Allow customizing how aux data types are treated. More... | |
| struct | Zero |
Helper to specialize how to make an initialized instance of T. More... | |
| class | AuxTypeVectorHolder |
Implementation of IAuxTypeVector for specific types. More... | |
| class | AuxTypeVectorT |
Implementation of IAuxTypeVector holding a vector instance. More... | |
| class | AuxTypeVectorFactoryImpl |
Factory object that creates vectors using AuxTypeVector. More... | |
| class | AuxTypeVectorFactory |
Factory object that creates vectors using AuxTypeVector. More... | |
| class | AuxVectorInterface |
| Make an AuxVectorData object from either a raw array or an aux store. More... | |
| class | DVLDataBucket |
A DataBucket specialized for DataVector/ More... | |
| class | IsMostDerivedFlag |
| Holder for the is-most-derived flag. More... | |
| class | JaggedVecVectorHolder |
Implementation of IAuxTypeVector for JaggedVec types. More... | |
| class | JaggedVecVectorT |
Implementation of IAuxTypeVector holding a vector of JaggedVec. More... | |
| class | JaggedVecVectorFactory |
| Factory objects that creates vectors for packed links. More... | |
| class | AuxTypeVectorFactory< JaggedVecElt< T >, ALLOC > |
Factory object that creates vectors using AuxTypeVector. More... | |
| class | PackedLinkVectorHolder |
Implementation of IAuxTypeVector for PackedLink types. More... | |
| class | PackedLinkVVectorHolder |
Implementation of IAuxTypeVector for a vector of PackedLink. More... | |
| class | PackedLinkVectorT |
Implementation of IAuxTypeVector holding a vector of PackedLink. More... | |
| class | PackedLinkVectorFactory |
| Factory object that creates vectors for packed links. More... | |
| class | AuxTypeVectorFactory< PackedLink< CONT >, ALLOC > |
| Factory object that creates vectors for packed links. More... | |
| class | PackedLinkVVectorFactory |
| Factory object that creates vectors of vectors of packed links. More... | |
| class | AuxTypeVectorFactory< std::vector< PackedLink< CONT >, VALLOC >, ALLOC > |
| Factory object that creates vectors of vectors of packed links. More... | |
| class | TypelessConstAccessor |
| Helper class to provide const generic access to aux data. More... | |
| struct | Bases< ViewVector< DV > > |
| class | ViewVectorBase |
| Hold the persistent representation for a ViewVector. More... | |
| class | AuxElementData |
| Internal data container. More... | |
| class | AuxElementPrivateData |
| Internal data container for private store. More... | |
| class | AuxTypeRegistryImpl |
@Brief Implementation class for AuxTypeRegistry. More... | |
| class | PackedContainerStreamer |
| Streamer for reading/writing SG::PackedContainer instances. More... | |
| struct | InstallPackedContainerStreamer |
| struct | InstallViewVectorBaseStreamer |
| class | AuxDataOption |
| Hold information about an option setting request. More... | |
| struct | AuxDataSpanBase |
| Minimal span-like object describing the range of an auxiliary variable. More... | |
| class | NoAuxStore |
| Mark that there's no associated AuxStore class. More... | |
| struct | AuxStore_traits_AuxDefault |
| Default traits values for aux data case. More... | |
| struct | AuxStore_traits_NoAuxDefault |
| Default traits values for no-aux data case. More... | |
| struct | AuxStore_traits1 |
| Helper for the case where DOBJ::base_value_type does not derive from SG::IAuxElement. More... | |
| struct | AuxStore_traits1< DOBJ, typename std::is_base_of< IAuxElement, typename DOBJ::base_value_type >::type > |
| Helper for the case where DOBJ::base_value_type does derive from SG::IAuxElement. More... | |
| struct | AuxStore_traits |
Associate AuxStore classes with EDM container classes (default implementation). More... | |
| struct | AuxStore_traits< DOBJ * > |
Associate AuxStore classes with EDM container classes. More... | |
| class | AuxTypePlaceholder |
| Used as type_info when we read an aux data item but it doesn't exist in the registry. More... | |
| class | auxid_set_t |
| A set of aux data identifiers. More... | |
| class | IAuxSetOption |
| Abstract interface for setting a option on a aux data container. More... | |
| class | IAuxStore |
| Interface for non-const operations on an auxiliary store. More... | |
| class | IAuxStoreHolder |
| Interface for objects taking part in direct ROOT I/O. More... | |
| class | IAuxStoreIO |
| Interface providing I/O for a generic auxiliary store. More... | |
| class | IAuxTypeVector |
| Abstract interface for manipulating vectors of arbitrary types. More... | |
| class | IAuxTypeVectorFactory |
| Interface for factory objects that create vectors. More... | |
| class | ToTransient |
| Define a hook for running code after an object has been read. More... | |
| class | RootAuxVector |
Dynamic implementation of IAuxTypeVector, relying on root vector proxy. More... | |
| class | RootAuxVectorFactory |
Dynamic implementation of IAuxVectorFactory, relying on root's vector proxy. More... | |
| class | VarHandleType |
| class | VarHandleKeyType |
| class | VarHandleKeyArrayType |
| class | NotHandleType |
| struct | HandleClassifier |
| Helper to classify the type of a handle property. More... | |
| struct | IsThreadSafeForUH< int, std::true_type > |
| struct | BaseType |
| Helper metafunction to get base class types. More... | |
| class | BaseInfoImpl |
| class | CopyConversionBase |
| Base class for copy conversions. More... | |
| class | CopyConversion |
| Base class for copy conversions, templated on source and destination classes. More... | |
| struct | RegisterAddBaseInit |
| struct | RegisterAddCopyConversionInit |
| class | BaseInfoBase |
| The non-template portion of the BaseInfo implementation. More... | |
| class | BaseInfo |
| Provide an interface for finding inheritance information at run time. More... | |
| struct | Bases< CondCont< T > > |
| struct | Bases< CondContMixed< T > > |
| class | DataBucket |
| struct | DataBucketTrait |
Metafunction to find the proper DataBucket class for T. More... | |
| class | IRegisterTransient |
| Interface for registering a transient object in t2p map. More... | |
| class | ReadMetaHandle |
| struct | DataBucketTrait< MetaCont< T >, U > |
Metafunction to find the proper DataBucket class for T. More... | |
| class | MetaContDataBucket |
| Allow converting MetaCont<T> to T. More... | |
| class | SlotSpecificObj |
| Maintain a set of objects, one per slot. More... | |
| class | ThinningCache |
| Cache thinning decisions for converters. More... | |
| class | ThinningDecisionBase |
| Hold thinning decisions for one container. More... | |
| class | ThinningInfo |
| Hold thinning/slimming information for a given object. More... | |
| struct | TopBase |
| Calculate topmost base accessible via SG_BASES that also has a defined CLID. More... | |
| struct | TopBase< SG::NoBase > |
| struct | BaseInfoBaseImpl |
| class | GenericElementLinkBase |
| Generic base class for ElementLinks. More... | |
| class | ExcPointerNotInSG |
| Exception — The object referenced by a DataLink / ElementLink is not registered in SG. More... | |
| class | ExcCLIDMismatch |
| Exception — Attempt to set DataLink / ElementLink with CLID <clid> to object with CLID <clid>. More... | |
| class | ExcInvalidLink |
| Exception — Attempt to dereference invalid DataLink / ElementLink ". More... | |
| class | ExcBadForwardLink |
| Exception — ForwardIndexingPolicy: internal link state is invalid. More... | |
| class | ExcElementNotFound |
| Exception — element not found. More... | |
| class | ExcInvalidIndex |
| Exception — invalid index. More... | |
| class | ExcIndexNotFound |
| Exception — index not found. More... | |
| class | ExcIncomparableEL |
| Exception — incomparable ElementLink. More... | |
| class | ExcBadToTransient |
| Exception — bad toTransient. More... | |
| class | ExcConstStorable |
| Exception – Tried to retrieve const storable as a non-const pointer. More... | |
| class | ExcBadThinning |
| Exception – Bad thinning request. More... | |
| class | DataProxyHolder |
Manage DataProxy reference in ElementLink/DataLink. More... | |
| class | ElementLinkTraits1 |
| ElementLink classes for the generic case. More... | |
| class | ElementLinkTraits1< STORABLE, BASE_VALUE_TYPE *, true > |
| ElementLink classes for the case of a vector-like container of pointers. More... | |
| class | ElementLinkTraits |
| ElementLinkTraits class to specialize. More... | |
| class | ForwardIndexingPolicy |
| Indexing policy for a vector-like container. More... | |
| struct | GenerateIndexingPolicy |
| class | IdentContIndexingPolicy |
| Indexing policy for an IdentifiableContainer. More... | |
| class | IndexHolder |
Store an ElementLink index for non-vector containers. More... | |
| struct | TestSequenceTag |
| struct | TestSequenceTag< CONTAINER, typename CONTAINER::isSequence > |
| struct | IsSTLSequence |
| class | MapIndexingPolicy |
| Indexing policy for a map-like container. More... | |
| class | SetIndexingPolicy |
| Indexing policy for a set-like container. More... | |
| class | ELVRef |
| a short ref to an ElementLink into an ElementLinkVector. More... | |
| class | View |
| A "view" of the event store (IProxyDict). More... | |
| class | Folder |
| a run-time configurable list of data objects More... | |
| struct | SGKeyHash |
| Hash functional for sgkey_t. More... | |
| struct | SGKeyEqual |
| Comparison functional for sgkey_t. More... | |
| class | Push |
| Hold a pointer to the current event store. More... | |
| class | DataProxy |
| class | DataStore |
| Hold DataProxy instances associated with a store. More... | |
| class | ExcBadDataProxyCast |
| Exception — Bad cast of DataProxy with CLID. More... | |
| class | ExcProxyCollision |
| Exception — Proxy collision for clid/key. More... | |
| class | ExcSgkeyCollision |
| Exception — sgkey hash collision. More... | |
| struct | ptrhash |
| Improved hash function for pointers. More... | |
| class | FolderItem |
| a Folder item (data object) is identified by the clid/key pair More... | |
| class | IFolder |
| a run-time configurable list of data objects More... | |
| class | ObjectWithVersion |
| associate a data object with its VersionedKey The object is held by a ReadHandle to delay its retrieval in case the user is interested only in the versionedKey More... | |
| class | VersionedKey |
| a StoreGateSvc key with a version number. More... | |
| class | T2pMap |
| class | TransientAddress |
| class | StringPoolImpl |
| struct | RemapImpl |
| class | SymlinkDataObject |
| Helper for symLink_impl. More... | |
| class | CondHandleKey |
| class | ExcNullHandleKey |
| Exception — Attempt to dereference a Read/Write/UpdateHandle with a null key. More... | |
| class | ExcBadHandleKey |
| Exception — Bad key format for VarHandleKey. More... | |
| class | ExcForbiddenMethod |
| Exception — Forbidden method called. More... | |
| class | ExcHandleInitError |
| Exception — Error initializing VarHandle from VarHandleKey. More... | |
| class | ExcUninitKey |
| Exception — Tried to create a handle from an uninitialized key. More... | |
| class | ExcConstObject |
| Exception — Tried to retrieve non-const pointer to const object. More... | |
| class | ExcNullWriteHandle |
| Exception — Attempt to dereference write handle before record. More... | |
| class | ExcNullReadHandle |
| Exception — Deference of read handle failed. More... | |
| class | ExcNullUpdateHandle |
| Exception — Deference of update handle failed. More... | |
| class | ExcNonConstHandleKey |
| Exception — Attempt to get non-const VarHandleKey from non-owning VarHandle. More... | |
| class | ExcInvalidIterator |
| Exception — Deference invalid SG::Iterator. More... | |
| class | ExcBadInitializedReadHandleKey |
| Exception — Initialization of InitializedReadHandleKey failed. More... | |
| class | ExcBadContext |
| Exception — Bad EventContext extension while building ReadCondHandle. More... | |
| class | ExcNoCondCont |
| Exception — Can't retrieve CondCont from ReadCondHandle. More... | |
| class | ExcBadReadCondHandleInit |
| Exception — ReadCondHandle didn't initialize in getRange(). More... | |
| class | ExcNoRange |
| Exception — Range not set in ReadCondHandle::getRange(). More... | |
| class | ExcBadDecorElement |
| Exception — DecorHandle given an element not in the requested container. More... | |
| class | HandleKeyArray |
| class | MetaHandleKey |
| class | ReadCondHandle |
| class | ReadCondHandleKey |
| class | ReadDecorHandle |
| Handle class for reading a decoration on an object. More... | |
| class | ReadDecorHandleKey |
| Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made. More... | |
| class | ReadHandle |
| class | ReadHandleKey |
| Property holding a SG store/key/clid from which a ReadHandle is made. More... | |
| class | InitializedReadHandleKey |
ReadHandleKey that initializes during construction. More... | |
| class | ReadMetaHandleKey |
| struct | HiveEventSlot |
| class | HiveMgrSvc |
| class | ConstIterator |
| a const_iterator facade to DataHandle. More... | |
| class | Iterator |
| an iterator facade to DataHandle. More... | |
| class | ShallowCopyDecorDeps |
| Helper to propagate decoration dependencies to a shallow copy. More... | |
| class | ThinningHandle |
| Handle for requesting thinning for a data object. More... | |
| class | ThinningHandleBase |
| Handle for requesting thinning: factor out type-independent code. More... | |
| class | ThinningHandleKey |
| HandleKey object for adding thinning to an object. More... | |
| class | TypelessWriteHandle |
| Handle allowing writes to the event store with a configurable type. More... | |
| class | TypelessWriteHandleKey |
| Property holding a write key for which the type can be configured. More... | |
| struct | IsThreadSafeForUH |
| struct | IsThreadSafeForUH< T, typename T::thread_safe > |
| class | UpdateHandle |
| class | UpdateHandleKey |
| Property holding a SG store/key/clid from which an UpdateHandle is made. More... | |
| class | VarHandleBase |
| Base class for VarHandle types. More... | |
| class | VarHandleKey |
| A property holding a SG store/key/clid from which a VarHandle is made. More... | |
| class | VarHandleKeyArray |
| class | VarHandleKeyArrayCommon |
| class | VarHandleKeyArrayProperty |
| class | VarHandleKeyProperty |
VarHandleKeyProperty is the class which wraps a SG::VarHandleKey. More... | |
| class | WriteCondHandle |
| class | WriteCondHandleKey |
| class | WriteDecorHandle |
| Handle class for adding a decoration to an object. More... | |
| class | WriteDecorHandleKey |
| Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made. More... | |
| class | WriteHandle |
| class | WriteHandleKey |
| Property holding a SG store/key/clid from which a WriteHandle is made. More... | |
| class | PyDataBucket |
Concrete DataBucket that holds the object via a void* and uses the Root dictionary to do conversions. More... | |
| struct | PyProxyMgr |
| A helper class to manage accesses to PyProxies. More... | |
| struct | PyProxyDict |
a python front-end to the IProxyDict interface PyProxyDict encapsulates getting python objects from the raw C++ ones ones gets from the C++ store. More... | |
| class | ToTransient< xAOD::ShallowAuxInfo > |
| struct | Zero< Eigen::Matrix< SCALAR, ROWS, COLS, OPTIONS, MAXROWS, MAXCOLS > > |
| struct | Bases< TileContainer< T > > |
Concepts | |
| concept | IsConstAuxElement |
| Test if T is compatible with ConstAuxElement. | |
| concept | IsAuxElement |
| Test if T is compatible with AuxElement. | |
| concept | IsAuxDataVector |
| Concept for "xAOD style" DataVector interface containers. | |
Typedefs | |
| typedef void | iterator |
| typedef void | const_iterator |
| using | TypelessConstAccessor = ConstAuxElement::TypelessConstAccessor |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| using | ConstAccessor = SG::ConstAccessor<T, ALLOC> |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| using | Accessor = SG::Accessor<T, ALLOC> |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| using | Decorator = SG::Decorator<T, ALLOC> |
Helper class to provide type-safe access to aux data, specialized for JaggedVecElt. | |
| typedef AthContainers_detail::mutex | mutex_t |
| Mutex used to synchronize modifications to the cache vector. | |
| typedef AthContainers_detail::lock_guard< mutex_t > | guard_t |
| using | const_span |
| Helper class to provide constant type-safe access to aux data, specialized for a vector of PackedLink. | |
| using | elt_span = detail::ELSpanProxy<CONT, VALLOC> |
Presents a vector of PackedLink as a range of ElementLink proxies. | |
| using | ELSpanConverter = detail::ELSpanConverter<CONT, VALLOC> |
Transform a span over vector of PackedLink to a span over span over ElementLink proxies. | |
| using | span |
| using | element_type = elt_span |
| Type the user sees. | |
| using | reference_type = elt_span |
| Type referencing an item. | |
| using | container_pointer_type = void |
| Not supported. | |
| using | const_container_pointer_type = void |
| template<class T> | |
| using | AuxAllocator_t = std::allocator<T> |
| The default allocator type to use for auxiliary variables. | |
| template<class T, class ALLOC = AuxAllocator_t<T>, class CONT = typename AuxDataTraits<T, ALLOC>::vector_type> | |
| using | AuxTypeVector = AuxTypeVectorT<AuxTypeVectorHolder<T, CONT> > |
| Default type derives directly from AuxTypeVectorHolder. | |
| template<class T, class ALLOC = AuxAllocator_t<JaggedVecElt<T> >> | |
| using | JaggedVecVector = JaggedVecVectorT<JaggedVecVectorHolder<T, ALLOC> > |
| template<class CONT, class ALLOC = AuxAllocator_t<PackedLink<CONT> >> | |
| using | PackedLinkVector = PackedLinkVectorT<PackedLinkVectorHolder<CONT, ALLOC> > |
| template<class CONT, class VALLOC = AuxAllocator_t<PackedLink<CONT> >, class VELT = typename AuxDataTraits<PackedLink<CONT>, VALLOC >::vector_type, class ALLOC = AuxAllocator_t<VELT>> | |
| using | PackedLinkVVector = PackedLinkVectorT<PackedLinkVVectorHolder<CONT, VALLOC, VELT, ALLOC> > |
| typedef size_t | auxid_t |
| Identifier for a particular aux data item. | |
| template<CxxUtils::detail::RefCounted T> | |
| using | DataObjectSharedPtr = CxxUtils::RefCountedPtr<T> |
| typedef std::string | SourceID |
| using | CompressionInfo = std::unordered_map<std::string, SG::ThinningInfo::compression_map_t> |
| Map of compressed variables and their compression levels. | |
| typedef ExcElementNotFound | maybe_thinning_error |
| Backwards compatibility. | |
| template<class T> | |
| using | ConcurrentSGKeyMap |
| A concurrent map using sgkey_t as key. | |
| typedef uint32_t | sgkey_t |
| Type used for hashed StoreGate key+CLID pairs. | |
| template<class T> | |
| using | SGKeyMap = std::unordered_map<sgkey_t, T> |
| A map using sgkey_t as a key. | |
| using | SGKeySet = std::unordered_set<sgkey_t> |
| A set of sgkey_t values. | |
| typedef std::map< std::string, DataProxy * > | ProxyMap |
| typedef ProxyMap::iterator | ProxyIterator |
| typedef ProxyMap::const_iterator | ConstProxyIterator |
| typedef IProxyDict ** | getDataSourcePointerFunc_t(const std::string &) |
| template<class T> | |
| using | ReadCondHandleKeyArray = HandleKeyArray<ReadCondHandle<T>, CondHandleDefault::Key<ReadCondHandleKey<T> >, Gaudi::DataHandle::Reader > |
| template<class T> | |
| using | WriteCondHandleKeyArray = HandleKeyArray<WriteCondHandle<T>,CondHandleDefault::Key<WriteCondHandleKey<T> >, Gaudi::DataHandle::Writer > |
| template<class T_Handle, class T_HandleKey, Gaudi::DataHandle::Mode MODE> | |
| using | DecorHandleKeyArray = HandleKeyArray< T_Handle, T_HandleKey, MODE> |
| template<class T, class S = float> | |
| using | ReadDecorHandleKeyArray = DecorHandleKeyArray<ReadDecorHandle<T, S>, ReadDecorHandleKey<T>, Gaudi::DataHandle::Reader > |
| template<class T> | |
| using | ReadHandleKeyArray = HandleKeyArray<ReadHandle<T>, ReadHandleKey<T>, Gaudi::DataHandle::Reader > |
| template<class T> | |
| using | WPtr = T* |
| template<class T> | |
| using | ThinningHandleKeyArray = HandleKeyArray<ThinningHandle<T>,ThinningHandleKey<T>, Gaudi::DataHandle::Reader > |
| template<class T, class S = float> | |
| using | WriteDecorHandleKeyArray = DecorHandleKeyArray<WriteDecorHandle<T, S>,WriteDecorHandleKey<T>, Gaudi::DataHandle::Writer > |
| template<class T> | |
| using | WriteHandleKeyArray = HandleKeyArray<WriteHandle<T>,WriteHandleKey<T>, Gaudi::DataHandle::Writer > |
Enumerations | |
| enum | IndexTrackingPolicy { DEFAULT_TRACK_INDICES , ALWAYS_TRACK_INDICES , NEVER_TRACK_INDICES } |
| enum | OwnershipPolicy { OWN_ELEMENTS , VIEW_ELEMENTS } |
| enum | AuxVarFlags { None = 0x00 , Atomic = 0x01 } |
| Additional flags to qualify an auxiliary variable. More... | |
| enum class | PrivateStoreState : uint8_t { NO_PRIVATE = 0 , HAVE_PRIVATE = 1 , HAD_PRIVATE = 2 } |
| The current private data state. More... | |
| enum class | InvalidSlot { Enabled , Disabled } |
Support of the invalid EventContext in SlotSpecificObj. More... | |
| enum | AllowEmptyEnum { AllowEmpty = 1 } |
Functions | |
| template<> | |
| bool | findInContainer (const CaloCellContainer &data, CaloCell const *const &element, CaloCellContainer::size_type &index) |
| template<> | |
| bool | findInContainer (const CaloConstCellContainer &data, CaloCell const *const &element, CaloConstCellContainer::size_type &index) |
| template<> | |
| bool | findInContainer (const CaloCellContainer &data, CaloCell const *const &element, CaloCellContainer::size_type &index) |
| std::ostream & | operator<< (std::ostream &os, const ArenaAllocatorBase::Stats::Stat &stat) |
| Format a statistic structure. | |
| std::ostream & | operator<< (std::ostream &os, const ArenaAllocatorBase::Stats &stats) |
| Format a complete statistics structure. | |
| ArenaHeapAllocator (const Params ¶ms) | |
| Constructor. | |
| virtual | ~ArenaHeapAllocator () |
| Destructor. | |
| ArenaHeapAllocator (const ArenaHeapAllocator &)=delete | |
| Don't allow copy construction or assignment. | |
| ArenaHeapAllocator & | operator= (const ArenaHeapAllocator &)=delete |
| ArenaHeapAllocator (ArenaHeapAllocator &&other) | |
| Move constructor. | |
| ArenaHeapAllocator & | operator= (ArenaHeapAllocator &&other) |
| Move assignment. | |
| void | swap (ArenaHeapAllocator &other) |
| Swap. | |
| pointer | allocate () |
| Allocate a new element. | |
| void | free (pointer p) |
| Free an element. | |
| virtual void | reset () override |
| Free all allocated elements. | |
| virtual void | erase () override final |
| Free all allocated elements and release memory back to the system. | |
| void | slowClear () |
Call clear() for all allocated elements. | |
| pointer | refill () |
| Add more free elements to the pool, and allocate a new element. | |
| pointer & | link (pointer p) const |
| Return a reference to the link for an element. | |
| template<class T, class VETO> | |
| void | maybeUnprotect (ArenaHeapSTLAllocator< T, VETO > &a) |
| Hook for unprotecting an arena. | |
| template<class T, class VETO> | |
| void | maybeUnprotect (ArenaPoolSTLAllocator< T, VETO > &a) |
| Hook for unprotecting an arena. | |
| template<class T> | |
| void | swap (ArenaSharedHeapSTLAllocator< T > &a, ArenaSharedHeapSTLAllocator< T > &b) |
| template<class T> | |
| void | maybeUnprotect (ArenaSharedHeapSTLAllocator< T > &a) |
| Hook for unprotecting an arena. | |
| template<class ALLOC> | |
| void | maybeUnprotect (ALLOC &) |
| Hook for unprotecting an arena. | |
| void | null_arena_deleter (ArenaBase *) |
| ArenaPoolAllocator::pointer | ArenaPoolAllocator_iterator_increment (ArenaPoolAllocator::pointer base, ArenaBlock *&block) |
| Helper: common code for advancing an iterator. | |
| ArenaPoolAllocator::const_pointer | ArenaPoolAllocator_iterator_increment (ArenaPoolAllocator::const_pointer base, const ArenaBlock *&block) |
| Helper: common code for advancing an iterator. | |
| std::string | excProtection_format (int errnum) |
| AuxElement (SG::AuxVectorData *container, size_t index) | |
| Base class for elements of a container that can have aux data. | |
| AuxElement (const AuxElement &other) | |
| Copy Constructor. | |
| AuxElement & | operator= (const AuxElement &other) |
| Assignment. | |
| void | assign (const AuxElement &other, bool warnUnlocked=false) |
| Assignment. | |
| ~AuxElement () | |
| Destructor. | |
| const SG::AuxVectorData * | container () const |
| Return the container holding this element. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::reference_type | auxdata (const std::string &name) |
| Fetch an aux data variable, as a non-const reference. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::reference_type | auxdata (const std::string &name, const std::string &clsname) |
| Fetch an aux data variable, as a non-const reference. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type | auxdata (const std::string &name) const |
| Fetch an aux data variable, as a const reference. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type | auxdata (const std::string &name, const std::string &clsname) const |
| Fetch an aux data variable, as a const reference. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type | auxdataConst (const std::string &name) const |
| Fetch an aux data variable, as a const reference. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type | auxdataConst (const std::string &name, const std::string &clsname) const |
| Fetch an aux data variable, as a const reference. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED bool | isAvailable (const std::string &name, const std::string &clsname="") const |
| Check if an aux variable is available for reading. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED bool | isAvailableWritable (const std::string &name, const std::string &clsname="") |
| Check if an aux variable is available for writing. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED bool | isAvailableWritableAsDecoration (const std::string &name, const std::string &clsname="") const |
| Check if an aux variable is available for writing as a decoration. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Decorator< T, ALLOC >::reference_type | auxdecor (const std::string &name) const |
| Fetch an aux decoration, as a non-const reference. | |
| template<class T, class ALLOC = AuxAllocator_t<T>> | |
| XAOD_AUXDATA_DEPRECATED Decorator< T, ALLOC >::reference_type | auxdecor (const std::string &name, const std::string &clsname) const |
| Fetch an aux decoration, as a non-const reference. | |
| void | makePrivateStore () |
| Create a new (empty) private store for this object. | |
| template<class U1> | |
| void | makePrivateStore (const U1 &other, bool warnUnlocked=false) |
| Create a new private store for this object and copy aux data. | |
| template<class U1> | |
| void | makePrivateStore (const U1 *other, bool warnUnlocked=false) |
| Create a new private store for this object and copy aux data. | |
| void | releasePrivateStore () |
| Release and free any private store associated with this object. | |
| void | setStore (const SG::IConstAuxStore *store) |
| Set the store associated with this object. | |
| void | setStore (SG::IAuxStore *store) |
| Set the store associated with this object. | |
| void | setStore (const DataLink< SG::IConstAuxStore > &store) |
| Set the store associated with this object. | |
| void | setConstStore (const SG::IConstAuxStore *store) |
Synonym for setStore with IConstAuxStore. | |
| void | setNonConstStore (SG::IAuxStore *store) |
Synonym for setStore with IAuxStore. | |
| bool | usingPrivateStore () const |
| Test to see if this object is currently using a private store. | |
| bool | usingStandaloneStore () const |
| Test to see if this object is currently using a standalone store. | |
| const SG::IConstAuxStore * | getConstStore () const |
| Return the current store, as a const interface. | |
| SG::IAuxStore * | getStore () const |
| Return the current store, as a non-const interface. | |
| void | clearCache () |
| Clear the cached aux data pointers. | |
| const SG::auxid_set_t & | getAuxIDs () const |
| Return a set of identifiers for existing data items for this object. | |
| 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. | |
| bool | hasNonConstStore () const |
| Return true if this object has an associated non-const store. | |
| bool | clearDecorations () const |
| Clear all decorations. | |
| bool | trackIndices () const |
| Return true if index tracking is enabled for this object. | |
| void | releasePrivateStoreForDtor () |
| Out-of-line portion of destructor. | |
| void | setIndex (size_t index, SG::AuxVectorData *container) |
| Set the index/container for this element. | |
| bool | setIndexPrivate (size_t index, SG::AuxVectorData *container) |
| Set the index/container for this element. | |
| void | makePrivateStore1 (const void *other, bool warnUnlocked) |
| Create a new private store for this object and copy aux data. | |
| void | makePrivateStore1 (const AuxElement *other, bool warnUnlocked) |
| Create a new private store for this object and copy aux data. | |
| AuxElementStandaloneData * | setStore1 (const SG::IConstAuxStore *store) |
| Set the store associated with this object. | |
| void | clearAux () |
| Clear all aux data associated with this element. | |
| void | copyAux (const ConstAuxElement &other, bool warnUnlocked=false) |
| Copy aux data from another object. | |
| static void | clearAuxHelper (AuxVectorData &container, size_t index) |
| Clear all aux data associated with an element. | |
| static void | copyAuxHelper (AuxVectorData &container, size_t index, const ConstAuxElement &other, bool warnUnlocked) |
| Copy aux data from another object. | |
| AuxStoreInternal (bool standalone=false) | |
| An auxiliary data store that holds data internally. | |
| virtual | ~AuxStoreInternal () |
| Destructor. | |
| AuxStoreInternal (const AuxStoreInternal &orig) | |
| Copy constructor. | |
| AuxStoreInternal & | operator= (const AuxStoreInternal &)=delete |
| Don't allow assignment. | |
| bool | standalone () const |
| Return the standalone flag. | |
| virtual const void * | getData (SG::auxid_t auxid) const override |
| Return the data vector for one aux data item. | |
| virtual const IAuxTypeVector * | getVector (SG::auxid_t auxid) const override |
| Return vector interface for one aux data item. | |
| virtual void * | getData (SG::auxid_t auxid, size_t size, size_t capacity) override |
| Return the data vector for one aux data item. | |
| virtual void * | getDecoration (auxid_t auxid, size_t size, size_t capacity) override |
| Return the data vector for one aux data decoration item. | |
| virtual bool | resize (size_t sz) override |
| Change the size of all aux data vectors. | |
| virtual void | reserve (size_t sz) override |
| Change the capacity of all aux data vectors. | |
| virtual void | shift (size_t pos, ptrdiff_t offs) override |
| Shift the elements of the container. | |
| virtual bool | insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore=SG::auxid_set_t(0)) override |
Move all elements from other to this store. | |
| virtual SG::auxid_set_t | getCopyIDs (bool warnUnlocked=false) const override |
| Return the set of variables to copy in a deep copy. | |
| virtual bool | isDecoration (auxid_t auxid) const override |
| Test if a particular variable is tagged as a decoration. | |
| virtual const SG::auxid_set_t & | getWritableAuxIDs () const override |
| Return a set of identifiers for writable data items in this store. | |
| virtual const void * | getIOData (SG::auxid_t auxid) const override |
| Return a pointer to the data to be stored for one aux data item. | |
| virtual const std::type_info * | getIOType (SG::auxid_t auxid) const override |
| Return the type of the data to be stored for one aux data item. | |
| virtual const SG::auxid_set_t & | getDynamicAuxIDs () const override |
| Get the list of all variables that need to be handled. | |
| virtual void | lock () override |
| Lock the container. | |
| virtual size_t | size () const override |
| Return the number of elements in the store. | |
| virtual bool | setOption (auxid_t id, const AuxDataOption &option) override |
| Set an option for an auxiliary data variable. | |
| virtual void | lockDecoration (SG::auxid_t auxid) override |
| Lock a decoration. | |
| virtual IAuxTypeVector * | linkedVector (SG::auxid_t auxid) override |
| Return interface for a linked variable. | |
| void | toTransient (const EventContext &ctx, SG::auxid_t auxid) |
| Perform post-read processing for a single variable. | |
| virtual void | toTransient (const EventContext &ctx) override |
| Perform post-read processing on this store. | |
| const void * | getIODataInternal (auxid_t auxid, bool quiet) const |
| Return a pointer to the data to be stored for one aux data item. | |
| void | addAuxID (auxid_t auxid) |
| Add a new auxid to the set of those being managed by this store. | |
| virtual void * | getDataInternal (SG::auxid_t auxid, size_t size, size_t capacity, bool no_lock_check) |
| Return the data vector for one aux data item. | |
| IAuxTypeVector * | addVector (std::unique_ptr< IAuxTypeVector > vec, bool isDecoration) |
| Explicitly add a vector to the store. | |
| virtual IAuxTypeVector * | getVectorInternal_noLock (SG::auxid_t auxid, size_t size, size_t capacity, bool no_lock_check) |
| Implementation of getVectorInternal; no locking. | |
| size_t | size_noLock () const |
| Return the number of elements in the store; no locking. | |
| SG::auxid_set_t | getCopyIDs (const SG::auxid_set_t &auxids, const SG::auxid_set_t &decors, bool warnUnlocked, std::span< const std::string > noWarn) |
| Compute the set of variables to copy in a deep copy. | |
| template<class DV> | |
| void | dataVectorViewAsELV (const std::true_type &, const DV &v, std::vector< ElementLink< DV > > &ret, IProxyDict *store) |
Helper for dataVectorViewAsELV. | |
| template<class DV> | |
| void | dataVectorViewAsELV (const std::false_type &, const DV &, std::vector< ElementLink< DV > > &, IProxyDict *) |
Helper for dataVectorViewAsELV. | |
| template<class DV> | |
| std::vector< ElementLink< DV > > | dataVectorAsELV (const DV &v, IProxyDict *store=0) |
| Helper to make a vector<EL> from a DataVector. | |
| Decorator (const std::string &name) | |
| Helper class to provide type-safe access to aux data. | |
| Decorator (const std::string &name, const std::string &clsname) | |
| Constructor. | |
| Decorator (const SG::auxid_t auxid) | |
| Constructor taking an auxid directly. | |
| template<IsConstAuxElement ELT> | |
| reference_type | operator() (const ELT &e) const |
| Fetch the variable for one element, as a non-const reference. | |
| reference_type | operator() (const AuxVectorData &container, size_t index) const |
| Fetch the variable for one element, as a non-const reference. | |
| template<IsConstAuxElement ELT> | |
| void | set (const ELT &e, const element_type &x) const |
| Set the variable for one element. | |
| const_container_pointer_type | getDataArray (const AuxVectorData &container) const |
| Get a pointer to the start of the auxiliary data array. | |
| container_pointer_type | getDecorationArray (const AuxVectorData &container) const |
| Get a pointer to the start of the auxiliary data array. | |
| const_span | getDataSpan (const AuxVectorData &container) const |
| Get a span over the auxiliary data array. | |
| span | getDecorationSpan (const AuxVectorData &container) const |
| Get a span over the auxiliary data array. | |
| template<IsConstAuxElement ELT> | |
| bool | isAvailable (const ELT &e) const |
| Test to see if this variable exists in the store. | |
| template<IsConstAuxElement ELT> | |
| bool | isAvailableWritable (const ELT &e) const |
| Test to see if this variable exists in the store and is writable. | |
| bool | isAvailable (const AuxVectorData &c) const |
| Test to see if this variable exists in the store. | |
| bool | isAvailableWritable (const AuxVectorData &c) const |
| Test to see if this variable exists in the store and is writable. | |
| SG::auxid_t | auxid () const |
| Return the aux id for this variable. | |
| Decorator (const std::string &name, const std::string &clsname, const SG::AuxVarFlags flags) | |
| Constructor. | |
| Decorator (const SG::auxid_t auxid, const SG::AuxVarFlags flags) | |
| Constructor taking an auxid directly. | |
| void | throwExcNonowningContainer () |
| Throw a SG::ExcNonowningContainer exception. | |
| void | throwExcUnknownAuxItem (const std::string &name, const std::string &clsname="", const std::type_info *typ=0) |
| Throw a SG::ExcUnknownAuxItem exception. | |
| void | throwExcViewVectorNotView () |
| Throw a SG::ExcViewVectorNotView exception. | |
| void | throwExcMissingViewVectorCLID (const std::type_info &ti) |
| Throw a SG::ExcMissingViewVectorCLID exception. | |
| void | throwExcMissingBaseInfo (const std::type_info &ti) |
| Throw a SG::ExcMissingBaseInfo exception. | |
| void | throwExcAllocOwnership () |
| Throw a SG::ExcAllocOwnership exception. | |
| void | throwJaggedVecOverlappingCopy () |
| Throw a SG::ExcJaggedVecOverlappingCopy exception. | |
| template<IsConstAuxElement ELT, CxxUtils::InputRangeOverT< PAYLOAD_T > RANGE> | |
| void | set (const ELT &e, const RANGE &x) const |
| Set the variable for one element. | |
| template<CxxUtils::InputRangeOverT< PAYLOAD_T > RANGE> | |
| void | set (const AuxVectorData &container, size_t index, const RANGE &x) const |
| Set the variable for one element. | |
| const Elt_t * | getEltArray (const AuxVectorData &container) const |
Get a pointer to the start of the array of JaggedVecElt objects. | |
| const Payload_t * | getPayloadArray (const AuxVectorData &container) const |
| Get a pointer to the start of the payload array. | |
| Elt_t * | getEltDecorArray (const AuxVectorData &container) const |
Get a pointer to the start of the array of JaggedVecElt objects, as a decoration. | |
| Payload_t * | getPayloadDecorArray (const AuxVectorData &container) const |
| Get a pointer to the start of the payload array, as a decoration. | |
| const_Elt_span | getEltSpan (const AuxVectorData &container) const |
Get a span over the array of JaggedVecElt objects. | |
| const_Payload_span | getPayloadSpan (const AuxVectorData &container) const |
| Get a span over the payload vector. | |
| Elt_span | getEltDecorSpan (const AuxVectorData &container) const |
Get a span over the array of JaggedVecElt objects, as a decoration. | |
| Payload_span | getPayloadDecorSpan (const AuxVectorData &container) const |
| Get a span over the payload vector, as a decoration. | |
| std::string | normalizedTypeinfoName (const std::type_info &info) |
Convert a type_info to a normalized string representation (matching the names used in the root dictionary). | |
| template<IsConstAuxElement ELT> | |
| ELProxy | operator() (const ELT &e) const |
| Fetch the variable for one element. | |
| void | set (const AuxVectorData &container, size_t index, const Link_t &x) const |
| Set the variable for one element. | |
| const PLink_t * | getPackedLinkArray (const AuxVectorData &container) const |
Get a pointer to the start of the array of PackedLinks. | |
| const DLink_t * | getDataLinkArray (const AuxVectorData &container) const |
Get a pointer to the start of the linked array of DataLinks. | |
| PLink_t * | getPackedLinkDecorArray (const AuxVectorData &container) const |
Get a pointer to the start of the array of PackedLinks, as a decoration. | |
| DLink_t * | getDataLinkDecorArray (const AuxVectorData &container) const |
Get a pointer to the start of the linked array of DataLinks, as a decoration. | |
| const_PackedLink_span | getPackedLinkSpan (const AuxVectorData &container) const |
Get a span over the array of PackedLinks. | |
| const_DataLink_span | getDataLinkSpan (const AuxVectorData &container) const |
Get a span over the array of DataLinks. | |
| PackedLink_span | getPackedLinkDecorSpan (const AuxVectorData &container) const |
Get a span over the array of PackedLinks, as a decoration. | |
| DataLink_span | getDataLinkDecorSpan (const AuxVectorData &container) const |
Get a span over the array of DataLinks, as a decoration. | |
| template<IsConstAuxElement ELT> | |
| elt_span | operator() (const ELT &e) const |
| Fetch the variable for one element. | |
| template<IsConstAuxElement ELT, detail::ElementLinkRange< CONT > RANGE> | |
| void | set (const ELT &e, const RANGE &x) const |
| Set the variable for one element. | |
| template<detail::ElementLinkRange< CONT > RANGE> | |
| void | set (const AuxVectorData &container, size_t index, const RANGE &r) const |
| Set the variable for one element. | |
| const VElt_t * | getPackedLinkVectorArray (const AuxVectorData &container) const |
Get a pointer to the start of the array of vectors of PackedLinks. | |
| VElt_t * | getPackedLinkVectorDecorArray (const AuxVectorData &container) const |
Get a pointer to the start of the array of vectors of PackedLinks, as a decoration. | |
| template<IsConstAuxElement ELT> | |
| const_PackedLink_span | getPackedLinkSpan (const ELT &e) const |
Get a span over the vector of PackedLinks for a given element. | |
| const_PackedLink_span | getPackedLinkSpan (const AuxVectorData &container, size_t index) const |
Get a span over the vector of PackedLinks for a given element. | |
| PackedLink_span | getPackedLinkSpan (AuxVectorData &container, size_t index) const |
Get a span over the vector of PackedLinks for a given element. | |
| const_PackedLinkVector_span | getPackedLinkVectorSpan (const AuxVectorData &container) const |
Get a span over the vectors of PackedLinks. | |
| template<IsConstAuxElement ELT> | |
| PackedLink_span | getPackedLinkDecorSpan (const ELT &e) const |
Get a span over the vector of PackedLinks for a given element, as a decoration. | |
| PackedLink_span | getPackedLinkDecorSpan (const AuxVectorData &container, size_t index) const |
Get a span over the vector of PackedLinks for a given element, as a decoration. | |
| PackedLinkVector_span | getPackedLinkVectorDecorSpan (const AuxVectorData &container) const |
Get a span over the vectors of PackedLinks, as a decoration. | |
| void | copyAuxStoreThinned (const SG::IConstAuxStore &orig, SG::IAuxStore ©, const SG::ThinningInfo *info) |
| Helper to copy an aux store while applying thinning. | |
| void | lossyFloatCompress (void *dst, const std::size_t dst_index, const std::size_t n, const std::size_t eltSize, const std::string &typeName, const unsigned int nmantissa) |
| Helper method to apply lossy float compression. | |
| template<class CONTAINER> | |
| std::unique_ptr< CONTAINER > | copyThinned (CONTAINER &orig, const SG::ThinningInfo *info) |
| Helper to copy an object while applying thinning. | |
| template<class CONTAINER> | |
| std::unique_ptr< const CONTAINER > | copyThinnedConst (const CONTAINER &orig, const SG::ThinningInfo *info) |
| Helper to copy an object while applying thinning, const version. | |
| template<class CONTAINER> | |
| std::unique_ptr< CONTAINER > | copyThinned1 (const CONTAINER &orig, const void *dummy, const SG::ThinningInfo *info) |
| Helper to copy an object while applying thinning. | |
| template<class CONTAINER> | |
| std::unique_ptr< CONTAINER > | copyThinned1 (CONTAINER &orig, DataVector< typename CONTAINER::base_value_type > *, const SG::ThinningInfo *info) |
| Helper to copy an object while applying thinning. | |
| template<class CONTAINER> | |
| std::unique_ptr< const CONTAINER > | copyThinned1 (const CONTAINER &orig, const DataVector< typename CONTAINER::base_value_type > *dummy, const SG::ThinningInfo *info) |
| Helper to copy an object while applying thinning. | |
| template<class CONTAINER> | |
| std::unique_ptr< CONTAINER > | copyThinned1 (const CONTAINER &orig, const SG::IAuxStore *dummy, const SG::ThinningInfo *info) |
| Helper to copy an object while applying thinning. | |
| template<class T> | |
| bool constexpr | xAODInterfaceSupportingThinning () |
| Test for an xAOD interface class supporting thinning. | |
| template<class T, typename std::enable_if_t< is_xAODStoreObject_v< T > > * = nullptr> | |
| bool constexpr | xAODStoreSupportingThinning () |
| void | writePackedParameters (TBuffer &b, const SG::PackedParameters &parms) |
| Write a set of packed parameters to a buffer. | |
| SG::PackedParameters | readPackedParameters (TBuffer &b) |
| Read a set of packed parameters from a buffer. | |
| void | ViewVectorBaseStreamerFunc (TBuffer &b, void *p) |
| std::string | excFormatName (SG::auxid_t auxid) |
| Helper: format an aux data item name. | |
| std::string | excNoAuxStore_format (SG::auxid_t auxid) |
| Helper: format exception error string. | |
| std::string | excNoAuxStore_format (const char *op) |
| Helper: format exception error string. | |
| std::string | excBadAuxVar_format (SG::auxid_t auxid) |
| Helper: format exception error string. | |
| std::string | excConstAuxData_format (const std::string &op, SG::auxid_t auxid) |
| Helper: format exception error string. | |
| std::string | excAuxTypeMismatch_format (SG::auxid_t auxid, const std::type_info &new_type, const std::type_info &old_type, const std::string &new_alloc_type, const std::string &old_alloc_type) |
| Helper: format exception error string. | |
| std::string | excInsertionInBaseClass_format (const char *op, const std::type_info &base_type, const std::type_info &complete_type) |
| Helper: format exception error string. | |
| std::string | excStoreLocked_format (SG::auxid_t auxid) |
| Helper: format exception error string. | |
| std::string | excStoreLocked_format (const char *op) |
| Helper: format exception error string. | |
| std::string | excUnknownAuxItem_format (const std::string &name, const std::string &clsname, const std::type_info *typ) |
| Helper: format exception error string. | |
| std::string | excDVToELV_format (const std::string &detail) |
| Helper: format exception error string. | |
| std::string | excFormatFlags (SG::AuxVarFlags flags) |
| Helper: format flags. | |
| std::string | excFlagMismatch_format (SG::auxid_t auxid, const std::type_info &type, SG::AuxVarFlags existing_flags, SG::AuxVarFlags requested_flags) |
| Helper: format exception error string. | |
| std::string | excLinkMismatch_format (SG::auxid_t auxid, const std::type_info &type, SG::auxid_t existing_linked_id, SG::auxid_t requested_linked_id) |
| Helper: format exception error string. | |
| std::string | excNoLinkedVar_format (SG::auxid_t auxid, const std::type_info &type) |
| Helper: format exception error string. | |
| std::string | excInvalidThinningTarget_format (unsigned int clid, const std::string &key) |
| Helper: format exception error string. | |
| std::string | excBadVarName_format (const std::string &name) |
| Helper: format exception error string. | |
| std::string | excJaggedVecOverlappingCopy_format () |
| Helper: format exception error string. | |
| void copyAuxStoreThinned | NO_SANITIZE_UNDEFINED (const SG::IConstAuxStore &orig, SG::IAuxStore ©, const SG::ThinningInfo *info) |
| Helper to copy an aux store while applying thinning. | |
| IAuxElement () | |
| Flag that a class may have auxiliary data associated with it. | |
| IAuxElement (size_t index) | |
| Constructor. | |
| size_t | index () const |
| Return the index of this element within its container. | |
| bool | noPrivateData () const |
| True if this element has no private data. | |
| bool | havePrivateData () const |
| True if this element currently has private data. | |
| bool | hadPrivateData () const |
| True if this element had private data before it was added to its current container. | |
| void | setIndex (size_t index) |
| Set the index of this element within its container. | |
| void | setNoPrivateData () |
| Record that this element does not have private data. | |
| void | setHavePrivateData () |
| Record that this element currently has private data. | |
| void | setHadPrivateData () |
| Record that this element used to have private data. | |
| template<class T, class U> | |
| constexpr bool | noToTransient1 (U) |
| template<class T> | |
| constexpr bool | noToTransient1 (int, typename T::noToTransient=typename T::noToTransient()) |
| template<class T> | |
| constexpr bool | noToTransient () |
| Helper to test if T::noToTransient exists as a typedef. | |
| SG::auxid_t | getDynamicAuxID (const std::type_info &ti, const std::string &name, const std::string &elementTypeName, const std::string &branch_type_name, bool standalone, SG::auxid_t linked_auxid) |
| Find the auxid for a dynamic branch. | |
| TClass * | getClassIfDictionaryExists (const std::string &cname) |
Look up a TClass given a name. | |
| template<typename T> | |
| DataObject * | asStorable (SG::DataObjectSharedPtr< T > pObject) |
| const SG::ThinningCache * | getThinningCache (const EventContext &ctx) |
| Retrieve the current thinning cache from the event context. | |
| const SG::ThinningCache * | getThinningCache () |
| Retrieve the current thinning cache from the current event context. | |
| const SG::ThinningInfo * | getThinningInfo (const EventContext &ctx, const std::string &key) |
Retrieve the current thinning information for key. | |
| const SG::ThinningInfo * | getThinningInfo (const std::string &key) |
Retrieve the current thinning information for key. | |
| const SG::ThinningDecisionBase * | getThinningDecision (const EventContext &ctx, const std::string &key) |
Retrieve the current thinning decision for key. | |
| const SG::ThinningDecisionBase * | getThinningDecision (const std::string &key) |
Retrieve the current thinning decision for key. | |
| const SG::ThinningDecisionBase * | getThinningDecision (const EventContext &ctx, const sgkey_t sgkey) |
Retrieve the current thinning decision for sgkey. | |
| const SG::ThinningDecisionBase * | getThinningDecision (const sgkey_t sgkey) |
Retrieve the current thinning decision for sgkey. | |
| size_t | getNSlots () |
| Return the number of event slots. | |
| void setNSlotsHiveMgrName | ATLAS_NOT_THREAD_SAFE (const std::string &s) |
| Allow setting the name of the whiteboard service. | |
| template<typename T> | |
| DataObject * | asStorable (T *pObject) |
| template<typename T> | |
| bool | fromStorable (DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true) |
| template<typename T> | |
| T * | Storable_cast (DataObject *pDObj, bool quiet=true, IRegisterTransient *irt=0, bool isConst=true) |
| void * | fromStorable (DataObject *pDObj, CLID clid, const std::type_info *tinfo=nullptr, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true) |
| Try to get the pointer back from a DataObject, converted to be of type clid. | |
| void * | Storable_cast (DataObject *pDObj, CLID clid, const std::type_info *tinfo=nullptr, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true) |
| Try to get the pointer back from a DataObject, converted to be of type clid. | |
| template<typename T> | |
| DataObject * | asStorable (std::unique_ptr< T > pObject) |
| template<class T> | |
| constexpr CLID | safe_clid () |
| Return the class ID of T, or CLID_NULL if it doesn't have one. | |
| void | dumpBaseInfo () |
| size_t | getNSlots_once () |
| Return the number of event slots. | |
| void | throwExcInvalidLink (CLID clid, const std::string &key, SG::sgkey_t sgkey) |
| Throw a SG::ExcInvalidLink exception. | |
| void | throwExcBadForwardLink (size_t index, size_t size, const std::string &name) |
| Throw a SG::ExcBadForwardLink exception. | |
| void | throwExcElementNotFound (const char *where) |
| Throw a SG::ExcElementNotFound exception. | |
| void | throwExcInvalidIndex (const char *where) |
| Throw a SG::ExcInvalidIndex exception. | |
| void | throwExcIndexNotFound (const char *where) |
| Throw a SG::ExcIndexNotFound exception. | |
| void | throwExcIncomparableEL () |
| Throw a SG::IncomparableEL exception. | |
| void | throwExcBadToTransient () |
| Throw a SG::ExcBadToTransient exception. | |
| void | throwExcBadThinning (CLID clid, const std::string &key, SG::sgkey_t sgkey) |
| Throw a SG::ExcBadThinning exception. | |
| void setDataProxyHolderInputRenameMap | ATLAS_NOT_THREAD_SAFE (const Athena::IInputRename::InputRenameRCU_t *map) |
| Set map used for performing input renaming in toTransient. | |
| template<typename CONT, typename ELT> | |
| bool | findInContainer (const CONT &data, const ELT &element, typename CONT::size_type &index) |
| Find the index of an object within a container. | |
| void | AthLinks_error () |
| For setting debugger breakpoints. | |
| std::string | excPointerNotInSG_format (const void *pointer) |
| Helper: format exception error string. | |
| std::string | excCLIDMismatch_format (CLID obj_clid, CLID link_clid) |
| Helper: format exception error string. | |
| std::string | excInvalidLink_format (CLID clid, const std::string &key, SG::sgkey_t sgkey) |
| Helper: format exception error string. | |
| std::string | excBadForwardLink_format (size_t index, size_t size, const std::string &name) |
| Helper: format exception error string. | |
| std::string | excConstStorable_format (CLID clid, const std::string &key, SG::sgkey_t sgkey) |
| Helper: format exception error string. | |
| std::string | excBadThinning_format (CLID clid, const std::string &key, SG::sgkey_t sgkey) |
| Helper: format exception error string. | |
| std::ostream & | operator<< (std::ostream &out, const VarHandleBase &o) |
| Return the name of the store holding the object we are proxying. | |
| bool | operator== (const VarHandleBase &l, const VarHandleBase &r) |
| Equality comparison. | |
| bool | operator!= (const VarHandleBase &l, const VarHandleBase &r) |
| Inequality comparison. | |
| constexpr bool | sgkeyEqual (const sgkey_t a, const sgkey_t b) |
| Compare two sgkeys for equality. | |
| constexpr bool | sgkeyLess (const sgkey_t a, const sgkey_t b) |
| Compare two sgkeys for ordering. | |
| constexpr uint32_t | sgkeyShort (const sgkey_t k) |
| Convert a sgkey to the 32-bit form used for older data. | |
| template<typename DATA> | |
| DATA * | DataProxy_cast (DataProxy *proxy) |
| cast the proxy into the concrete data object it proxies | |
| template<typename DATA> | |
| DATA | DataProxy_cast (const DataProxy &proxy) |
| const ref version of the cast. | |
| void * | DataProxy_cast (DataProxy *proxy, CLID clid, const std::type_info *tinfo=nullptr) |
| Try to get the pointer back from a DataProxy, converted to be of type clid. | |
| void | throwExcBadDataProxyCast (const DataProxy &proxy, const std::type_info &tid) |
| Throw an ExcBadDataProxyCast exception. | |
| std::ostream & | operator<< (std::ostream &ost, const SG::VersionedKey &k) |
| IOpaqueAddress *TransientAddress::address | ATLAS_NOT_CONST_THREAD_SAFE () const |
| Retrieve IOpaqueAddress. | |
| std::string | excBadDataProxyCast_format (CLID id, const std::type_info &tid) |
| Helper: Format exception string. | |
| std::string | excProxyCollision_format (CLID id, const std::string &key, CLID primary_id, const std::string &primary_key) |
| Helper: Format exception string. | |
| std::string | excSgkeyCollision_format (const std::string &new_key, CLID new_clid, const std::string &old_key, CLID old_clid, sgkey_t sgkey) |
| Helper: Format exception string. | |
| std::string | contKeyFromKey (const std::string &key) |
| Extract the container part of key. | |
| std::string | decorKeyFromKey (const std::string &key, const std::string &deflt) |
| Extract the decoration part of key. | |
| std::string | makeContDecorKey (const std::string &cont, const std::string &decor) |
| Make a StoreGate key from container and decoration name. | |
| std::string | makeContDecorKey (const VarHandleKey &contKey, const std::string &key) |
| Make a StoreGate key from container and decoration. | |
| void | removeContFromDecorKey (const VarHandleKey &contKey, std::string &key) |
| Remove container name from decoration key. | |
| void | throwExcNullHandleKey () |
| Throw a SG::ExcNullHandleKey exception. | |
| std::string | excHandleInitError_format (CLID clid, const std::string &sgkey, const std::string &storename) |
| Helper: format exception error string. | |
| std::string | excUninitKey_format (CLID clid, const std::string &sgkey, const std::string &storename, const std::string &holdername, const std::string &htype) |
| Helper: format exception error string. | |
| std::string | excConstObject_format (CLID clid, const std::string &sgkey, const std::string &storename) |
| Helper: format exception error string. | |
| std::string | excNullWriteHandle_format (CLID clid, const std::string &sgkey, const std::string &storename) |
| Helper: format exception error string. | |
| void | throwExcNullWriteHandle (CLID clid, const std::string &sgkey, const std::string &storename) |
| Throw a SG::ExcNullWriteHandle exception. | |
| std::string | excNullReadHandle_format (CLID clid, const std::string &sgkey, const std::string &storename) |
| Helper: format exception error string. | |
| void | throwExcNullReadHandle (CLID clid, const std::string &sgkey, const std::string &storename) |
| Throw a SG::ExcNullReadHandle exception. | |
| std::string | excNullUpdateHandle_format (CLID clid, const std::string &sgkey, const std::string &storename) |
| Helper: format exception error string. | |
| void | throwExcNullUpdateHandle (CLID clid, const std::string &sgkey, const std::string &storename) |
| Throw a SG::ExcNullUpdateHandle exception. | |
| std::string | excNonConstHandleKey_format (CLID clid, const std::string &sgkey, const std::string &storename) |
| Helper: format exception error string. | |
| void | throwExcNonConstHandleKey (CLID clid, const std::string &sgkey, const std::string &storename) |
| Throw a SG::ExcNonConstHandleKey exception. | |
| std::string | excBadContext_format (const EventContext &ctx, const std::string &key) |
| Helper: format exception error string. | |
| std::string | excNoCondCont_format (const std::string &key, const std::string &why) |
| Helper: format exception error string. | |
| std::string | excBadDecorElement_format (Gaudi::DataHandle::Mode mode, CLID clid, const std::string &decorKey) |
| Helper: format exception error string. | |
| void | throwExcBadDecorElement (Gaudi::DataHandle::Mode mode, CLID clid, const std::string &decorKey) |
| Throw a SG::ExcBadDecorElement exception. | |
| void | ReadCondHandleNotFound (const CondContBase &cc, const EventIDBase &eid, const std::string &key) |
| Report a conditions container lookup failure. | |
| template<class T> | |
| SG::ReadCondHandle< T > | makeHandle (const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext()) |
| template<class T> | |
| const T * | get (const ReadCondHandleKey< T > &key, const EventContext &ctx) |
Convenience function to retrieve an object given a ReadCondHandleKey. | |
| template<class T> | |
| StatusCode | get (const T *&ptr, const ReadCondHandleKey< T > &key, const EventContext &ctx) |
Convenience function to retrieve an object given a ReadCondHandleKey. | |
| template<class D, class T> | |
| ReadDecorHandle< T, D > | makeHandle (const ReadDecorHandleKey< T > &key) |
Return a ReadDecorHandle referencing key. | |
| template<class D, class T> | |
| ReadDecorHandle< T, D > | makeHandle (const ReadDecorHandleKey< T > &key, const EventContext &ctx) |
Return a ReadDecorHandle referencing key for an explicit context. | |
| template<class T> | |
| void | makeHandle (const ReadDecorHandleKey< T > &key) |
These two signatures are to catch cases where the explicit template argument is omitted from the makeHandle call and give an error tailored to that. | |
| template<class T> | |
| void | makeHandle (const ReadDecorHandleKey< T > &key, const EventContext &ctx) |
| template<class T> | |
| ReadHandle< T > | makeHandle (const ReadHandleKey< T > &key) |
Return a ReadHandle referencing key. | |
| template<class T> | |
| ReadHandle< T > | makeHandle (const ReadHandleKey< T > &key, const EventContext &ctx) |
Return a ReadHandle referencing key for an explicit context. | |
| template<class T> | |
| const T * | get (const ReadHandleKey< T > &key) |
Convenience function to retrieve an object given a ReadHandleKey. | |
| template<class T> | |
| const T * | get (const ReadHandleKey< T > &key, const EventContext &ctx) |
Convenience function to retrieve an object given a ReadHandleKey. | |
| template<class T> | |
| StatusCode | get (const T *&ptr, const ReadHandleKey< T > &key, const EventContext &ctx) |
Convenience function to retrieve an object given a ReadHandleKey. | |
| template<class T> | |
| ThinningHandle< T > | makeHandle (const ThinningHandleKey< T > &key) |
Return a ThinningHandle referencing key. | |
| template<class T> | |
| ThinningHandle< T > | makeHandle (const ThinningHandleKey< T > &key, const EventContext &ctx) |
Return a ThinningHandle referencing key for an explicit context. | |
| int | simpleStringHash (const std::string &str, int maxInt=0xFFFF) |
| simple hash function derived from Sedgewick Algorithms in C++ 3rd ed | |
| template<class T> | |
| UpdateHandle< T > | makeHandle (const UpdateHandleKey< T > &key) |
Return an UpdateHandle referencing key. | |
| template<class T> | |
| UpdateHandle< T > | makeHandle (const UpdateHandleKey< T > &key, const EventContext &ctx) |
Return an UpdateHandle referencing key for an explicit context. | |
| template<class T> | |
| SG::WriteCondHandle< T > | makeHandle (const SG::WriteCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext()) |
| template<class D, class T> | |
| WriteDecorHandle< T, D > | makeHandle (const WriteDecorHandleKey< T > &key) |
Return a WriteDecorHandle referencing key. | |
| template<class D, class T> | |
| WriteDecorHandle< T, D > | makeHandle (const WriteDecorHandleKey< T > &key, const EventContext &ctx) |
Return a WriteDecorHandle referencing key for an explicit context. | |
| template<class T> | |
| void | makeHandle (const WriteDecorHandleKey< T > &key) |
These two signatures are to catch cases where the explicit template argument is omitted from the makeHandle call and give an error tailored to that. | |
| template<class T> | |
| void | makeHandle (const WriteDecorHandleKey< T > &key, const EventContext &ctx) |
| template<class T> | |
| WriteHandle< T > | makeHandle (const WriteHandleKey< T > &key) |
Return a WriteHandle referencing key. | |
| template<class T> | |
| WriteHandle< T > | makeHandle (const WriteHandleKey< T > &key, const EventContext &ctx) |
Return a WriteHandle referencing key for an explicit context. | |
| template<> | |
| void | ArenaAllocatorBase::destroy_fcn< HepMC::GenParticle > (ArenaAllocatorBase::pointer p) |
| template<> | |
| void | ArenaAllocatorBase::destroy_fcn< HepMC::GenVertex > (ArenaAllocatorBase::pointer p) |
| template<> | |
| void | ArenaAllocatorBase::destroy_fcn< HepMC::GenEvent > (ArenaAllocatorBase::pointer p) |
Variables | |
| static const int | ArenaBlockBodyOffset |
| The offset from the start of the block to the first element. | |
| pointer | m_freeptr |
| Pointer to the next free element. | |
| static constexpr bool | supportsThinning = true |
| 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. | |
| bool | m_standalone |
| Are we being written in standalone mode? | |
| std::vector< std::unique_ptr< IAuxTypeVector > > | m_vecs |
The collection of vectors of aux data that we're managing, indexed by auxid. | |
| SG::auxid_set_t | m_decorations |
| Record which variables are decorations. | |
| SG::auxid_set_t | m_auxids |
Set of auxid's for which we've created a vector. | |
| bool | m_locked |
| Has this container been locked? | |
| mutex_t | m_mutex |
| SG::auxid_t | m_auxid |
The cached auxid. | |
| constexpr const char * | auxAllocatorNamePrefix = "std::allocator<" |
| template<class T> | |
| constexpr bool | is_xAODStoreObject_v |
| Test for an xAOD auxiliary store class supporting thinning. | |
| InstallViewVectorBaseStreamer | viewVectorBaseStreamerInstance |
| static const auxid_t | null_auxid = static_cast<auxid_t> (-1) |
| To signal no aux data item. | |
| static const auxid_t | auxid_set_size_hint = 2048 |
| A hint for how large we should make the auxid bitsets. | |
| size_t | m_index |
| The index of this element within its container. Should be 0 if this object is not within a container. | |
| PrivateStoreState | m_privateStoreState |
| const std::string | DEFAULTKEY = "" |
| static constexpr auto | s_sgkey_nullval |
| static IProxyDict * | m_curStore = nullptr |
| The current event store. | |
| getDataSourcePointerFunc_t * | getDataSourcePointerFunc |
| static constexpr bool | defaultQuiet = false |
Forward declaration.
Namespace used by StoreGate for some of its internal structures/classes.
| using SG::Accessor = SG::Accessor<T, ALLOC> |
Definition at line 573 of file AuxElement.h.
| using SG::AuxAllocator_t = std::allocator<T> |
The default allocator type to use for auxiliary variables.
Definition at line 28 of file AuxDataTraits.h.
| typedef size_t SG::auxid_t |
Identifier for a particular aux data item.
Definition at line 27 of file AuxTypes.h.
| using SG::AuxTypeVector = AuxTypeVectorT<AuxTypeVectorHolder<T, CONT> > |
Default type derives directly from AuxTypeVectorHolder.
Definition at line 389 of file AuxTypeVector.h.
| using SG::CompressionInfo = std::unordered_map<std::string, SG::ThinningInfo::compression_map_t> |
Map of compressed variables and their compression levels.
Definition at line 37 of file CompressionInfo.h.
| using SG::ConcurrentSGKeyMap |
A concurrent map using sgkey_t as key.
Definition at line 29 of file sgkey_utilities.h.
|
protected |
Definition at line 441 of file PackedLinkDecorator.h.
| typedef void SG::const_iterator |
Definition at line 190 of file ArenaHeapAllocator.h.
|
protected |
Helper class to provide constant type-safe access to aux data, specialized for a vector of PackedLink.
This is like Accessor, except that it only `decorates' the container. What this means is that this object can operate on a const container and return a non-const reference. However, if the container is locked, this will only work if either this is a reference to a new variable, in which case it is marked as a decoration, or it is a reference to a variable already marked as a decoration.
Although the type argument is PackedLink<CONT>, the objects that this accessor produces are ElementLink<CONT> (returned by value rather than by const reference). The getDataSpan method will then produce a (writable) span over ElementLink<CONT>. (There are separate methods for returning spans over the PackedLink/DataLink arrays themselves.)
You might use this something like this:
You can also use this to define getters/setters in your class:
*
*/ template <class CONT, class ALLOC, class VALLOC> class Decorator<std::vector<PackedLink<CONT>, VALLOC>, ALLOC> : public detail::LinkedVarAccessorBase { public: Aliases for the types we're dealing with. using Link_t = ElementLink<CONT>; using PLink_t = SG::PackedLink<CONT>; using VElt_t = std::vector<SG::PackedLink<CONT>, VALLOC>; using DLink_t = DataLink<CONT>; using DLinkAlloc_t = typename std::allocator_traits<ALLOC>::template rebind_alloc<DLink_t>;
/ Spans over the objects that are actually stored. using const_PackedLinkVector_span = typename AuxDataTraits<VElt_t, ALLOC>::const_span; using const_DataLink_span = typename AuxDataTraits<DataLink<CONT>, DLinkAlloc_t>::const_span; using PackedLinkVector_span = typename AuxDataTraits<VElt_t, ALLOC>::span; using DataLink_span = typename AuxDataTraits<DataLink<CONT>, DLinkAlloc_t>::span;
/ And spans over PackedLink objects. using const_PackedLink_span = typename AuxDataTraits<PackedLink<CONT>, VALLOC>::const_span; using PackedLink_span = typename AuxDataTraits<PackedLink<CONT>, VALLOC>::span;
/ Converter from vector of PackedLink to a span over ElementLinks. using ConstVectorTransform_t = detail::PackedLinkVectorConstConverter<CONT>;
/** Transform a span over vector of PackedLink to a span over span over ElementLink.
Definition at line 418 of file PackedLinkDecorator.h.
| using SG::ConstAccessor = SG::ConstAccessor<T, ALLOC> |
Definition at line 570 of file AuxElement.h.
| typedef ProxyMap::const_iterator SG::ConstProxyIterator |
Definition at line 24 of file ProxyMap.h.
|
protected |
Not supported.
Definition at line 440 of file PackedLinkDecorator.h.
| using SG::DataObjectSharedPtr = CxxUtils::RefCountedPtr<T> |
Definition at line 27 of file DataObjectSharedPtr.h.
| SG::Decorator = SG::Decorator<T, ALLOC> |
Helper class to provide type-safe access to aux data, specialized for JaggedVecElt.
Helper class to provide type-safe access to aux data, specialized for PackedLink.
Constructor taking an auxid directly.
Constructor.
This is a version of Decorator, specialized for jagged vectors.
This is like Accessor, except that it only `decorates' the container. What this means is that this object can operate on a const container and return a non-const reference. However, if the container is locked, this will only work if either this is a reference to a new variable, in which case it is marked as a decoration, or it is a reference to a variable already marked as a decoration.
Although the type argument is JaggedVecElt<PAYLOAD_T>, the objects that this accessor produces are spans over elements of type PAYLOAD_T. The getDataSpan method will then produce a (writable) span over spans of PAYLOAD_T. (There are separate methods for returning spans over the element/payload arrays themselves.)
You might use this something like this:
*/ template <class PAYLOAD_T, class ALLOC> class Decorator<JaggedVecElt<PAYLOAD_T>, ALLOC> : public detail::LinkedVarAccessorBase { public: / Payload type. using Payload_t = PAYLOAD_T;
/ Allocator to use for the payload vector. using PayloadAlloc_t = typename std::allocator_traits<ALLOC>::template rebind_alloc<Payload_t>;
/ One element of the jagged vector. using Elt_t = SG::JaggedVecElt<PAYLOAD_T>;
/ Writable proxies for a jagged vector element: both a single proxy / and one used as part of a span. using JVecProxy = detail::JaggedVecProxyT<Payload_t, detail::JaggedVecProxyValBase>; using JVecProxyInSpan = detail::JaggedVecProxyT<Payload_t, detail::JaggedVecProxyRefBase>;
/ Converter from JaggedVecElt to a (writable) span. using Converter_t = detail::JaggedVecConverter<Payload_t>;
/ Converter from JaggedVecElt to a span. using ConstConverter_t = detail::JaggedVecConstConverter<Payload_t>;
/ Spans over the objects that are actually stored. using const_Elt_span = typename AuxDataTraits<JaggedVecElt<Payload_t>, ALLOC>::const_span; using const_Payload_span = typename AuxDataTraits<Payload_t, PayloadAlloc_t>::const_span; using Elt_span = typename AuxDataTraits<JaggedVecElt<Payload_t>, ALLOC>::span; using Payload_span = typename AuxDataTraits<Payload_t, PayloadAlloc_t>::span;
/ Spans over the entire jagged vector, both writable and not. using const_span = CxxUtils::transform_view_with_at<const_Elt_span, ConstConverter_t>; using span = CxxUtils::transform_view_with_at<Elt_span, Converter_t>;
/ Const span resulting from the conversion. using element_type = typename ConstConverter_t::element_type;
/ Type referencing an item (const). using const_reference_type = element_type;
/ The writable type we return. using reference_type = JVecProxy;
/ A const reference type that can appear on the RHS of an assignment / to an application of a Decorator of this type. using rhs_const_reference_type = std::span<const Payload_t>;
/ Not supported. using container_pointer_type = void; using const_container_pointer_type = void;
/**
Constructor.
| name | Name of this aux variable. |
The name -> auxid lookup is done here.
| name | Name of this aux variable. |
| clsname | The name of its associated class. May be blank. |
The name -> auxid lookup is done here.
| auxid | ID for this auxiliary variable. |
Will throw SG::ExcAuxTypeMismatch if the types don't match.
| name | Name of this aux variable. |
| clsname | The name of its associated class. May be blank. |
| flags | Optional flags qualifying the type. See AuxTypeRegistry. |
The name -> auxid lookup is done here.
This is a version of Decorator, specialized for packed links.
This is like Accessor, except that it only `decorates' the container. What this means is that this object can operate on a const container and return a non-const reference. However, if the container is locked, this will only work if either this is a reference to a new variable, in which case it is marked as a decoration, or it is a reference to a variable already marked as a decoration.
Although the type argument is PackedLink<CONT>, the objects that this accessor produces are ElementLink<CONT> (returned by value rather than by const reference). The getDataSpan method will then produce a (writable) span over ElementLink<CONT>. (There are separate methods for returning spans over the PackedLink/DataLink arrays themselves.)
You might use this something like this:
*/ template <class CONT, class ALLOC> class Decorator<PackedLink<CONT>, ALLOC> : public detail::LinkedVarAccessorBase { public: Aliases for the types we're dealing with. using Link_t = ElementLink<CONT>; using PLink_t = SG::PackedLink<CONT>; using DLink_t = DataLink<CONT>; using DLinkAlloc_t = typename std::allocator_traits<ALLOC>::template rebind_alloc<DLink_t>;
/ Spans over the objects that are actually stored. using const_PackedLink_span = typename AuxDataTraits<PackedLink<CONT>, ALLOC>::const_span; using const_DataLink_span = typename AuxDataTraits<DataLink<CONT>, DLinkAlloc_t>::const_span; using PackedLink_span = typename AuxDataTraits<PackedLink<CONT>, ALLOC>::span; using DataLink_span = typename AuxDataTraits<DataLink<CONT>, DLinkAlloc_t>::span;
/ Converter from PackedLink -> ElementLink. using ConstConverter_t = detail::PackedLinkConstConverter<CONT>;
/ Transform a span over PackedLink to a span over ElementLink. using const_span = CxxUtils::transform_view_with_at<const_PackedLink_span, ConstConverter_t>;
/ Writable proxy for PackedLink appearing like an ElementLink. using ELProxy = detail::ELProxyT<detail::ELProxyValBase<CONT> >;
/ Transform a non-const span of PackedLink to a range / of ElementLink proxies. using span = CxxUtils::transform_view_with_at<PackedLink_span, detail::ELProxyInSpanConverter<CONT> >;
/ Type the user sees. using element_type = Link_t;
/ Type referencing an item. using reference_type = ELProxy;
/ Type referencing an item. using const_reference_type = element_type;
/ A const reference type that can appear on the RHS of an assignment / to an application of a Decorator of this type. using rhs_const_reference_type = const Link_t&;
/ Not supported. using container_pointer_type = void; using const_container_pointer_type = void;
/**
Constructor.
| name | Name of this aux variable. |
The name -> auxid lookup is done here.
| name | Name of this aux variable. |
The name -> auxid lookup is done here.
Definition at line 576 of file AuxElement.h.
| using SG::DecorHandleKeyArray = HandleKeyArray< T_Handle, T_HandleKey, MODE> |
Definition at line 25 of file StoreGate/StoreGate/DecorHandleKeyArray.h.
|
protected |
Type the user sees.
Definition at line 434 of file PackedLinkDecorator.h.
|
protected |
Transform a span over vector of PackedLink to a span over span over ElementLink proxies.
Definition at line 428 of file PackedLinkDecorator.h.
|
protected |
Presents a vector of PackedLink as a range of ElementLink proxies.
Definition at line 423 of file PackedLinkDecorator.h.
| typedef IProxyDict ** SG::getDataSourcePointerFunc_t(const std::string &) |
Definition at line 34 of file DataProxy.cxx.
|
private |
Definition at line 498 of file AuxStoreInternal.h.
| typedef void SG::iterator |
Definition at line 189 of file ArenaHeapAllocator.h.
| using SG::JaggedVecVector = JaggedVecVectorT<JaggedVecVectorHolder<T, ALLOC> > |
Definition at line 226 of file JaggedVecVector.h.
Backwards compatibility.
Definition at line 161 of file Control/AthLinks/AthLinks/exceptions.h.
|
private |
Mutex used to synchronize modifications to the cache vector.
Mutex type for multithread synchronization.
Definition at line 497 of file AuxStoreInternal.h.
| using SG::PackedLinkVector = PackedLinkVectorT<PackedLinkVectorHolder<CONT, ALLOC> > |
Definition at line 267 of file PackedLinkVector.h.
| using SG::PackedLinkVVector = PackedLinkVectorT<PackedLinkVVectorHolder<CONT, VALLOC, VELT, ALLOC> > |
Definition at line 273 of file PackedLinkVector.h.
| typedef ProxyMap::iterator SG::ProxyIterator |
Definition at line 23 of file ProxyMap.h.
| typedef std::map<std::string, DataProxy*> SG::ProxyMap |
Definition at line 22 of file ProxyMap.h.
| using SG::ReadCondHandleKeyArray = HandleKeyArray<ReadCondHandle<T>, CondHandleDefault::Key<ReadCondHandleKey<T> >, Gaudi::DataHandle::Reader > |
Definition at line 30 of file CondHandleKeyArray.h.
| using SG::ReadDecorHandleKeyArray = DecorHandleKeyArray<ReadDecorHandle<T, S>, ReadDecorHandleKey<T>, Gaudi::DataHandle::Reader > |
Definition at line 35 of file StoreGate/StoreGate/ReadDecorHandleKeyArray.h.
| using SG::ReadHandleKeyArray = HandleKeyArray<ReadHandle<T>, ReadHandleKey<T>, Gaudi::DataHandle::Reader > |
Definition at line 32 of file StoreGate/StoreGate/ReadHandleKeyArray.h.
|
protected |
Type referencing an item.
Definition at line 437 of file PackedLinkDecorator.h.
| typedef uint32_t SG::sgkey_t |
| using SG::SGKeyMap = std::unordered_map<sgkey_t, T> |
| using SG::SGKeySet = std::unordered_set<sgkey_t> |
| typedef std::string SG::SourceID |
Definition at line 25 of file AthenaKernel/AthenaKernel/SourceID.h.
|
protected |
Definition at line 429 of file PackedLinkDecorator.h.
| using SG::ThinningHandleKeyArray = HandleKeyArray<ThinningHandle<T>,ThinningHandleKey<T>, Gaudi::DataHandle::Reader > |
Definition at line 28 of file ThinningHandleKeyArray.h.
| using SG::TypelessConstAccessor = ConstAuxElement::TypelessConstAccessor |
Definition at line 567 of file AuxElement.h.
| using SG::WriteCondHandleKeyArray = HandleKeyArray<WriteCondHandle<T>,CondHandleDefault::Key<WriteCondHandleKey<T> >, Gaudi::DataHandle::Writer > |
Definition at line 33 of file CondHandleKeyArray.h.
| using SG::WriteDecorHandleKeyArray = DecorHandleKeyArray<WriteDecorHandle<T, S>,WriteDecorHandleKey<T>, Gaudi::DataHandle::Writer > |
Definition at line 35 of file StoreGate/StoreGate/WriteDecorHandleKeyArray.h.
| using SG::WriteHandleKeyArray = HandleKeyArray<WriteHandle<T>,WriteHandleKey<T>, Gaudi::DataHandle::Writer > |
Definition at line 32 of file WriteHandleKeyArray.h.
| enum SG::AllowEmptyEnum |
| Enumerator | |
|---|---|
| AllowEmpty | |
Definition at line 26 of file StoreGate/StoreGate/VarHandleKey.h.
| enum SG::AuxVarFlags |
Additional flags to qualify an auxiliary variable.
| Enumerator | |
|---|---|
| None | No special flags set. |
| Atomic | Mark that this variable should only be accessed atomically. If this is set, then the variable can be accessed only via |
Definition at line 58 of file AuxTypes.h.
| Enumerator | |
|---|---|
| DEFAULT_TRACK_INDICES | Default value. Set index tracking based on the ownership policy. If this container owns its elements, then track indices; otherwise do not. |
| ALWAYS_TRACK_INDICES | Always track indices, regardless of the setting of the ownership policy. |
| NEVER_TRACK_INDICES | Never track indices, regardless of the setting of the ownership policy. |
Definition at line 37 of file IndexTrackingPolicy.h.
|
strong |
Support of the invalid EventContext in SlotSpecificObj.
| Enumerator | |
|---|---|
| Enabled | |
| Disabled | |
Definition at line 45 of file AthenaKernel/AthenaKernel/SlotSpecificObj.h.
| enum SG::OwnershipPolicy |
| Enumerator | |
|---|---|
| OWN_ELEMENTS | this data object owns its elements |
| VIEW_ELEMENTS | this data object is a view, it does not own its elmts |
Definition at line 16 of file OwnershipPolicy.h.
|
strongprivate |
The current private data state.
| Enumerator | |
|---|---|
| NO_PRIVATE | |
| HAVE_PRIVATE | |
| HAD_PRIVATE | |
Definition at line 131 of file IAuxElement.h.
|
protected |
Add a new auxid to the set of those being managed by this store.
| auxid | The auxid to add. |
|
protected |
Explicitly add a vector to the store.
| vec | Vector data being added. |
| isDecoration | Should this variable be marked as a decoration? |
For internal use. The auxid must not already exist in the store.
Definition at line 147 of file AuxStoreInternal.cxx.
| pointer SG::allocate | ( | ) |
Allocate a new element.
The fast path of this will be completely inlined.
|
inline |
Definition at line 66 of file HepMcDataPool.h.
|
inline |
Definition at line 45 of file HepMcDataPool.h.
|
inline |
Definition at line 55 of file HepMcDataPool.h.
| SG::ArenaHeapAllocator::ArenaHeapAllocator | ( | ArenaHeapAllocator && | other | ) |
Move constructor.
Definition at line 58 of file ArenaHeapAllocator.cxx.
|
delete |
Don't allow copy construction or assignment.
| SG::ArenaHeapAllocator::ArenaHeapAllocator | ( | const Params & | params | ) |
Constructor.
| params | The parameters structure for this allocator. See ArenaAllocatorBase.h for the contents. |
Definition at line 28 of file ArenaHeapAllocator.cxx.
|
inline |
Helper: common code for advancing an iterator.
| base | Element pointer. |
| block | Block pointer. |
Definition at line 53 of file ArenaPoolAllocator.cxx.
|
inline |
Helper: common code for advancing an iterator.
| base | Element pointer. |
| block | Block pointer. |
Definition at line 28 of file ArenaPoolAllocator.cxx.
| void SG::assign | ( | const AuxElement & | other, |
| bool | warnUnlocked = false ) |
Assignment.
| other | The object from which we're assigning. |
| warnUnlocked | If true, then warn when we skip unlocked decorations. |
We don't copy container/index, as assignment doesn't change where this object is. However, if we have aux data, then we copy aux data if we're copying from an object that also has it; otherwise, if we're copying from an object with no aux data, then we clear ours.
| DataObject * SG::asStorable | ( | SG::DataObjectSharedPtr< T > | pObject | ) |
Definition at line 31 of file DataObjectSharedPtr.h.
| DataObject * SG::asStorable | ( | std::unique_ptr< T > | pObject | ) |
Definition at line 159 of file StorableConversions.h.
| DataObject * SG::asStorable | ( | T * | pObject | ) |
Definition at line 153 of file StorableConversions.h.
| void SG::AthLinks_error | ( | ) |
For setting debugger breakpoints.
Definition at line 21 of file Control/AthLinks/src/exceptions.cxx.
|
inline |
Retrieve IOpaqueAddress.
Definition at line 199 of file TransientAddress.h.
| void setDataProxyHolderInputRenameMap SG::ATLAS_NOT_THREAD_SAFE | ( | const Athena::IInputRename::InputRenameRCU_t * | map | ) |
| void setNSlotsHiveMgrName SG::ATLAS_NOT_THREAD_SAFE | ( | const std::string & | s | ) |
Allow setting the name of the whiteboard service.
For testing.
Definition at line 35 of file SlotSpecificObj.cxx.
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::reference_type SG::auxdata | ( | const std::string & | name | ) |
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type SG::auxdata | ( | const std::string & | name | ) | const |
Fetch an aux data variable, as a const reference.
| name | Name of the aux variable. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor or ConstAccessor classes.
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::reference_type SG::auxdata | ( | const std::string & | name, |
| const std::string & | clsname ) |
Fetch an aux data variable, as a non-const reference.
| name | Name of the aux variable. |
| clsname | The name of the associated class. May be blank. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type SG::auxdata | ( | const std::string & | name, |
| const std::string & | clsname ) const |
Fetch an aux data variable, as a const reference.
| name | Name of the aux variable. |
| clsname | The name of the associated class. May be blank. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor or ConstAccessor classes.
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type SG::auxdataConst | ( | const std::string & | name | ) | const |
Fetch an aux data variable, as a const reference.
| name | Name of the aux variable. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the ConstAccessor class.
| XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type SG::auxdataConst | ( | const std::string & | name, |
| const std::string & | clsname ) const |
Fetch an aux data variable, as a const reference.
| name | Name of the aux variable. |
| clsname | The name of the associated class. May be blank. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the ConstAccessor class.
| XAOD_AUXDATA_DEPRECATED Decorator< T, ALLOC >::reference_type SG::auxdecor | ( | const std::string & | name | ) | const |
Fetch an aux decoration, as a non-const reference.
| name | Name of the aux variable. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| XAOD_AUXDATA_DEPRECATED Decorator< T, ALLOC >::reference_type SG::auxdecor | ( | const std::string & | name, |
| const std::string & | clsname ) const |
Fetch an aux decoration, as a non-const reference.
| name | Name of the aux variable. |
| clsname | The name of the associated class. May be blank. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| SG::AuxElement | ( | const AuxElement & | other | ) |
Copy Constructor.
| other | Object being copied. |
We do not copy the container/index — the new object is not yet in a container!
In the case of constructing an object with a private store, makePrivateStore will take care of copying the aux data.
| SG::AuxElement | ( | SG::AuxVectorData * | container, |
| size_t | index ) |
Base class for elements of a container that can have aux data.
Classes that want to have associated auxiliary data should derive from this class. (It is also possible to use this class directly, if you want a container that only stores auxiliary data.)
The first thing that happens when you derive from AuxElement is that when an object is inserted into a DataVector, the vector will maintain information in the object telling were it is within the vector. For example:
As long as you don't use DataVector::stdcont or use unsafe casts, DataVector will correctly maintain this information.
When an object deriving from AuxElement is in a DataVector it may have auxiliary data associated with it; that is, named data objects of arbitrary type. The recommended way of accessing auxiliary data is through the Accessor and ConstAccessor classes, which cache the lookup between the aux data item name and its internal representation. The difference between these two is that ConstAccessor allows only const access to the element, while Accessor, which derives from it, allows non-const access as well. A given name must always have the same type, no matter where it is used (even across different classes); otherwise, an exception will be thrown. To help prevent conflicts between different classes, aux data item names may be optionally qualified with a class name. Here's an example of using ConstAccessor:
The auxdata methods can be used as a shortcut for this, but that's not recommended for anything for which performance is an issue.
You can also define getters/setters in your class:
In addition, one sometimes wants to add additional auxiliary data to an existing const container; for example, after a container has been retrieved from StoreGate. This is called `decoration', and is handled by the Decorator object, which is much like Accessor and ConstAccessor. The difference is that Decorator can take a const container and return a non-const, modifiable reference. If the container has been locked by calling StoreGateSvc::setConst, then this is allowed only if this is a new auxiliary item, in which case it is marked as a decoration, or if it is already marked as a decoration. This prevents changing existing variables in a locked container. An auxdecor method is also available, analogous to auxdata.
In addition to the above, the class TypelessConstAccessor is a non-templated class that allows access to auxiliary data items directly as a void *. This is useful for code which operates on auxiliary data generically; it shouldn't really be used in other contexts.
Normally, an object can have auxiliary data only when it is part of a container. But sometimes it is useful to be able to associate aux data with an object before it has been added to a container. You can enable this by creating a `private store' for the object with makePrivateStore. This can optionally take an argument from which aux data should be copied. (Using a private store adds overhead, which is why it is not enabled by default.) Example:
When an object with a private store is added to a container, the aux data is copied to the container and the private store is released. However, the fact that we had a private store is remembered; if the object is later removed from the container, the private store will be remade, and the aux data will be copied back from the container to the private store. To explicitly release the private store (so that it won't come back automatically), call releasePrivateStore.
If you add makePrivateStore calls to the constructors of your class, then you should be able to treat aux data as if it were part of the object itself; the required copying will be handled automatically.
The SG::AuxElementComplete template class may be helpful in setting this up.
It is also possible to associate one of these objects with an external aux data store. This is the `standalone' mode. To do this, use the setStore methods, exactly as you would for a container that has aux data. setStore will throw an exception if the object is a member of a container or has a private store.
This class should not have any virtual methods (to avoid forcing derived classes to have a vtable). */ coverity[MISSING_MOVE_ASSIGNMENT] class AuxElement
: public ConstAuxElement
{ public: / Default constructor. AuxElement();
/**
Constructor with explicit container / index.
| container | Container of which this element will be a part. |
| index | Index of this element within the container. |
This does not make any changes to aux data.
| SG::auxid_t SG::auxid | ( | ) | const |
Return the aux id for this variable.
| SG::AuxStoreInternal::AuxStoreInternal | ( | bool | standalone = false | ) |
An auxiliary data store that holds data internally.
Constructor.
When auxiliary data are associated with a container, the data themselves are managed by a separate `store' object, described by the interfaces SG::IAuxStore and SG::IConstAuxStore.
This class is an implementation of those interfaces that stores the data itself. This is suitable, for example, for transient auxiliary data. */ class AuxStoreInternal : public IAuxStore, public IAuxStoreIO { public: /**
Constructor.
| standalone | If true, then write this in standalone mode. |
| standalone | If true, then write this in standalone mode. |
Definition at line 31 of file AuxStoreInternal.cxx.
| SG::AuxStoreInternal::AuxStoreInternal | ( | const AuxStoreInternal & | orig | ) |
Copy constructor.
Definition at line 51 of file AuxStoreInternal.cxx.
|
private |
Clear all aux data associated with this element.
If this object has no associated store, this does nothing. If the associated aux data is const, this throws ExcConstAuxData.
Definition at line 567 of file AuxElement.cxx.
|
staticprivate |
Clear all aux data associated with an element.
If the associated aux data is const, this throws ExcConstAuxData.
Definition at line 626 of file AuxElement.cxx.
| void SG::clearCache | ( | ) |
Clear the cached aux data pointers.
You should call this any time something changes in the aux store that could invalidate the vector pointers.
|
override |
Clear all decorations.
Erase all decorations from an associated store, restoring the state to when lock was called.
Returns true if there were any decorations that were cleared, false if the store did not contain any decorations.
Erase all decorations from the store, restoring the state to when lock was called. Be sure to clear the cache of the referencing container!
Returns true if there were any decorations that were cleared, false if the store did not contain any decorations.
| SG::AuxVectorData * SG::container | ( | ) | const |
Return the container holding this element.
| std::string SG::contKeyFromKey | ( | const std::string & | key | ) |
Extract the container part of key.
| key | The decoration handle key. |
Given a key of the form CCC.DDD, returns the container part, CCC.
Definition at line 26 of file DecorKeyHelpers.cxx.
|
private |
Copy aux data from another object.
| other | The object from which to copy. |
| warnUnlocked | If true, then warn when we skip unlocked decorations. |
If this object has no associated store, this does nothing. If the associated aux data is const, this throws ExcConstAuxData.
All aux data items from other are copied to this object. Any aux data items associated with this object that are not present in other are cleared. (If other has no aux data, then all aux data items for this object are cleared.)
Definition at line 587 of file AuxElement.cxx.
|
staticprivate |
Copy aux data from another object.
| container | Container of the element. |
| index | Index of this element within the container. |
| other | The object from which to copy. |
| warnUnlocked | If true, then warn when we skip unlocked decorations. |
If the associated aux data is const, this throws ExcConstAuxData.
All aux data items from other are copied to this object. Any aux data items associated with this object that are not present in other are cleared. (If other has no aux data, then all aux data items for this object are cleared.)
Definition at line 654 of file AuxElement.cxx.
| void SG::copyAuxStoreThinned | ( | const SG::IConstAuxStore & | orig, |
| SG::IAuxStore & | copy, | ||
| const SG::ThinningInfo * | info ) |
Helper to copy an aux store while applying thinning.
| orig | Source aux store from which to copy. |
| copy | Destination aux store to which to copy. |
| info | Thinning information for this object (or nullptr). |
orig and copy are both auxiliary store objects. The data from orig will be copied to copy, with individual elements / variables removed according info.
| std::unique_ptr< CONTAINER > SG::copyThinned | ( | CONTAINER & | orig, |
| const SG::ThinningInfo * | info ) |
Helper to copy an object while applying thinning.
| orig | The object to copy. |
| info | Thinning information for this object (or nullptr). |
Returns a new copy of orig with elements removed according to the thinning defined in svc. Ownership of the new object is passed back to the caller.
The code here handles IAuxStore objects. (For a DataVector object, use copyThinnedConst.) Support for additional object types may be added by adding overloads for copyThinned1.
| std::unique_ptr< const CONTAINER > SG::copyThinned1 | ( | const CONTAINER & | orig, |
| const DataVector< typename CONTAINER::base_value_type > * | dummy, | ||
| const SG::ThinningInfo * | info ) |
Helper to copy an object while applying thinning.
| orig | The object to copy. |
| dummy | Dummy argument for overload resolution. |
| info | Thinning information for this object (or nullptr). |
This overload handles DataVector types. It returns a view container copy of orig, from which any thinned elements are removed.
| std::unique_ptr< CONTAINER > SG::copyThinned1 | ( | const CONTAINER & | orig, |
| const SG::IAuxStore * | dummy, | ||
| const SG::ThinningInfo * | info ) |
Helper to copy an object while applying thinning.
| orig | The object to copy. |
| dummy | Dummy argument for overload resolution. |
| info | Thinning information for this object (or nullptr). |
This overload handles IAuxStore types. It returns a new copy of the store, with any thinned elements removed.
| std::unique_ptr< CONTAINER > SG::copyThinned1 | ( | const CONTAINER & | orig, |
| const void * | dummy, | ||
| const SG::ThinningInfo * | info ) |
Helper to copy an object while applying thinning.
| orig | The object to copy. |
| dummy | Dummy argument for overload resolution. |
| info | Thinning information for this object (or nullptr). |
This is the generic version of copyThinned, which matches types for which there is not a more specific overload. It simply makes a copy of orig using the copy constructor.
| std::unique_ptr< CONTAINER > SG::copyThinned1 | ( | CONTAINER & | orig, |
| DataVector< typename CONTAINER::base_value_type > * | , | ||
| const SG::ThinningInfo * | info ) |
Helper to copy an object while applying thinning.
| orig | The object to copy. |
| dummy | Dummy argument for overload resolution. |
| info | Thinning information for this object (or nullptr). |
This overload handles DataVector types. It returns a view container copy of orig, from which any thinned elements are removed.
| std::unique_ptr< const CONTAINER > SG::copyThinnedConst | ( | const CONTAINER & | orig, |
| const SG::ThinningInfo * | info ) |
Helper to copy an object while applying thinning, const version.
| orig | The object to copy. |
| info | Thinning information for this object (or nullptr). |
Returns a new copy of orig with elements removed according to the thinning defined in svc. Ownership of the new object is passed back to the caller.
The code here handles DataVector and IAuxStore objects. Support for additional object types may be added by adding overloads for copyThinned1.
const ref version of the cast.
| SG::ExcBadDataProxyCast. |
Definition at line 64 of file DataProxy_cast.h.
| DATA * SG::DataProxy_cast | ( | SG::DataProxy * | proxy | ) |
cast the proxy into the concrete data object it proxies
use optional>
Definition at line 53 of file DataProxy_cast.h.
| void * SG::DataProxy_cast | ( | SG::DataProxy * | proxy, |
| CLID | clid, | ||
| const std::type_info * | tinfo = nullptr ) |
Try to get the pointer back from a DataProxy, converted to be of type clid.
| proxy | The DataProxy. |
| clid | The ID of the class to which to convert. |
Only works if the held object is a DataBucket. Returns nullptr on failure,
Definition at line 633 of file DataProxy.cxx.
| std::vector< ElementLink< DV > > SG::dataVectorAsELV | ( | const DV & | v, |
| IProxyDict * | store = 0 ) |
Helper to make a vector<EL> from a DataVector.
Given a DataVector, return a vector of ElementLink objects that reference the DataVector's elements. We can always do this if the DataVector owns its elements. However, if it is a view container, then the elements must derive from SG::AuxElement and must be part of some other container.
Definition at line 92 of file dataVectorAsELV.h.
| void SG::dataVectorViewAsELV | ( | const std::false_type & | , |
| const DV & | , | ||
| std::vector< ElementLink< DV > > & | , | ||
| IProxyDict * | ) |
Helper for dataVectorViewAsELV.
Don't call this directly.
Handle the case of a view vector with elements not deriving from AuxElement (just throw an exception).
Definition at line 71 of file dataVectorAsELV.h.
| void SG::dataVectorViewAsELV | ( | const std::true_type & | , |
| const DV & | v, | ||
| std::vector< ElementLink< DV > > & | ret, | ||
| IProxyDict * | store ) |
Helper for dataVectorViewAsELV.
Don't call this directly.
Handle the case of a view vector with elements deriving from AuxElement.
Definition at line 43 of file dataVectorAsELV.h.
| SG::Decorator | ( | const SG::auxid_t | auxid | ) |
Constructor taking an auxid directly.
| auxid | ID for this auxiliary variable. |
Will throw SG::ExcAuxTypeMismatch if the types don't match.
|
protected |
Constructor taking an auxid directly.
| auxid | ID for this auxiliary variable. |
| flags | Optional flags qualifying the type. See AuxTypeRegistry. |
Will throw SG::ExcAuxTypeMismatch if the types don't match.
| SG::Decorator | ( | const std::string & | name | ) |
Helper class to provide type-safe access to aux data.
Constructor.
Helper class to provide type-safe access to aux data, specialized for PackedLink.
Helper class to provide type-safe access to aux data, specialized for JaggedVecElt.
This is like Accessor, except that it only `decorates' the container. What this means is that this object can operate on a const container and return a non-const reference. However, if the container is locked, this will only work if either this is a reference to a new variable, in which case it is marked as a decoration, or it is a reference to a variable already marked as a decoration.
This is written as a separate class in order to be able to cache the name -> auxid lookup.
You might use this something like this:
*/ template <class T, class ALLOC = AuxAllocator_t<T> > class Decorator { public: / Type referencing an item. using reference_type = typename AuxDataTraits<T, ALLOC>::reference_type;
/ Type referencing an item, as const reference. using const_reference_type = typename AuxDataTraits<T, ALLOC>::const_reference_type;
/ A const reference type that can appear on the RHS of an assignment / to an application of a Decorator of this type. using rhs_const_reference_type = const_reference_type;
/ Type the user sees. using element_type = typename AuxDataTraits<T, ALLOC>::element_type;
/ Pointer into the container holding this item. using container_pointer_type = typename AuxDataTraits<T, ALLOC>::container_pointer_type; using const_container_pointer_type = typename AuxDataTraits<T, ALLOC>::const_container_pointer_type;
/ A span over elements in the container. using span = typename AuxDataTraits<T, ALLOC>::span; using const_span = typename AuxDataTraits<T, ALLOC>::const_span;
/**
Constructor.
| name | Name of this aux variable. |
The name -> auxid lookup is done here.
This is a version of Decorator, specialized for jagged vectors.
This is like Accessor, except that it only `decorates' the container. What this means is that this object can operate on a const container and return a non-const reference. However, if the container is locked, this will only work if either this is a reference to a new variable, in which case it is marked as a decoration, or it is a reference to a variable already marked as a decoration.
Although the type argument is JaggedVecElt<PAYLOAD_T>, the objects that this accessor produces are spans over elements of type PAYLOAD_T. The getDataSpan method will then produce a (writable) span over spans of PAYLOAD_T. (There are separate methods for returning spans over the element/payload arrays themselves.)
You might use this something like this:
*/ template <class PAYLOAD_T, class ALLOC> class Decorator<JaggedVecElt<PAYLOAD_T>, ALLOC> : public detail::LinkedVarAccessorBase { public: / Payload type. using Payload_t = PAYLOAD_T;
/ Allocator to use for the payload vector. using PayloadAlloc_t = typename std::allocator_traits<ALLOC>::template rebind_alloc<Payload_t>;
/ One element of the jagged vector. using Elt_t = SG::JaggedVecElt<PAYLOAD_T>;
/ Writable proxies for a jagged vector element: both a single proxy / and one used as part of a span. using JVecProxy = detail::JaggedVecProxyT<Payload_t, detail::JaggedVecProxyValBase>; using JVecProxyInSpan = detail::JaggedVecProxyT<Payload_t, detail::JaggedVecProxyRefBase>;
/ Converter from JaggedVecElt to a (writable) span. using Converter_t = detail::JaggedVecConverter<Payload_t>;
/ Converter from JaggedVecElt to a span. using ConstConverter_t = detail::JaggedVecConstConverter<Payload_t>;
/ Spans over the objects that are actually stored. using const_Elt_span = typename AuxDataTraits<JaggedVecElt<Payload_t>, ALLOC>::const_span; using const_Payload_span = typename AuxDataTraits<Payload_t, PayloadAlloc_t>::const_span; using Elt_span = typename AuxDataTraits<JaggedVecElt<Payload_t>, ALLOC>::span; using Payload_span = typename AuxDataTraits<Payload_t, PayloadAlloc_t>::span;
/ Spans over the entire jagged vector, both writable and not. using const_span = CxxUtils::transform_view_with_at<const_Elt_span, ConstConverter_t>; using span = CxxUtils::transform_view_with_at<Elt_span, Converter_t>;
/ Const span resulting from the conversion. using element_type = typename ConstConverter_t::element_type;
/ Type referencing an item (const). using const_reference_type = element_type;
/ The writable type we return. using reference_type = JVecProxy;
/ A const reference type that can appear on the RHS of an assignment / to an application of a Decorator of this type. using rhs_const_reference_type = std::span<const Payload_t>;
/ Not supported. using container_pointer_type = void; using const_container_pointer_type = void;
/**
Constructor.
| name | Name of this aux variable. |
The name -> auxid lookup is done here.
This is a version of Decorator, specialized for packed links.
This is like Accessor, except that it only `decorates' the container. What this means is that this object can operate on a const container and return a non-const reference. However, if the container is locked, this will only work if either this is a reference to a new variable, in which case it is marked as a decoration, or it is a reference to a variable already marked as a decoration.
Although the type argument is PackedLink<CONT>, the objects that this accessor produces are ElementLink<CONT> (returned by value rather than by const reference). The getDataSpan method will then produce a (writable) span over ElementLink<CONT>. (There are separate methods for returning spans over the PackedLink/DataLink arrays themselves.)
You might use this something like this:
*/ template <class CONT, class ALLOC> class Decorator<PackedLink<CONT>, ALLOC> : public detail::LinkedVarAccessorBase { public: Aliases for the types we're dealing with. using Link_t = ElementLink<CONT>; using PLink_t = SG::PackedLink<CONT>; using DLink_t = DataLink<CONT>; using DLinkAlloc_t = typename std::allocator_traits<ALLOC>::template rebind_alloc<DLink_t>;
/ Spans over the objects that are actually stored. using const_PackedLink_span = typename AuxDataTraits<PackedLink<CONT>, ALLOC>::const_span; using const_DataLink_span = typename AuxDataTraits<DataLink<CONT>, DLinkAlloc_t>::const_span; using PackedLink_span = typename AuxDataTraits<PackedLink<CONT>, ALLOC>::span; using DataLink_span = typename AuxDataTraits<DataLink<CONT>, DLinkAlloc_t>::span;
/ Converter from PackedLink -> ElementLink. using ConstConverter_t = detail::PackedLinkConstConverter<CONT>;
/ Transform a span over PackedLink to a span over ElementLink. using const_span = CxxUtils::transform_view_with_at<const_PackedLink_span, ConstConverter_t>;
/ Writable proxy for PackedLink appearing like an ElementLink. using ELProxy = detail::ELProxyT<detail::ELProxyValBase<CONT> >;
/ Transform a non-const span of PackedLink to a range / of ElementLink proxies. using span = CxxUtils::transform_view_with_at<PackedLink_span, detail::ELProxyInSpanConverter<CONT> >;
/ Type the user sees. using element_type = Link_t;
/ Type referencing an item. using reference_type = ELProxy;
/ Type referencing an item. using const_reference_type = element_type;
/ A const reference type that can appear on the RHS of an assignment / to an application of a Decorator of this type. using rhs_const_reference_type = const Link_t&;
/ Not supported. using container_pointer_type = void; using const_container_pointer_type = void;
/**
Constructor.
| name | Name of this aux variable. |
The name -> auxid lookup is done here.
| name | Name of this aux variable. |
The name -> auxid lookup is done here.
| SG::Decorator | ( | const std::string & | name, |
| const std::string & | clsname ) |
Constructor.
| name | Name of this aux variable. |
| clsname | The name of its associated class. May be blank. |
The name -> auxid lookup is done here.
|
protected |
Constructor.
| name | Name of this aux variable. |
| clsname | The name of its associated class. May be blank. |
| flags | Optional flags qualifying the type. See AuxTypeRegistry. |
The name -> auxid lookup is done here.
Extract the decoration part of key.
| key | The decoration handle key. |
Given a key of the form CCC.DDD, returns the decoration part, DDD or deflt if no decoration key is found.
Definition at line 42 of file DecorKeyHelpers.cxx.
| void SG::dumpBaseInfo | ( | ) |
Definition at line 736 of file BaseInfo.cxx.
|
finaloverridevirtual |
Free all allocated elements and release memory back to the system.
All elements allocated are freed, and all allocated blocks of memory are released back to the system. destructor should be called on them if it was provided (preceded by clear if provided and mustClear was set).
| std::string SG::excAuxTypeMismatch_format | ( | SG::auxid_t | auxid, |
| const std::type_info & | new_type, | ||
| const std::type_info & | old_type, | ||
| const std::string & | new_alloc_type, | ||
| const std::string & | old_alloc_type ) |
Helper: format exception error string.
Definition at line 170 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excBadAuxVar_format | ( | SG::auxid_t | auxid | ) |
Helper: format exception error string.
Definition at line 90 of file Control/AthContainers/Root/exceptions.cxx.
Helper: format exception error string.
Definition at line 373 of file Control/StoreGate/src/exceptions.cxx.
Helper: Format exception string.
Definition at line 23 of file Control/SGTools/src/exceptions.cxx.
| std::string SG::excBadDecorElement_format | ( | Gaudi::DataHandle::Mode | mode, |
| CLID | clid, | ||
| const std::string & | decorKey ) |
Helper: format exception error string.
Definition at line 451 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excBadForwardLink_format | ( | size_t | index, |
| size_t | size, | ||
| const std::string & | name ) |
Helper: format exception error string.
Definition at line 122 of file Control/AthLinks/src/exceptions.cxx.
| std::string SG::excBadThinning_format | ( | CLID | clid, |
| const std::string & | key, | ||
| SG::sgkey_t | sgkey ) |
Helper: format exception error string.
Definition at line 313 of file Control/AthLinks/src/exceptions.cxx.
| std::string SG::excBadVarName_format | ( | const std::string & | name | ) |
Helper: format exception error string.
Definition at line 646 of file Control/AthContainers/Root/exceptions.cxx.
Helper: format exception error string.
Definition at line 53 of file Control/AthLinks/src/exceptions.cxx.
| std::string SG::excConstAuxData_format | ( | const std::string & | op, |
| SG::auxid_t | auxid ) |
Helper: format exception error string.
Definition at line 115 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excConstObject_format | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Helper: format exception error string.
Definition at line 138 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excConstStorable_format | ( | CLID | clid, |
| const std::string & | key, | ||
| SG::sgkey_t | sgkey ) |
Helper: format exception error string.
Definition at line 283 of file Control/AthLinks/src/exceptions.cxx.
| std::string SG::excDVToELV_format | ( | const std::string & | detail | ) |
Helper: format exception error string.
Definition at line 365 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excFlagMismatch_format | ( | SG::auxid_t | auxid, |
| const std::type_info & | type, | ||
| SG::AuxVarFlags | existing_flags, | ||
| SG::AuxVarFlags | requested_flags ) |
Helper: format exception error string.
Definition at line 484 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excFormatFlags | ( | SG::AuxVarFlags | flags | ) |
Helper: format flags.
Definition at line 469 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excFormatName | ( | SG::auxid_t | auxid | ) |
Helper: format an aux data item name.
Definition at line 22 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excHandleInitError_format | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Helper: format exception error string.
Definition at line 68 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excInsertionInBaseClass_format | ( | const char * | op, |
| const std::type_info & | base_type, | ||
| const std::type_info & | complete_type ) |
Helper: format exception error string.
Definition at line 216 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excInvalidLink_format | ( | CLID | clid, |
| const std::string & | key, | ||
| SG::sgkey_t | sgkey ) |
Helper: format exception error string.
Definition at line 80 of file Control/AthLinks/src/exceptions.cxx.
| std::string SG::excInvalidThinningTarget_format | ( | unsigned int | clid, |
| const std::string & | key ) |
Helper: format exception error string.
Definition at line 586 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excJaggedVecOverlappingCopy_format | ( | ) |
Helper: format exception error string.
Definition at line 672 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excLinkMismatch_format | ( | SG::auxid_t | auxid, |
| const std::type_info & | type, | ||
| SG::auxid_t | existing_linked_id, | ||
| SG::auxid_t | requested_linked_id ) |
Helper: format exception error string.
Definition at line 521 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excNoAuxStore_format | ( | const char * | op | ) |
Helper: format exception error string.
Definition at line 56 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excNoAuxStore_format | ( | SG::auxid_t | auxid | ) |
Helper: format exception error string.
Definition at line 44 of file Control/AthContainers/Root/exceptions.cxx.
Helper: format exception error string.
Definition at line 401 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excNoLinkedVar_format | ( | SG::auxid_t | auxid, |
| const std::type_info & | type ) |
Helper: format exception error string.
Definition at line 558 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excNonConstHandleKey_format | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Helper: format exception error string.
Definition at line 304 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excNullReadHandle_format | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Helper: format exception error string.
Definition at line 214 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excNullUpdateHandle_format | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Helper: format exception error string.
Definition at line 259 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excNullWriteHandle_format | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Helper: format exception error string.
Definition at line 169 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excPointerNotInSG_format | ( | const void * | pointer | ) |
Helper: format exception error string.
Definition at line 28 of file Control/AthLinks/src/exceptions.cxx.
| std::string SG::excProtection_format | ( | int | errnum | ) |
Definition at line 34 of file Control/AthAllocators/src/exceptions.cxx.
| std::string SG::excProxyCollision_format | ( | CLID | id, |
| const std::string & | key, | ||
| CLID | primary_id, | ||
| const std::string & | primary_key ) |
Helper: Format exception string.
Definition at line 67 of file Control/SGTools/src/exceptions.cxx.
| std::string SG::excSgkeyCollision_format | ( | const std::string & | new_key, |
| CLID | new_clid, | ||
| const std::string & | old_key, | ||
| CLID | old_clid, | ||
| sgkey_t | sgkey ) |
Helper: Format exception string.
Definition at line 103 of file Control/SGTools/src/exceptions.cxx.
| std::string SG::excStoreLocked_format | ( | const char * | op | ) |
Helper: format exception error string.
Definition at line 262 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excStoreLocked_format | ( | SG::auxid_t | auxid | ) |
Helper: format exception error string.
Definition at line 251 of file Control/AthContainers/Root/exceptions.cxx.
| std::string SG::excUninitKey_format | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename, | ||
| const std::string & | holdername, | ||
| const std::string & | htype ) |
Helper: format exception error string.
Definition at line 99 of file Control/StoreGate/src/exceptions.cxx.
| std::string SG::excUnknownAuxItem_format | ( | const std::string & | name, |
| const std::string & | clsname, | ||
| const std::type_info * | typ ) |
Helper: format exception error string.
Definition at line 317 of file Control/AthContainers/Root/exceptions.cxx.
| bool SG::findInContainer | ( | const CaloCellContainer & | data, |
| CaloCell const *const & | element, | ||
| CaloCellContainer::size_type & | index ) |
Definition at line 676 of file CaloCellContainer.cxx.
| bool SG::findInContainer | ( | const CaloCellContainer & | data, |
| CaloCell const *const & | element, | ||
| CaloCellContainer::size_type & | index ) |
Definition at line 676 of file CaloCellContainer.cxx.
|
inline |
Definition at line 211 of file CaloConstCellContainer.h.
| bool SG::findInContainer | ( | const CONT & | data, |
| const ELT & | element, | ||
| typename CONT::size_type & | index ) |
Find the index of an object within a container.
| data | The container to search. | |
| element | The element for which to search. | |
| [out] | index | The found index of the element. |
By default, this function will do an exhaustive search through the container to find the element. However, this function may be specialized if this can be done more efficiently for some specific container.
Definition at line 37 of file findInContainer.h.
| void SG::free | ( | pointer | p | ) |
Free an element.
| p | The element to be freed. |
clear() will be called on the element at this point, if it has been defined.
| void * SG::fromStorable | ( | DataObject * | pDObj, |
| CLID | clid, | ||
| const std::type_info * | tinfo = nullptr, | ||
| bool | quiet = false, | ||
| IRegisterTransient * | irt = 0, | ||
| bool | isConst = true ) |
Try to get the pointer back from a DataObject, converted to be of type clid.
| pDObj | The DataObject. |
| clid | The ID of the class to which to convert. |
| tinfo | type_info for the object being converted (optional). |
| quiet | If true, suppress warning messages. |
| irt | To be called if we make a new instance. |
| isConst | True if the object being converted is regarded as const. |
Only works if the DataObject is a DataBucket. Returns 0 on failure,
Definition at line 35 of file StorableConversions.cxx.
| bool SG::fromStorable | ( | DataObject * | pDObj, |
| T *& | pTrans, | ||
| bool | quiet = false, | ||
| IRegisterTransient * | irt = 0, | ||
| bool | isConst = true ) |
Definition at line 169 of file StorableConversions.h.
| const T * SG::get | ( | const ReadCondHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Convenience function to retrieve an object given a ReadCondHandleKey.
| key | The key to retrieve. |
| ctx | The event context. |
Returns the object. Returns nullptr if the key is null or if there's an error.
Definition at line 282 of file ReadCondHandle.h.
| const T * SG::get | ( | const ReadHandleKey< T > & | key | ) |
Convenience function to retrieve an object given a ReadHandleKey.
| key | The key to retrieve. |
Returns the object. Returns nullptr if the key is null or if there's an error.
| const T * SG::get | ( | const ReadHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Convenience function to retrieve an object given a ReadHandleKey.
| key | The key to retrieve. |
| ctx | The event context. |
Returns the object. Returns nullptr if the key is null or if there's an error.
| StatusCode SG::get | ( | const T *& | ptr, |
| const ReadCondHandleKey< T > & | key, | ||
| const EventContext & | ctx ) |
Convenience function to retrieve an object given a ReadCondHandleKey.
| ptr | Pointer to the retrieved object. |
| key | The key to retrieve. |
In case of error, sets ptr to nullptr and returns FAILURE. In case of an empty key, sets ptr to nullptr and returns SUCCESS.
Definition at line 305 of file ReadCondHandle.h.
| StatusCode SG::get | ( | const T *& | ptr, |
| const ReadHandleKey< T > & | key, | ||
| const EventContext & | ctx ) |
Convenience function to retrieve an object given a ReadHandleKey.
| ptr | Pointer to the retrieved object. |
| key | The key to retrieve. |
In case of error, sets ptr to nullptr and returns FAILURE. In case of an empty key, sets ptr to nullptr and returns SUCCESS.
|
override |
Return a set of identifiers for existing data items for this object.
Return a set of identifiers for existing data items in this store.
If this object has a private or standalone store, then information from that will be returned. Otherwise, if this element is part of a container, then information for the container will be returned. Otherwise, return an empty set.
This should include identifiers for all items, const and non-const.
| TClass * SG::getClassIfDictionaryExists | ( | const std::string & | cname | ) |
Look up a TClass given a name.
Try to avoid autoparsing.
| cname | Name of the class to find. |
Definition at line 27 of file getDynamicAuxID.cxx.
| const SG::IConstAuxStore * SG::getConstStore | ( | ) | const |
Return the current store, as a const interface.
This will be non-zero if either a const or non-const store is associated with this object. This will fetch either a private or standalone store.
|
overridevirtual |
Return the set of variables to copy in a deep copy.
| warnUnlocked | If true, we warn about variables skipped on account of being decorations. |
This is getAuxIDs()-getDecorIDs().
| warnUnlocked | If true, we warn about variables skipped on account of being decorations. |
Usually this will be getAuxIDs()-getDecorIDs(), but can be different for special cases (such as shallow copies).
|
private |
Compute the set of variables to copy in a deep copy.
| auxids | Set of all variables. |
| decors | Set of decorations. |
| warnUnlocked | If true, we warn about variables skipped on account of being decorations. |
| noWarn | Names of variables for which we should not issue such warnings. |
Returns auxids - decors.
Definition at line 879 of file AuxStoreInternal.cxx.
|
overridevirtual |
Return the data vector for one aux data item.
Interface for const operations on an auxiliary store.
| auxid | The identifier of the desired aux data item. |
Each aux data item is stored as a vector, with one entry per entry in the owning container. This returns a pointer to the start of the vector.
This should return nullptr if the item doesn't exist.
A DataVector may have auxiliary data associated with it. These data are kept in separate AuxStore objects; this defines the interface for const operations on such a store.
An AuxStore may store a number of different aux data items; these are identified by an integer of type auxid_t. Each item is stored as a vector with one entry per entry in the containing DataVector.
This interface provides methods for getting a const pointer to an existing vector of aux data items and for getting the set of existing aux data items.
In addition, sometimes we want to add additional auxiliary data to an existing, const container; this is called `decorating' it. For example, we retrieve a const container from StoreGate, run some algorithm on it, and attach additional data to the object that can be accessed by downstream algorithms or written to a file. To support this, we add the getDecoration operation, as well as lock and clearDecorations. When the object is first being filled, it is unlocked. It gets locked when StoreGateSvc::setConst is called on it. From then on, we can only create decorations. Calling clearDecorations will restore the state back to where it was when lock was called. (Be sure that the container's cache also gets cleared.)
getDecoration then works as follows:
/**
Return the data vector for one aux data item.
| auxid | The identifier of the desired aux data item. |
Each aux data item is stored as a vector, with one entry per entry in the owning container. This returns a pointer to the start of the vector.
This should return nullptr if the item doesn't exist.
|
overridevirtual |
Return the data vector for one aux data 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). |
Each aux data item is stored as a vector, with one entry per entry in the owning container. This returns a pointer to the start of the vector.
If the data item does not exist, it should be created and initialized to default values. size and capacity give the size for the new aux data item vector.
| const_container_pointer_type SG::getDataArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the auxiliary data array.
| container | The container from which to fetch the variable. |
|
protectedvirtual |
Return the data vector for one aux data 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). |
| no_lock_check | If true, then skip the test for a locked container. |
Each aux data item is stored as a vector, with one entry per entry in the owning container. This returns a pointer to the start of the vector.
If the data item does not exist, it should be created and initialized to default values. size and capacity give the size for the new aux data item vector.
Definition at line 763 of file AuxStoreInternal.cxx.
| const DLink_t * SG::getDataLinkArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the linked array of DataLinks.
| container | The container from which to fetch the variable. |
| DLink_t * SG::getDataLinkDecorArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the linked array of DataLinks, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| container | The container from which to fetch the variable. |
| DataLink_span SG::getDataLinkDecorSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the array of DataLinks, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| const_DataLink_span SG::getDataLinkSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the array of DataLinks.
| container | The container from which to fetch the variable. |
| const_span SG::getDataSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the auxiliary data array.
Get a span over spans of ElementLinks.
Get a span of ElementLinks.
Get a span over spans representing the jagged vector.
| container | The container from which to fetch the variable. |
|
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). |
Each aux data item is stored as a vector, with one entry per entry in the owning container. This returns a pointer to the start of the vector.
If the data item does not exist, it then it will be created and initialized with default values. If the container is locked, then the new item will be marked as a decoration. size and capacity give the size for the new aux data item vector.
If the data item already exists, then we return it if either the container is not locked or the item is marked as a decoration. Otherwise we throw an exception.
| container_pointer_type SG::getDecorationArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the auxiliary data array.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| span SG::getDecorationSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the auxiliary data array.
Get a span over spans of ElementLink proxies, as a decoration.
Get a span of ElementLink proxies, as a decoration.
Get a span over spans representing the jagged vector, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| container | The container from which to fetch the variable. |
The proxies may be converted to or assigned from ElementLink.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| container | The container from which to fetch the variable. |
The individual proxies may be converted to or assigned from ElementLink. Each element may also be assigned from a range of ElementLink, or converted to a vector of ElementLink.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
|
override |
Return a set of identifiers for decorations for this object.
Return a set of identifiers for decorations in this store.
If this object has a private or standalone store, then information from that will be returned. Otherwise, if this element is part of a container, then information for the container will be returned. Otherwise, return an empty set.
| SG::auxid_t SG::getDynamicAuxID | ( | const std::type_info & | ti, |
| const std::string & | name, | ||
| const std::string & | elementTypeName, | ||
| const std::string & | branchTypeName, | ||
| bool | standalone, | ||
| SG::auxid_t | linked_auxid ) |
Find the auxid for a dynamic branch.
| ti | Type of the auxiliary variable. Usually the type of the vector payload, but if standalone is true, then this is the type of the stored object. |
| name | Auxiliary variable name. |
| elementTypeName | Name of the type for one aux data element. Should be the same as branchTypeName if standalone is true. |
| branchTypeName | Name of the type for this branch. |
| standalone | True if this is a standalone object. |
Definition at line 64 of file getDynamicAuxID.cxx.
|
overridevirtual |
Get the list of all variables that need to be handled.
| const Elt_t * SG::getEltArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the array of JaggedVecElt objects.
| container | The container from which to fetch the variable. |
| Elt_t * SG::getEltDecorArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the array of JaggedVecElt objects, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| Elt_span SG::getEltDecorSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the array of JaggedVecElt objects, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| const_Elt_span SG::getEltSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the array of JaggedVecElt objects.
| container | The container from which to fetch the variable. |
|
overridevirtual |
Return a pointer to the data to be stored for one aux data item.
| auxid | The identifier of the desired aux data item. |
This will usually be a pointer to a std::vector; however, it may be something different for a standalone object.
Returns 0 and reports an error if the requested aux data item does not exist.
|
protected |
Return a pointer to the data to be stored for one aux data item.
| auxid | The identifier of the desired aux data item. |
| quiet | If true, then don't print an error on failure. |
This will usually be a pointer to a std::vector; however, it may be something different for a standalone object.
Returns 0 and reports an error if the requested aux data item does not exist.
Definition at line 478 of file AuxStoreInternal.cxx.
|
overridevirtual |
Return the type of the data to be stored for one aux data item.
| auxid | The identifier of the desired aux data item. |
For an aux data item of type T, this will usually be std::vector<T>. For standalone objects, however, it will usually be T; and std::vector<char> will be used instead of std::vector<bool>.
Returns 0 if the requested aux data item does not exist.
| size_t SG::getNSlots | ( | ) |
Return the number of event slots.
Calls getNSlots_once the first time we're called and caches the result.
Definition at line 64 of file SlotSpecificObj.cxx.
| size_t SG::getNSlots_once | ( | ) |
Return the number of event slots.
This accesses the IHiveWhiteBoard service to find the number of slots.
Definition at line 46 of file SlotSpecificObj.cxx.
| const PLink_t * SG::getPackedLinkArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the array of PackedLinks.
| container | The container from which to fetch the variable. |
| PLink_t * SG::getPackedLinkDecorArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the array of PackedLinks, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| PackedLink_span SG::getPackedLinkDecorSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the array of PackedLinks, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
|
protected |
Get a span over the vector of PackedLinks for a given element, as a decoration.
| container | The container from which to fetch the variable. |
| index | The index of the desired element. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
|
protected |
Get a span over the vector of PackedLinks for a given element, as a decoration.
| e | The element for which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
|
protected |
| const_PackedLink_span SG::getPackedLinkSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the array of PackedLinks.
| container | The container from which to fetch the variable. |
|
protected |
|
protected |
Get a span over the vector of PackedLinks for a given element.
| e | The element for which to fetch the variable. |
|
protected |
Get a pointer to the start of the array of vectors of PackedLinks.
| container | The container from which to fetch the variable. |
|
protected |
Get a pointer to the start of the array of vectors of PackedLinks, as a decoration.
| container | The container from which to fetch the variable. |
|
protected |
Get a span over the vectors of PackedLinks, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
|
protected |
Get a span over the vectors of PackedLinks.
| container | The container from which to fetch the variable. |
| const Payload_t * SG::getPayloadArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the payload array.
| container | The container from which to fetch the variable. |
| Payload_t * SG::getPayloadDecorArray | ( | const AuxVectorData & | container | ) | const |
Get a pointer to the start of the payload array, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| Payload_span SG::getPayloadDecorSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the payload vector, as a decoration.
| container | The container from which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| const_Payload_span SG::getPayloadSpan | ( | const AuxVectorData & | container | ) | const |
Get a span over the payload vector.
| container | The container from which to fetch the variable. |
| SG::IAuxStore * SG::getStore | ( | ) | const |
Return the current store, as a non-const interface.
This will be non-zero if a non-const store is associated with this object. This will fetch either a private or standalone store.
| const SG::ThinningCache * SG::getThinningCache | ( | ) |
Retrieve the current thinning cache from the current event context.
Returns nullptr if there is no current thinning cache.
Definition at line 41 of file getThinningCache.cxx.
| const SG::ThinningCache * SG::getThinningCache | ( | const EventContext & | ctx | ) |
Retrieve the current thinning cache from the event context.
ctx Event context.
Returns nullptr if there is no current thinning cache.
Definition at line 28 of file getThinningCache.cxx.
| const SG::ThinningDecisionBase * SG::getThinningDecision | ( | const EventContext & | ctx, |
| const sgkey_t | sgkey ) |
Retrieve the current thinning decision for sgkey.
ctx Event context.
| sgkey | SG hashed key to test. |
Returns nullptr if there is no thinning for sgkey.
Definition at line 112 of file getThinningCache.cxx.
| const SG::ThinningDecisionBase * SG::getThinningDecision | ( | const EventContext & | ctx, |
| const std::string & | key ) |
Retrieve the current thinning decision for key.
ctx Event context.
| key | SG key to test. |
Returns nullptr if there is no thinning for key.
Definition at line 83 of file getThinningCache.cxx.
| const SG::ThinningDecisionBase * SG::getThinningDecision | ( | const sgkey_t | sgkey | ) |
Retrieve the current thinning decision for sgkey.
Returns nullptr if there is no thinning for sgkey.
| sgkey | SG hashed key to test. |
Returns nullptr if there is no thinning for sgkey.
Definition at line 128 of file getThinningCache.cxx.
| const SG::ThinningDecisionBase * SG::getThinningDecision | ( | const std::string & | key | ) |
Retrieve the current thinning decision for key.
| key | SG key to test. |
Returns nullptr if there is no thinning for key.
Definition at line 99 of file getThinningCache.cxx.
| const SG::ThinningInfo * SG::getThinningInfo | ( | const EventContext & | ctx, |
| const std::string & | key ) |
Retrieve the current thinning information for key.
ctx Event context.
| key | SG key to test. |
Returns nullptr if there is no thinning for key.
Definition at line 54 of file getThinningCache.cxx.
| const SG::ThinningInfo * SG::getThinningInfo | ( | const std::string & | key | ) |
Retrieve the current thinning information for key.
| key | SG key to test. |
Returns nullptr if there is no thinning for key.
Definition at line 70 of file getThinningCache.cxx.
|
overridevirtual |
Return vector interface for one aux data item.
| auxid | The identifier of the desired aux data item. |
This should return nullptr if the item doesn't exist.
|
privatevirtual |
Implementation of getVectorInternal; no locking.
Definition at line 712 of file AuxStoreInternal.cxx.
|
overridevirtual |
Return a set of identifiers for writable data items in this store.
This should include only non-const identifiers.
|
protected |
True if this element had private data before it was added to its current container.
| bool SG::hasNonConstStore | ( | ) | const |
Return true if this object has an associated non-const store.
This will be true for either a private or standalone store.
| bool SG::hasStore | ( | ) | const |
Return true if this object has an associated store.
This will be true for either a private or standalone store.
|
protected |
True if this element currently has private data.
| SG::IAuxElement | ( | ) |
Flag that a class may have auxiliary data associated with it.
This this class really exists only to flag that a class may have auxiliary data associated with it. SG::AuxElement derives from this, but one should use this class for tests rather than SG::AuxElement to avoid dependency issues.
This is an `interface' in the sense that it identifies a group of classes, but it defines no functionality itself. In fact, this class should not have a virtual table.
It turns out, however, that ROOT's branch splitting in TBranchElement can get confused in the case of an empty base class deriving from another base class. We can work around this by moving some of the data members from AuxElement here (even though they are transient). */ class IAuxElement { public: /**
Default constructor. For an element not in a container.
| SG::IAuxElement | ( | size_t | index | ) |
Constructor.
| index | The index of this element in its container. |
| size_t SG::index | ( | ) | const |
Return the index of this element within its container.
|
overridevirtual |
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.
| bool SG::isAvailable | ( | const AuxVectorData & | c | ) | const |
Test to see if this variable exists in the store.
| c | The container in which to test the variable. |
| bool SG::isAvailable | ( | const ELT & | e | ) | const |
Test to see if this variable exists in the store.
| e | An element of the container in which to test the variable. |
| XAOD_AUXDATA_DEPRECATED bool SG::isAvailable | ( | const std::string & | name, |
| const std::string & | clsname = "" ) const |
Check if an aux variable is available for reading.
| name | Name of the aux variable. |
| clsname | The name of the associated class. May be blank. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.
| bool SG::isAvailableWritable | ( | const AuxVectorData & | c | ) | const |
Test to see if this variable exists in the store and is writable.
| c | The container in which to test the variable. |
| bool SG::isAvailableWritable | ( | const ELT & | e | ) | const |
Test to see if this variable exists in the store and is writable.
| e | An element of the container in which to test the variable. |
| XAOD_AUXDATA_DEPRECATED bool SG::isAvailableWritable | ( | const std::string & | name, |
| const std::string & | clsname = "" ) |
Check if an aux variable is available for writing.
| name | Name of the aux variable. |
| clsname | The name of the associated class. May be blank. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.
| XAOD_AUXDATA_DEPRECATED bool SG::isAvailableWritableAsDecoration | ( | const std::string & | name, |
| const std::string & | clsname = "" ) const |
Check if an aux variable is available for writing as a decoration.
| name | Name of the aux variable. |
| clsname | The name of the associated class. May be blank. |
This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.
|
overridevirtual |
|
private |
Return a reference to the link for an element.
| p | The element. |
|
overridevirtual |
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 202 of file IConstAuxStore.h.
|
overridevirtual |
Lock the container.
After this, only decorations can be changed/modified. If the container is already locked, this is a no-op.
|
overridevirtual |
Lock a decoration.
| auxid | Identifier of the decoration to lock. |
A decoration is locked by changing from a decoration to an ordinary variable. If the container itself is locked, then modifications to the variable are not permitted after this call.
| void SG::lossyFloatCompress | ( | void * | dst, |
| const std::size_t | idst, | ||
| const std::size_t | n, | ||
| const std::size_t | eltSize, | ||
| const std::string & | typeName, | ||
| const unsigned int | nmantissa ) |
Helper method to apply lossy float compression.
| dst | Pointer to the start of the vector's data |
| dst_index | Index of first element in vector |
| n | Number of elements to process. |
| eltSize | Element size for the auxid |
| typeName | Type name for the auxid |
| nmantissa | Compression level to be used for the auxid |
| dst | Pointer to the start of the vector's data |
| idst | Index of first element in vector |
| n | Number of elements to process. |
| eltSize | Element size for the auxid |
| typeName | Type name for the auxid |
| nmantissa | Compression level to be used for the auxid |
Definition at line 213 of file copyAuxStoreThinned.cxx.
Make a StoreGate key from container and decoration name.
| cont | The container handle key. |
| decor | The decoration handle key. |
Given keys of the form "CCC" and "DDD", returns the full key, "CCC.DDD". If cont or decor is empty, returns the non-empty key (or an empty string).
Definition at line 59 of file DecorKeyHelpers.cxx.
| std::string SG::makeContDecorKey | ( | const VarHandleKey & | contKey, |
| const std::string & | key ) |
Make a StoreGate key from container and decoration.
| contKey | The VarHandleKey of the container holding the decoration. |
| key | The decoration name. |
Construct the StoreGate key from the associated container and the decoration name passed in key. If the latter also contains the container name, an exception will be raised. Returns an empty string if key is empty.
Definition at line 77 of file DecorKeyHelpers.cxx.
| void SG::makeHandle | ( | const ReadDecorHandleKey< T > & | key | ) |
These two signatures are to catch cases where the explicit template argument is omitted from the makeHandle call and give an error tailored to that.
Otherwise, the makeHandle call for ReadHandle would match, potentially giving a much more confusing error.
| ReadDecorHandle< T, D > SG::makeHandle | ( | const ReadDecorHandleKey< T > & | key | ) |
Return a ReadDecorHandle referencing key.
| key | The key object holding the clid/key/store. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
The type of the decoration must be included as an explicit template parameter:
Note that D comes first in the argument list. It's given explicitly, while T is inferred from key.
| void SG::makeHandle | ( | const ReadDecorHandleKey< T > & | key, |
| const EventContext & | ctx ) |
| ReadDecorHandle< T, D > SG::makeHandle | ( | const ReadDecorHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Return a ReadDecorHandle referencing key for an explicit context.
| key | The key object holding the clid/key/store. |
| ctx | The event context. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
If the default event store has been requested, then the thread-specific store from the event context will be used.
The type of the decoration must be included as an explicit template parameter:
Note that D comes first in the argument list. It's given explicitly, while T is inferred from key.
| ReadHandle< T > SG::makeHandle | ( | const ReadHandleKey< T > & | key | ) |
Return a ReadHandle referencing key.
| key | The key object holding the clid/key/store. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
| ReadHandle< T > SG::makeHandle | ( | const ReadHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Return a ReadHandle referencing key for an explicit context.
| key | The key object holding the clid/key/store. |
| ctx | The event context. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
If the default event store has been requested, then the thread-specific store from the event context will be used.
| SG::ReadCondHandle< T > SG::makeHandle | ( | const SG::ReadCondHandleKey< T > & | key, |
| const EventContext & | ctx = Gaudi::Hive::currentContext() ) |
Definition at line 269 of file ReadCondHandle.h.
| SG::WriteCondHandle< T > SG::makeHandle | ( | const SG::WriteCondHandleKey< T > & | key, |
| const EventContext & | ctx = Gaudi::Hive::currentContext() ) |
Definition at line 317 of file WriteCondHandle.h.
| ThinningHandle< T > SG::makeHandle | ( | const ThinningHandleKey< T > & | key | ) |
Return a ThinningHandle referencing key.
| key | The key object holding the clid/key/store. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
Definition at line 135 of file ThinningHandle.h.
| ThinningHandle< T > SG::makeHandle | ( | const ThinningHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Return a ThinningHandle referencing key for an explicit context.
| key | The key object holding the clid/key/store. |
| ctx | The event context. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
If the default event store has been requested, then the thread-specific store from the event context will be used.
Definition at line 153 of file ThinningHandle.h.
| UpdateHandle< T > SG::makeHandle | ( | const UpdateHandleKey< T > & | key | ) |
Return an UpdateHandle referencing key.
| key | The key object holding the clid/key/store. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
| UpdateHandle< T > SG::makeHandle | ( | const UpdateHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Return an UpdateHandle referencing key for an explicit context.
| key | The key object holding the clid/key/store. |
| ctx | The event context. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
If the default event store has been requested, then the thread-specific store from the event context will be used.
| void SG::makeHandle | ( | const WriteDecorHandleKey< T > & | key | ) |
These two signatures are to catch cases where the explicit template argument is omitted from the makeHandle call and give an error tailored to that.
Otherwise, the makeHandle call for ReadHandle would match, potentially giving a much more confusing error.
| WriteDecorHandle< T, D > SG::makeHandle | ( | const WriteDecorHandleKey< T > & | key | ) |
Return a WriteDecorHandle referencing key.
| key | The key object holding the clid/key/store. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
The type of the decoration must be included as an explicit template parameter:
Note that D comes first in the argument list. It's given explicitly, while T is inferred from key.
| void SG::makeHandle | ( | const WriteDecorHandleKey< T > & | key, |
| const EventContext & | ctx ) |
| WriteDecorHandle< T, D > SG::makeHandle | ( | const WriteDecorHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Return a WriteDecorHandle referencing key for an explicit context.
| key | The key object holding the clid/key/store. |
| ctx | The event context. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
If the default event store has been requested, then the thread-specific store from the event context will be used.
The type of the decoration must be included as an explicit template parameter:
Note that D comes first in the argument list. It's given explicitly, while T is inferred from key.
| WriteHandle< T > SG::makeHandle | ( | const WriteHandleKey< T > & | key | ) |
Return a WriteHandle referencing key.
| key | The key object holding the clid/key/store. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
| WriteHandle< T > SG::makeHandle | ( | const WriteHandleKey< T > & | key, |
| const EventContext & | ctx ) |
Return a WriteHandle referencing key for an explicit context.
| key | The key object holding the clid/key/store. |
| ctx | The event context. |
This will raise an exception if the StoreGate key is blank, or if the event store cannot be found.
If the default event store has been requested, then the thread-specific store from the event context will be used.
| void SG::AuxElement::makePrivateStore | ( | ) |
Create a new (empty) private store for this object.
ExcBadPrivateStore will be thrown if this object is already associated with a store.
Definition at line 192 of file AuxElement.cxx.
| void SG::makePrivateStore | ( | const U1 & | other, |
| bool | warnUnlocked = false ) |
Create a new private store for this object and copy aux data.
| other | The object from which aux data should be copied. |
| warnUnlocked | If true, then warn when we skip unlocked decorations. |
ExcBadPrivateStore will be thrown if this object is already associated with a store.
If other is an object that has aux data, then those data will be copied; otherwise, nothing will be done.
| void SG::makePrivateStore | ( | const U1 * | other, |
| bool | warnUnlocked = false ) |
Create a new private store for this object and copy aux data.
| other | The object from which aux data should be copied. |
| warnUnlocked | If true, then warn when we skip unlocked decorations. |
ExcBadPrivateStore will be thrown if this object is already associated with a store.
If other is an object that has aux data, then those data will be copied; otherwise, nothing will be done.
|
private |
Create a new private store for this object and copy aux data.
| other | The object from which aux data should be copied. |
| warnUnlocked | If true, then warn when we skip unlocked decorations. |
ExcBadPrivateStore will be thrown if this object is already associated with a store.
This overload handles the case where other does have aux data.
Definition at line 552 of file AuxElement.cxx.
|
private |
Create a new private store for this object and copy aux data.
| other | The object from which aux data should be copied. |
| warnUnlocked | If true, then warn when we skip unlocked decorations. |
ExcBadPrivateStore will be thrown if this object is already associated with a store.
This overload handles the case where other does not have aux data.
| void SG::maybeUnprotect | ( | ALLOC & | ) |
Hook for unprotecting an arena.
Sometimes we need to ensure that an arena is unprotected before we start destroying an object that contains the arena. To do that without making assumptions about whether the arena supports an unprotect operation, call this function.
This is the generic version, which is a no-op. It will be specialized as appropriate for individual allocators.
Definition at line 32 of file maybeUnprotect.h.
| void SG::maybeUnprotect | ( | ArenaHeapSTLAllocator< T, VETO > & | a | ) |
Hook for unprotecting an arena.
Sometimes we need to ensure that an arena is unprotected before we start destroying an object that contains the arena. To do that without making assumptions about whether the arena supports an unprotect operation, call this function.
| void SG::maybeUnprotect | ( | ArenaPoolSTLAllocator< T, VETO > & | a | ) |
Hook for unprotecting an arena.
Sometimes we need to ensure that an arena is unprotected before we start destroying an object that contains the arena. To do that without making assumptions about whether the arena supports an unprotect operation, call this function.
| void SG::maybeUnprotect | ( | ArenaSharedHeapSTLAllocator< T > & | a | ) |
Hook for unprotecting an arena.
Sometimes we need to ensure that an arena is unprotected before we start destroying an object that contains the arena. To do that without making assumptions about whether the arena supports an unprotect operation, call this function.
| void copyAuxStoreThinned SG::NO_SANITIZE_UNDEFINED | ( | const SG::IConstAuxStore & | orig, |
| SG::IAuxStore & | copy, | ||
| const SG::ThinningInfo * | info ) |
Helper to copy an aux store while applying thinning.
| orig | Source aux store from which to copy. |
| copy | Destination aux store to which to copy. |
| info | Thinning information for this object (or nullptr). |
orig and copy are both auxiliary store objects. The data from orig will be copied to copy, with individual elements / variables removed according info.
Definition at line 60 of file copyAuxStoreThinned.cxx.
|
protected |
True if this element has no private data.
| std::string SG::normalizedTypeinfoName | ( | const std::type_info & | info | ) |
Convert a type_info to a normalized string representation (matching the names used in the root dictionary).
| info | The type to convert. |
The function AthContainer_detail::typeinfoName may be used to convert a C++ type_info to a string representing the name of the class; this handles platform-dependent details such as performing demangling.
However, the name you get as a result of this does not necessarily match the name by which the class is known in the ROOT dictionary. In particular, defaulted template arguments for STL containers and DataVector are suppressed in the dictionary. So, for example, for a vector class typeinfoName may produce std::vector<int, std::allocator<T> >, while in the dictionary it is known as std::vector<int>. Using normalizedTypeinfoName instead will transform the names to match what's in the dictionary. This function will also cache the typeinfo -> string conversions.
Definition at line 120 of file normalizedTypeinfoName.cxx.
|
constexpr |
Helper to test if T::noToTransient exists as a typedef.
Definition at line 84 of file ToTransient.h.
|
constexpr |
Definition at line 76 of file ToTransient.h.
|
constexpr |
Definition at line 73 of file ToTransient.h.
| void SG::null_arena_deleter | ( | ArenaBase * | ) |
Definition at line 28 of file ArenaHeader.cxx.
| bool SG::operator!= | ( | const VarHandleBase & | l, |
| const VarHandleBase & | r ) |
Inequality comparison.
Definition at line 129 of file AthToolSupport/AsgDataHandles/Root/VarHandleBase.cxx.
| elt_span SG::operator() | ( | const AuxVectorData & | container, |
| size_t | index ) const |
Fetch the variable for one element, as a non-const reference.
Fetch the variable for one element.
| container | The container from which to fetch the variable. |
| index | The index of the desired element. |
This allows retrieving aux data by container / index. Looping over the index via this method will be faster then looping over the elements of the container.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| container | The container from which to fetch the variable. |
| index | The index of the desired element. |
This allows retrieving aux data by container / index.
Will return a proxy object, which will allow treating this jagged vector element as a vector.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| container | The container from which to fetch the variable. |
| index | The index of the desired element. |
This allows retrieving aux data by container / index.
Will return an ElementLink proxy, which may be converted to or assigned from an ElementLink.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| container | The container from which to fetch the variable. |
| index | The index of the desired element. |
This allows retrieving aux data by container / index.
This will return a range of ElementLink proxies. These proxies may be converted to or assigned from ElementLink.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| reference_type SG::operator() | ( | const ELT & | e | ) | const |
Fetch the variable for one element, as a non-const reference.
| e | The element for which to fetch the variable. |
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| e | The element for which to fetch the variable. |
Will return a proxy object, which will allow treating this jagged vector element as a vector.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
Fetch the variable for one element.
| e | The element for which to fetch the variable. |
This will return a range of ElementLink proxies. These proxies may be converted to or assigned from ElementLink.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| ELProxy SG::operator() | ( | const ELT & | e | ) | const |
Fetch the variable for one element.
| e | The element for which to fetch the variable. |
Will return an ElementLink proxy, which may be converted to or assigned from an ElementLink.
If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.
| std::ostream & SG::operator<< | ( | std::ostream & | os, |
| const ArenaAllocatorBase::Stats & | stats ) |
Format a complete statistics structure.
| os | The stream to which to write. |
| stats | The statistics structure to write. |
Definition at line 104 of file ArenaAllocatorBase.cxx.
| std::ostream & SG::operator<< | ( | std::ostream & | os, |
| const ArenaAllocatorBase::Stats::Stat & | stat ) |
Format a statistic structure.
| os | The stream to which to write. |
| stat | The statistic structure to write. |
Definition at line 61 of file ArenaAllocatorBase.cxx.
|
inline |
Definition at line 116 of file SGVersionedKey.h.
| std::ostream & SG::operator<< | ( | std::ostream & | out, |
| const VarHandleBase & | o ) |
Return the name of the store holding the object we are proxying.
Output stream.
Output stream.
| out | Stream to which to write. |
| o | Object to write. |
| out | Stream to which to write. |
| o | Object to write. |
Definition at line 107 of file AthToolSupport/AsgDataHandles/Root/VarHandleBase.cxx.
| ArenaHeapAllocator & SG::operator= | ( | ArenaHeapAllocator && | other | ) |
Move assignment.
|
delete |
| AuxElement & SG::operator= | ( | const AuxElement & | other | ) |
Assignment.
| other | The object from which we're assigning. |
We don't copy container/index, as assignment doesn't change where this object is. However, if we have aux data, then we copy aux data if we're copying from an object that also has it; otherwise, if we're copying from an object with no aux data, then we clear ours.
|
delete |
Don't allow assignment.
| bool SG::operator== | ( | const VarHandleBase & | l, |
| const VarHandleBase & | r ) |
Equality comparison.
Definition at line 119 of file AthToolSupport/AsgDataHandles/Root/VarHandleBase.cxx.
| void SG::ReadCondHandleNotFound | ( | const CondContBase & | cc, |
| const EventIDBase & | eid, | ||
| const std::string & | key ) |
Report a conditions container lookup failure.
| cc | The conditions container. |
| eid | The time for which to search. |
| The | key corresponding to the conditions container. |
Definition at line 23 of file ReadCondHandle.cxx.
|
inline |
Read a set of packed parameters from a buffer.
| b | Buffer from which to write. |
Definition at line 47 of file PackedContainerStreamer.cxx.
|
private |
Add more free elements to the pool, and allocate a new element.
| void SG::AuxElement::releasePrivateStore | ( | ) |
Release and free any private store associated with this object.
ExcBadPrivateStore will be thrown if this object does not have a private store.
Definition at line 210 of file AuxElement.cxx.
|
private |
Out-of-line portion of destructor.
Delete a private store if we have one.
| void SG::removeContFromDecorKey | ( | const VarHandleKey & | contKey, |
| std::string & | key ) |
Remove container name from decoration key.
| contKey | The VarHandleKey of the container holding the decoration. |
| key | The decoration name to be modified. |
Given a key of the form SG+CCC.DDD, removes SG+CCC.
Definition at line 99 of file DecorKeyHelpers.cxx.
|
overridevirtual |
Change the capacity of all aux data vectors.
| sz | The new capacity. |
This should be called when the capacity of the container changes (by reserve). This should change the capacity for the vectors for all aux data items.
|
overridevirtual |
Free all allocated elements.
All elements allocated are returned to the free state. clear should be called on them if it was provided. The elements may continue to be cached internally, without returning to the system.
|
overridevirtual |
Change the size of all aux data vectors.
| sz | The new size. |
This should be called when the size of the container changes. This should resize the vectors for all aux data items.
If the size of the container grows, the new elements should be default-initialized; if it shrinks, destructors should be run as appropriate.
Should return true if it is known that none of the data pointers changed (and thus the cache does not need to be cleared), false otherwise.
|
constexpr |
Return the class ID of T, or CLID_NULL if it doesn't have one.
Avoids compilation errors if the class ID is not defined.
| void SG::set | ( | const AuxVectorData & | container, |
| size_t | index, | ||
| const Link_t & | x ) const |
Set the variable for one element.
| container | The container for which to set the variable. |
| index | The index of the desired element. |
| l | The ElementLink to set. |
|
protected |
Set the variable for one element.
| container | The container for which to set the variable. |
| index | The index of the desired element. |
| r | The variable value to set, as a range over ElementLink. |
| void SG::set | ( | const AuxVectorData & | container, |
| size_t | index, | ||
| const RANGE & | x ) const |
| void SG::set | ( | const ELT & | e, |
| const element_type & | x ) const |
Set the variable for one element.
| e | The element for which to fetch the variable. |
| x | The variable value to set. |
| e | The element for which to set the variable. |
| l | The ElementLink to set. |
| void SG::set | ( | const ELT & | e, |
| const RANGE & | x ) const |
|
protected |
Set the variable for one element.
| e | The element for which to set the variable. |
| r | The variable value to set, as a range over ElementLink. |
| void SG::setConstStore | ( | const SG::IConstAuxStore * | store | ) |
Synonym for setStore with IConstAuxStore.
| store | The new store. |
|
private |
Record that this element used to have private data.
|
private |
Record that this element currently has private data.
|
private |
Set the index of this element within its container.
|
private |
Set the index/container for this element.
| index | The index of this object within the container. |
| container | The container holding this object. May be null if this object is being removed from a container. |
Usually this simply sets the index and container members of this object. However, in the case where this object has an associated private store, then we need to deal with releasing the store if the object is being added to a container, or making a new store if the object is being removed from a container.
|
private |
| void SG::setNonConstStore | ( | SG::IAuxStore * | store | ) |
Synonym for setStore with IAuxStore.
| store | The new store. |
|
private |
Record that this element does not have private data.
|
overridevirtual |
Set an option for an auxiliary data variable.
| id | The variable for which we want to set the option. |
| option | The option setting to make. |
The interpretation of option depends on the associated auxiliary store. See PackedParameters.h for option settings for writing packed data. Returns true on success, false otherwise.
Set the store associated with this object.
| store | The new store. |
If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.
| void SG::setStore | ( | const SG::IConstAuxStore * | store | ) |
Set the store associated with this object.
| store | The new store. |
If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.
| void SG::setStore | ( | SG::IAuxStore * | store | ) |
Set the store associated with this object.
| store | The new store. |
If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.
|
private |
Set the store associated with this object.
| store | The new store. |
Helper for setStore. Creates the AuxElementStandaloneData object if needed and returns it.
| store | The new store. |
Helper for setStore. Creates the @x AuxElementStandaloneData object if needed and returns it.
Definition at line 448 of file AuxElement.cxx.
Compare two sgkeys for equality.
|
overridevirtual |
Shift the elements of the container.
| pos | The starting index for the shift. |
| offs | The (signed) amount of the shift. |
This operation shifts the elements in the vectors for all aux data items, to implement an insertion or deletion. offs may be either positive or negative.
If offs is positive, then the container is growing. The container size should be increased by offs, the element at pos moved to pos + offs, and similarly for following elements. The elements between pos and pos + offs should be default-initialized.
If offs is negative, then the container is shrinking. The element at pos should be moved to pos + offs, and similarly for following elements. The container should then be shrunk by -offs elements (running destructors as appropriate).
|
inline |
simple hash function derived from Sedgewick Algorithms in C++ 3rd ed
| str | the string to be hashed |
| maxInt | the maximum value the function returns. Hash collision probability is 1/min(maxInt, 2**127) |
Definition at line 16 of file hash_functions.h.
|
overridevirtual |
Return the number of elements in the store.
May return 0 for a store with no aux data.
|
private |
Return the number of elements in the store; no locking.
|
private |
Call clear() for all allocated elements.
Definition at line 174 of file ArenaHeapAllocator.cxx.
| bool SG::AuxStoreInternal::standalone | ( | ) | const |
Return the standalone flag.
Definition at line 70 of file AuxStoreInternal.cxx.
| T * SG::Storable_cast | ( | DataObject * | pDObj, |
| bool | quiet = true, | ||
| IRegisterTransient * | irt = 0, | ||
| bool | isConst = true ) |
Definition at line 37 of file StorableConversions.h.
| void * SG::Storable_cast | ( | DataObject * | pDObj, |
| CLID | clid, | ||
| const std::type_info * | tinfo = nullptr, | ||
| bool | quiet = false, | ||
| IRegisterTransient * | irt = 0, | ||
| bool | isConst = true ) |
Try to get the pointer back from a DataObject, converted to be of type clid.
| pDObj | The DataObject. |
| clid | The ID of the class to which to convert. |
| tinfo | type_info for the object being converted (optional). |
| quiet | If true, suppress warning messages. |
| irt | To be called if we make a new instance. |
| isConst | True if the object being converted is regarded as const. |
Only works if the DataObject is a DataBucket. Returns 0 on failure,
Definition at line 88 of file StorableConversions.cxx.
| void SG::swap | ( | ArenaHeapAllocator & | other | ) |
Swap.
| void SG::swap | ( | ArenaSharedHeapSTLAllocator< T > & | a, |
| ArenaSharedHeapSTLAllocator< T > & | b ) |
Definition at line 483 of file ArenaSharedHeapSTLAllocator.h.
| void SG::throwExcAllocOwnership | ( | ) |
Throw a SG::ExcAllocOwnership exception.
Definition at line 636 of file Control/AthContainers/Root/exceptions.cxx.
Throw an ExcBadDataProxyCast exception.
| proxy | The proxy from which we're trying to cast. |
| tid | Type to which we're trying to convert the object. |
Definition at line 57 of file Control/SGTools/src/exceptions.cxx.
| void SG::throwExcBadDecorElement | ( | Gaudi::DataHandle::Mode | mode, |
| CLID | clid, | ||
| const std::string & | decorKey ) |
Throw a SG::ExcBadDecorElement exception.
Definition at line 488 of file Control/StoreGate/src/exceptions.cxx.
| void SG::throwExcBadForwardLink | ( | size_t | index, |
| size_t | size, | ||
| const std::string & | name ) |
Throw a SG::ExcBadForwardLink exception.
| index | Index in the link. |
| size | Size of the referenced container. |
| name | Type name of the container. |
Definition at line 155 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcBadThinning | ( | CLID | clid, |
| const std::string & | key, | ||
| SG::sgkey_t | sgkey ) |
Throw a SG::ExcBadThinning exception.
| clid | CLID of the link. |
| key | String key of the link. |
| sgkey | Hashed key of the link. |
Definition at line 344 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcBadToTransient | ( | ) |
Throw a SG::ExcBadToTransient exception.
Definition at line 272 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcElementNotFound | ( | const char * | where | ) |
Throw a SG::ExcElementNotFound exception.
| where | The operation being attempted. |
Definition at line 180 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcIncomparableEL | ( | ) |
Throw a SG::IncomparableEL exception.
Throw a SG::ExcIncomparableSG exception.
Definition at line 250 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcIndexNotFound | ( | const char * | where | ) |
Throw a SG::ExcIndexNotFound exception.
| where | The operation being attempted. |
Definition at line 228 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcInvalidIndex | ( | const char * | where | ) |
Throw a SG::ExcInvalidIndex exception.
| where | The operation being attempted. |
Definition at line 204 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcInvalidLink | ( | CLID | clid, |
| const std::string & | key, | ||
| SG::sgkey_t | sgkey ) |
Throw a SG::ExcInvalidLink exception.
| clid | CLID of the link. |
| key | String key of the link. |
| sgkey | Hashed key of the link. |
Definition at line 111 of file Control/AthLinks/src/exceptions.cxx.
| void SG::throwExcMissingBaseInfo | ( | const std::type_info & | ti | ) |
Throw a SG::ExcMissingBaseInfo exception.
| ti | type_info for the class with the missing base info. |
Definition at line 447 of file Control/AthContainers/Root/exceptions.cxx.
| void SG::throwExcMissingViewVectorCLID | ( | const std::type_info & | ti | ) |
Throw a SG::ExcMissingViewVectorCLID exception.
Throw a SG::ExcViewVectorCLID exception.
| ti | type_info for the class with the missing CLID. |
Definition at line 425 of file Control/AthContainers/Root/exceptions.cxx.
| void SG::throwExcNonConstHandleKey | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Throw a SG::ExcNonConstHandleKey exception.
| clid | CLID from the key. |
| sgkey | StoreGate key from the key. |
| storename | Store name from the key. |
Definition at line 337 of file Control/StoreGate/src/exceptions.cxx.
| void SG::throwExcNonowningContainer | ( | ) |
Throw a SG::ExcNonowningContainer exception.
Definition at line 307 of file Control/AthContainers/Root/exceptions.cxx.
| void SG::throwExcNullHandleKey | ( | ) |
Throw a SG::ExcNullHandleKey exception.
Definition at line 32 of file Control/StoreGate/src/exceptions.cxx.
| void SG::throwExcNullReadHandle | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Throw a SG::ExcNullReadHandle exception.
| clid | CLID from the key. |
| sgkey | StoreGate key from the key. |
| storename | Store name from the key. |
Definition at line 247 of file Control/StoreGate/src/exceptions.cxx.
| void SG::throwExcNullUpdateHandle | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Throw a SG::ExcNullUpdateHandle exception.
| clid | CLID from the key. |
| sgkey | StoreGate key from the key. |
| storename | Store name from the key. |
Definition at line 292 of file Control/StoreGate/src/exceptions.cxx.
| void SG::throwExcNullWriteHandle | ( | CLID | clid, |
| const std::string & | sgkey, | ||
| const std::string & | storename ) |
Throw a SG::ExcNullWriteHandle exception.
| clid | CLID from the key. |
| sgkey | StoreGate key from the key. |
| storename | Store name from the key. |
Definition at line 202 of file Control/StoreGate/src/exceptions.cxx.
| void SG::throwExcUnknownAuxItem | ( | const std::string & | name, |
| const std::string & | clsname = "", | ||
| const std::type_info * | typ = 0 ) |
Throw a SG::ExcUnknownAuxItem exception.
| name | Name of the aux data item. |
| clsname | Class name of the aux data item, or an empty string. |
| typ | Type of the item, if provided. |
Definition at line 353 of file Control/AthContainers/Root/exceptions.cxx.
| void SG::throwExcViewVectorNotView | ( | ) |
Throw a SG::ExcViewVectorNotView exception.
Definition at line 400 of file Control/AthContainers/Root/exceptions.cxx.
| void SG::throwJaggedVecOverlappingCopy | ( | ) |
Throw a SG::ExcJaggedVecOverlappingCopy exception.
Definition at line 690 of file Control/AthContainers/Root/exceptions.cxx.
|
overridevirtual |
Perform post-read processing on this store.
| ctx | The current event context. |
Some object types require some processing after being read before they are usable. This can be indicated by specializing SG::ToTransient for the vector type containing the variable. This method will call such a ToTransient method for all contained variables for which this is required.
| void SG::toTransient | ( | const EventContext & | ctx, |
| SG::auxid_t | auxid ) |
Perform post-read processing for a single variable.
| ctx | The current event context. |
| auxid | The ID of the variable to process. |
Some object types require some processing after being read before they are usable. This can be indicated by specializing SG::ToTransient for the vector type containing the variable. This method will call such a ToTransient method for the single variable identified by AUXID.
| bool SG::trackIndices | ( | ) | const |
Return true if index tracking is enabled for this object.
Always returns true. Included here to be consistent with AuxVectorBase when standalone objects may be used as template parameters.
| bool SG::AuxElement::usingPrivateStore | ( | ) | const |
Test to see if this object is currently using a private store.
Definition at line 280 of file AuxElement.cxx.
| bool SG::AuxElement::usingStandaloneStore | ( | ) | const |
Test to see if this object is currently using a standalone store.
Test to see if this object is currently using a private store.
Definition at line 290 of file AuxElement.cxx.
| void SG::ViewVectorBaseStreamerFunc | ( | TBuffer & | b, |
| void * | p ) |
Definition at line 27 of file ViewVectorBaseStreamer.cxx.
|
inline |
Write a set of packed parameters to a buffer.
| b | Buffer to which to write. |
| param | Parameters to write. |
Definition at line 31 of file PackedContainerStreamer.cxx.
|
constexpr |
Test for an xAOD interface class supporting thinning.
Returns true if T derives from either AuxVectorBase or AuxElement and T::supportsThinning is true.
Definition at line 42 of file supportsThinning.h.
|
constexpr |
Definition at line 68 of file supportsThinning.h.
|
virtual |
Destructor.
This will free all the Allocator's storage.
Definition at line 40 of file ArenaHeapAllocator.cxx.
| SG::~AuxElement | ( | ) |
Destructor.
Any private store is deleted.
|
virtual |
Destructor.
All contained data will be deleted.
Definition at line 43 of file AuxStoreInternal.cxx.
|
static |
The offset from the start of the block to the first element.
Definition at line 254 of file ArenaBlock.h.
|
constexpr |
Definition at line 29 of file AuxDataTraits.h.
A hint for how large we should make the auxid bitsets.
It's best if we don't need to reallocate them later; but on the other hand, we don't want this to be larger than it really needs to be. The largest auxid i saw in a reco job was about 1800, so this is probably good for now.
Definition at line 40 of file AuxTypes.h.
| const std::string SG::DEFAULTKEY = "" |
Definition at line 12 of file DefaultKey.h.
|
staticconstexpr |
Definition at line 45 of file StoreGate/StoreGate/VarHandleBase.h.
|
extern |
|
inlineconstexpr |
Test for an xAOD auxiliary store class supporting thinning.
Returns true if T derives from IAuxStore and T::supportsThinning is true. (The enable_if's are to avoid getting undefined symbol errors when T is not an xAOD object.)
Definition at line 64 of file supportsThinning.h.
|
private |
The cached auxid.
Definition at line 253 of file Decorator.h.
|
private |
Set of auxid's for which we've created a vector.
Definition at line 491 of file AuxStoreInternal.h.
|
thread_localstaticprivate |
The current event store.
Definition at line 70 of file SGTools/SGTools/CurrentEventStore.h.
|
private |
Record which variables are decorations.
Definition at line 488 of file AuxStoreInternal.h.
|
private |
Pointer to the next free element.
Definition at line 213 of file ArenaHeapAllocator.h.
|
private |
The index of this element within its container. Should be 0 if this object is not within a container.
Definition at line 128 of file IAuxElement.h.
|
private |
Has this container been locked?
Definition at line 494 of file AuxStoreInternal.h.
|
mutableprivate |
Definition at line 499 of file AuxStoreInternal.h.
|
private |
Definition at line 137 of file IAuxElement.h.
|
private |
Are we being written in standalone mode?
Definition at line 481 of file AuxStoreInternal.h.
|
private |
The collection of vectors of aux data that we're managing, indexed by auxid.
Definition at line 485 of file AuxStoreInternal.h.
To signal no aux data item.
Definition at line 30 of file AuxTypes.h.
|
staticconstexpr |
Definition at line 24 of file sgkey_utilities.h.
|
staticconstexpr |
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 960 of file AuxElement.h.
| InstallViewVectorBaseStreamer SG::viewVectorBaseStreamerInstance |
Definition at line 53 of file ViewVectorBaseStreamer.cxx.