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