5#ifndef XAODTRIGGER_VERSIONS_BYTESTREAMAUXCONTAINER_V1_H
6#define XAODTRIGGER_VERSIONS_BYTESTREAMAUXCONTAINER_V1_H
81 virtual void lock()
override;
90 virtual size_t size()
const override;
99 size_t capacity )
override;
109 virtual void shift(
size_t pos, ptrdiff_t offs )
override;
124 const char*
name()
const;
131 template <
class T,
class ALLOC = std::allocator<T> >
135 template<
typename T >
141 template<
typename T >
143 std::vector< T >&
vec );
151 template<
typename T >
153 std::map< std::string, std::vector< T > >& pers,
154 size_t size,
size_t capacity,
bool quiet,
155 bool forDecor)
const;
158 size_t size,
size_t capacity,
bool quiet,
159 bool forDecor )
const;
171 mutable std::map< std::string, std::vector< std::vector< float > > > m_vecFloat
ATLAS_THREAD_SAFE;
191 typedef AthContainers_detail::lock_guard<mutex_t>
guard_t;
std::vector< size_t > vec
#define SG_BASE(D, B)
Declare that class D derives from class B.
Interface for non-const operations on an auxiliary store.
Define macros for attributes used to control the static checker.
Interface to allow an object to lock itself when made const in SG.
Interface for non-const operations on an auxiliary store.
Abstract interface for manipulating vectors of arbitrary types.
A set of aux data identifiers.
Base class for dynamic auxiliary stores saved into ByteStream.
SG::auxid_set_t m_decorations
Record which variables are decorations.
SG::auxid_set_t auxid_set_t
The aux ID set type definition from IConstAuxStore.
virtual const SG::IAuxTypeVector * getVector(auxid_t auxid) const override final
Return vector interface for one aux data item.
virtual size_t size() const override
Get the size of the container.
size_t size_noLock() const
Internal method: return size without taking out the lock.
virtual const auxid_set_t & getDecorIDs() const override
Get the types(names) of decorations handled by this container.
virtual const auxid_set_t & getAuxIDs() const override
Get the types(names) of variables handled by this container.
void setName(const char *name)
Set the name of the container instance.
virtual void * getDecoration(auxid_t auxid, size_t size, size_t capacity) override
Get a pointer to a given array, as a decoration.
const char * name() const
Get the name of the container instance.
virtual bool insertMove(size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore) override
Insert contents of another store via move.
ByteStreamAuxContainer_v1 & operator=(const ByteStreamAuxContainer_v1 &rhs)
Assignment operator.
virtual bool resize(size_t size) override
Resize the arrays to a given size.
std::vector< SG::IAuxTypeVector * > m_staticVecs
Internal list of static managed variables.
void regAuxVar(auxid_t auxid, const std::string &name, std::vector< T > &vec)
Register one of the user defined persistent variables internally.
SG::IAuxTypeVector * getVector1(auxid_t auxid, std::map< std::string, std::vector< T > > &pers, size_t size, size_t capacity, bool quiet, bool forDecor) const
Function retrieving a simple dynamic variable.
bool m_locked
Has the container been locked?
ByteStreamAuxContainer_v1()
Default constructor.
virtual const auxid_set_t & getWritableAuxIDs() const override
Return a set of writable data identifiers.
virtual bool clearDecorations() override
Clear all decorations.
virtual bool isDecoration(auxid_t auxid) const override
Test if a variable is a decoration.
virtual void lock() override
Lock the container.
std::string m_name
Name of the container in memory. Set externally.
std::map< std::string, std::vector< int > > m_int ATLAS_THREAD_SAFE
Variable holding integer auxiliary variables.
void reset()
Function resetting the internal (cached) state of the object.
AthContainers_detail::mutex mutex_t
Mutex for multithread synchronization.
std::vector< T, ALLOC > AuxVariable_t
Declare how to wrap variables for this sort of base.
virtual ~ByteStreamAuxContainer_v1()
Destructor.
virtual void reserve(size_t size) override
Reserve a given size for the arrays.
SG::auxid_t auxid_t
The aux ID type definition from IConstAuxStore.
virtual void shift(size_t pos, ptrdiff_t offs) override
Shift the contents of the stored arrays.
auxid_t getAuxID(const std::string &name, std::vector< T > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None)
Get the auxiliary ID for one of the persistent variables.
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
AthContainers_detail::lock_guard< mutex_t > guard_t
virtual void lockDecoration(SG::auxid_t auxid) override
Lock a decoration.
AuxVarFlags
Additional flags to qualify an auxiliary variable.
@ None
No special flags set.
size_t auxid_t
Identifier for a particular aux data item.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.