|
ATLAS Offline Software
|
Auxiliary container for calorimeter cluster containers.
More...
#include <CaloClusterTrigAuxContainer_v1.h>
|
| CaloClusterTrigAuxContainer_v1 () |
| Default constructor. More...
|
|
| ~CaloClusterTrigAuxContainer_v1 () |
| Destructor. More...
|
|
virtual const void * | getData (SG::auxid_t auxid) const=0 |
| Pick up the const version from the base class. More...
|
|
virtual const IAuxTypeVector * | linkedVector (SG::auxid_t) const |
| Return interface for a linked variable. More...
|
|
virtual bool | insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore=SG::auxid_set_t())=0 |
| Move all elements from other to this store. More...
|
|
template<typename T , typename ALLOC > |
auxid_t | getAuxID (const std::string &name, std::vector< T, ALLOC > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid) |
| Get the auxiliary ID for one of the persistent variables. More...
|
|
template<typename T > |
auxid_t | getAuxID (const std::string &name, SG::PackedContainer< T > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid) |
| Get the auxiliary ID for one of the persistent variables. More...
|
|
template<typename T , typename ALLOC > |
void | regAuxVar (auxid_t auxid, const std::string &name, std::vector< T, ALLOC > &vec) |
| Register one of the persistent variables internally. More...
|
|
template<typename T > |
void | regAuxVar (auxid_t auxid, const std::string &name, SG::PackedContainer< T > &vec) |
| Register one of the persistent variables internally. More...
|
|
|
typedef AthContainers_detail::mutex | mutex_t |
| Mutex for multithread synchronization. More...
|
|
typedef AthContainers_detail::lock_guard< mutex_t > | guard_t |
|
Auxiliary container for calorimeter cluster containers.
This is a fixed implementation of the calorimeter cluster auxiliary store. Defining every possible property that calorimeter clusters can have.
- Author
- Attila Krasznahorkay Attil.nosp@m.a.Kr.nosp@m.aszna.nosp@m.hork.nosp@m.ay@ce.nosp@m.rn.c.nosp@m.h
$Revsision$
- Date
- 2014-11-13 10:24:54 +0100 (Thu, 13 Nov 2014)
Definition at line 30 of file CaloClusterTrigAuxContainer_v1.h.
◆ auxid_set_t
◆ auxid_t
◆ AuxVariable_t
template<class T , class ALLOC = std::allocator<T>>
◆ guard_t
◆ LinkedVariable_t
template<class T , class ALLOC = std::allocator<T>>
◆ mutex_t
◆ AuxStoreType
Type of the auxiliary store.
In the xAOD EDM we use auxiliary store objects in some cases to describe a single object, and in most cases to describe a container of objects. This enumeration declares which type the object implementing this interface is.
Enumerator |
---|
AST_ObjectStore | The store describes a single object.
|
AST_ContainerStore | The store describes a container.
|
Definition at line 66 of file IAuxStoreHolder.h.
◆ CaloClusterTrigAuxContainer_v1()
xAOD::CaloClusterTrigAuxContainer_v1::CaloClusterTrigAuxContainer_v1 |
( |
| ) |
|
◆ ~CaloClusterTrigAuxContainer_v1()
xAOD::CaloClusterTrigAuxContainer_v1::~CaloClusterTrigAuxContainer_v1 |
( |
| ) |
|
|
inline |
◆ clearDecorations()
bool xAOD::AuxContainerBase::clearDecorations |
( |
| ) |
|
|
overridevirtualinherited |
◆ getAuxID() [1/2]
Get the auxiliary ID for one of the persistent variables.
◆ getAuxID() [2/2]
template<typename T , typename ALLOC >
Get the auxiliary ID for one of the persistent variables.
◆ getAuxIDs()
◆ getData() [1/3]
const void * xAOD::AuxContainerBase::getData |
( |
auxid_t |
auxid | ) |
const |
|
overridevirtualinherited |
◆ getData() [2/3]
void * xAOD::AuxContainerBase::getData |
( |
auxid_t |
auxid, |
|
|
size_t |
size, |
|
|
size_t |
capacity |
|
) |
| |
|
overridevirtualinherited |
Get a pointer to a given array, creating the array if necessary.
Implements SG::IAuxStore.
Definition at line 462 of file AuxContainerBase.cxx.
468 if( ( auxid >=
m_vecs.size() ) || ( !
m_vecs[ auxid ] ) ) {
475 auxid_t linked_id =
r.linkedVariable( auxid );
476 if (linked_id != SG::null_auxid) {
482 std::cout <<
"ERROR xAOD::AuxContainerBase::getData "
483 <<
"Unknown variable ("
485 <<
") requested" << std::endl;
489 m_vecs[ auxid ]->reserve( capacity );
494 return m_vecs[ auxid ]->toPtr();
◆ getData() [3/3]
virtual const void* SG::IConstAuxStore::getData |
|
inherited |
Pick up the const version from the base class.
◆ getDecoration()
void * xAOD::AuxContainerBase::getDecoration |
( |
auxid_t |
auxid, |
|
|
size_t |
size, |
|
|
size_t |
capacity |
|
) |
| |
|
overridevirtualinherited |
◆ getDecorIDs()
◆ getDynamicAuxIDs()
◆ getIOData()
const void * xAOD::AuxContainerBase::getIOData |
( |
auxid_t |
auxid | ) |
const |
|
overridevirtualinherited |
Get a pointer to the data being stored for one aux data item.
Implements SG::IAuxStoreIO.
Definition at line 659 of file AuxContainerBase.cxx.
665 if( ( auxid >=
m_vecs.size() ) || ( !
m_vecs[ auxid ] ) ) {
669 std::cout <<
"ERROR xAOD::AuxContainerBase::getIOData "
670 <<
"Unknown variable ("
672 <<
") requested" << std::endl;
681 return m_vecs[ auxid ]->toVector();
◆ getIOType()
const std::type_info * xAOD::AuxContainerBase::getIOType |
( |
auxid_t |
auxid | ) |
const |
|
overridevirtualinherited |
◆ getSelectedAuxIDs()
◆ getStore() [1/2]
◆ getStore() [2/2]
◆ getStoreType()
virtual AuxStoreType xAOD::AuxContainerBase::getStoreType |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ getVector()
|
finaloverridevirtualinherited |
Return vector interface for one aux data item.
Implements SG::IConstAuxStore.
Definition at line 239 of file AuxContainerBase.cxx.
244 if( ( auxid >=
m_vecs.size() ) || ( !
m_vecs[ auxid ] ) ) {
250 auxids_nc.
insert( auxid );
252 auxid_t linked_id =
r.linkedVariable( auxid );
253 if (linked_id != SG::null_auxid) {
254 auxids_nc.insert( linked_id );
259 std::cout <<
"ERROR xAOD::AuxContainerBase::getData "
260 <<
"Unknown variable ("
262 <<
") requested" << std::endl;
◆ getWritableAuxIDs()
◆ insertMove() [1/2]
Insert contents of another store via move.
Definition at line 584 of file AuxContainerBase.cxx.
596 size_t other_size =
other.size();
608 if (
other.getData (
id)) {
609 void* src_ptr =
other.getData (
id, other_size, other_size);
617 const void* orig = v_dst->
toPtr();
619 if (orig != v_dst->
toPtr())
◆ insertMove() [2/2]
Move all elements from other
to this store.
- Parameters
-
pos | The starting index of the insertion. |
other | Store from which to do the move. |
ignore | Set of variables that should not be added to the store. |
Let len
be the size of other
. The store will be increased in size by len
elements, with the elements at pos
being copied to pos+len
. Then, for each auxiliary variable, the entire contents of that variable for other
will be moved to this store at index pos
. This will be done via move semantics if possible; otherwise, it will be done with a copy. Variables present in this store but not in other
will have the corresponding elements default-initialized. Variables in other
but not in this store will be added unless they are in ignore
.
Returns true if it is known that none of the vectors' memory moved, false otherwise.
Implemented in SG::AuxStoreInternal.
◆ isDecoration()
bool xAOD::AuxContainerBase::isDecoration |
( |
auxid_t |
auxid | ) |
const |
|
overridevirtualinherited |
◆ linkedVector() [1/3]
◆ linkedVector() [2/3]
◆ linkedVector() [3/3]
virtual const IAuxTypeVector* SG::IConstAuxStore::linkedVector |
|
inlineinherited |
Return interface for a linked variable.
- Parameters
-
auxid | The ID of the parent variable. |
If auxid
has a linked variable, then return the IAuxTypeVector
describing it. Otherwise, return nullptr
. May return nullptr
unconditionally if this store does not support linked variables.
Definition at line 189 of file IConstAuxStore.h.
◆ lock()
void xAOD::AuxContainerBase::lock |
( |
| ) |
|
|
overridevirtualinherited |
◆ lockDecoration()
void xAOD::AuxContainerBase::lockDecoration |
( |
SG::auxid_t |
auxid | ) |
|
|
overridevirtualinherited |
◆ memResource()
std::pmr::memory_resource * xAOD::AuxContainerBase::memResource |
( |
| ) |
|
|
inherited |
Return the memory resource to use.
Definition at line 159 of file AuxContainerBase.cxx.
161 const std::pmr::memory_resource* cptr = m_memResource.get();
162 std::pmr::memory_resource*
ptr ATLAS_THREAD_SAFE =
const_cast<std::pmr::memory_resource*
>( cptr );
164 #ifndef XAOD_STANDALONE
165 const EventContext& ctx = Gaudi::Hive::currentContext();
172 ptr = std::pmr::get_default_resource();
175 m_memResource.set(
ptr );
◆ name()
const char * xAOD::AuxContainerBase::name |
( |
| ) |
const |
|
inherited |
◆ regAuxVar() [1/2]
Register one of the persistent variables internally.
◆ regAuxVar() [2/2]
template<typename T , typename ALLOC >
void xAOD::AuxContainerBase::regAuxVar |
( |
auxid_t |
auxid, |
|
|
const std::string & |
name, |
|
|
std::vector< T, ALLOC > & |
vec |
|
) |
| |
|
inherited |
Register one of the persistent variables internally.
◆ regAuxVar1()
template<typename ELT , typename CONT >
void xAOD::AuxContainerBase::regAuxVar1 |
( |
auxid_t |
auxid, |
|
|
const std::string & |
name, |
|
|
CONT & |
vec |
|
) |
| |
|
privateinherited |
Common code between regAuxVar cases.
◆ reserve()
void xAOD::AuxContainerBase::reserve |
( |
size_t |
size | ) |
|
|
overridevirtualinherited |
◆ resize()
bool xAOD::AuxContainerBase::resize |
( |
size_t |
size | ) |
|
|
overridevirtualinherited |
◆ setName()
void xAOD::AuxContainerBase::setName |
( |
const char * |
name | ) |
|
|
inherited |
◆ setOption()
◆ setStore()
Set a different internal store object.
This function is used by the I/O infrastructure to possibly put a store object into this one, which can interact with dynamic variables directly.
Note that the object takes ownership of the received store.
- Parameters
-
store | The store that should be used for dynamic variable handling inside the object from now on |
Implements SG::IAuxStoreHolder.
Definition at line 195 of file AuxContainerBase.cxx.
◆ shift()
void xAOD::AuxContainerBase::shift |
( |
size_t |
pos, |
|
|
ptrdiff_t |
offs |
|
) |
| |
|
overridevirtualinherited |
◆ size()
size_t xAOD::AuxContainerBase::size |
( |
| ) |
const |
|
overridevirtualinherited |
◆ altE
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::altE |
|
private |
◆ altEta
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::altEta |
|
private |
◆ altM
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::altM |
|
private |
◆ altPhi
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::altPhi |
|
private |
◆ ATLAS_THREAD_SAFE
◆ calE
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::calE |
|
private |
◆ calEta
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::calEta |
|
private |
◆ calM
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::calM |
|
private |
◆ calPhi
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::calPhi |
|
private |
◆ CENTER_LAMBDA
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::CENTER_LAMBDA |
|
private |
◆ clusterSize
std::vector<unsigned> xAOD::CaloClusterTrigAuxContainer_v1::clusterSize |
|
private |
◆ e_sampl
std::vector<std::vector< float > > xAOD::CaloClusterTrigAuxContainer_v1::e_sampl |
|
private |
◆ EM_PROBABILITY
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::EM_PROBABILITY |
|
private |
◆ eta0
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::eta0 |
|
private |
◆ ETA1CALOFRAME
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::ETA1CALOFRAME |
|
private |
◆ ETA2CALOFRAME
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::ETA2CALOFRAME |
|
private |
◆ eta_sampl
std::vector<std::vector< float > > xAOD::CaloClusterTrigAuxContainer_v1::eta_sampl |
|
private |
◆ ETACALOFRAME
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::ETACALOFRAME |
|
private |
◆ FIRST_ENG_DENS
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::FIRST_ENG_DENS |
|
private |
◆ m_auxids
◆ m_locked
bool xAOD::AuxContainerBase::m_locked |
|
privateinherited |
◆ m_mutex
mutex_t xAOD::AuxContainerBase::m_mutex |
|
mutableprivateinherited |
◆ m_name
std::string xAOD::AuxContainerBase::m_name |
|
privateinherited |
◆ m_ownsStore
bool xAOD::AuxContainerBase::m_ownsStore |
|
privateinherited |
Flag deciding if the object owns the dynamic store or not.
Definition at line 241 of file AuxContainerBase.h.
◆ m_store
◆ m_storeIO
◆ m_vecs
◆ phi0
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::phi0 |
|
private |
◆ PHI1CALOFRAME
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::PHI1CALOFRAME |
|
private |
◆ PHI2CALOFRAME
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::PHI2CALOFRAME |
|
private |
◆ phi_sampl
std::vector<std::vector< float > > xAOD::CaloClusterTrigAuxContainer_v1::phi_sampl |
|
private |
◆ PHICALOFRAME
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::PHICALOFRAME |
|
private |
◆ rawE
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::rawE |
|
private |
◆ rawEta
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::rawEta |
|
private |
◆ rawM
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::rawM |
|
private |
◆ rawPhi
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::rawPhi |
|
private |
◆ SECOND_LAMBDA
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::SECOND_LAMBDA |
|
private |
◆ SECOND_R
std::vector< float > xAOD::CaloClusterTrigAuxContainer_v1::SECOND_R |
|
private |
◆ supportsThinning
constexpr bool SG::IAuxStore::supportsThinning = true |
|
staticconstexprinherited |
Mark that this type supports thinning operations.
See AthContainers/supportsThinning.h and AthenaPoolCnvSvc/T_AthenaPoolCnv.h. Helps guide which pool converter template will be used. If false, the default pool converter will be used rather than the aux store-specific one. Ordinary xAOD type should not touch this, but may be overridden in a derived class to handle certain special cases.
Definition at line 199 of file IAuxStore.h.
◆ time
std::vector<float> xAOD::CaloClusterTrigAuxContainer_v1::time |
|
private |
The documentation for this class was generated from the following files:
std::string m_name
Name of the container in memory. Set externally.
virtual bool shift(size_t pos, ptrdiff_t offs)=0
Shift the elements of the vector.
bool isLinked() const
Return true if this variable is linked from another one.
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=SG::auxid_set_t())=0
Move all elements from other to this store.
virtual void lockDecoration(SG::auxid_t auxid)=0
Lock a decoration.
std::vector< std::vector< float > > eta_sampl
virtual const IAuxTypeVector * getVector(SG::auxid_t auxid) const =0
Return vector interface for one aux data item.
std::vector< float > calPhi
std::vector< float > CENTER_LAMBDA
ReadStats & stats()
Access the object belonging to the current thread.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
SG::IAuxStore * m_store
Internal dynamic auxiliary store object.
std::vector< float > ETACALOFRAME
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
AthContainers_detail::lock_guard< mutex_t > guard_t
Exception — Attempted to modify auxiliary data in a locked store.
std::vector< std::vector< float > > e_sampl
bool hasExtendedEventContext(const EventContext &ctx)
Test whether a context object has an extended context installed.
std::vector< float > rawPhi
std::vector< std::vector< float > > phi_sampl
std::vector< float > PHI2CALOFRAME
std::vector< float > eta0
virtual bool insertMove(size_t pos, void *src, size_t src_pos, size_t src_n, IAuxStore &srcStore)=0
Insert elements into the vector via move semantics.
std::vector< float > rawM
std::vector< float > PHICALOFRAME
virtual const std::type_info * getIOType(SG::auxid_t auxid) const =0
Return the type of the data to be stored for one aux data item.
std::vector< float > ETA2CALOFRAME
virtual size_t size() const =0
Return the number of elements in the store.
virtual void shift(size_t pos, ptrdiff_t offs)=0
Shift the elements of the container.
virtual IAuxTypeVector * linkedVector(SG::auxid_t)
std::vector< float > rawEta
Interface providing I/O for a generic auxiliary store.
std::vector< float > calEta
Handle mappings between names and auxid_t.
const ExtendedEventContext & getExtendedEventContext(const EventContext &ctx)
Retrieve an extended context from a context object.
std::vector< float > phi0
virtual size_t size() const override
Get the size of the container.
std::vector< float > altM
virtual bool setOption(auxid_t, const AuxDataOption &)
Set an option for a given auxiliary variable.
size_t auxid_t
Identifier for a particular aux data item.
std::vector< float > calM
virtual bool clearDecorations()=0
Clear all decorations.
std::vector< float > ETA1CALOFRAME
std::vector< float > calE
SG::auxid_set_t auxid_set_t
The aux ID set type definition.
std::vector< float > time
auxid_set_t m_auxids
Internal list of all available variables.
std::vector< SG::IAuxTypeVector * > m_vecs
Internal list of all managed variables.
ConcurrentBitset & insert(bit_t bit, bit_t new_nbits=0)
Set a bit to 1.
#define AUX_VARIABLE(VAR,...)
Convenience macro for declaring an auxiliary variable.
std::vector< float > altE
std::vector< float > PHI1CALOFRAME
std::vector< float > altEta
virtual void * getDecoration(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data decoration item.
std::vector< float > SECOND_R
const std::type_info * getVecType(SG::auxid_t auxid) const
Return the type of the STL vector used to hold an aux data item.
static IOStats & instance()
Singleton object accessor.
std::vector< float > SECOND_LAMBDA
virtual const SG::IAuxTypeVector * getVector(SG::auxid_t auxid) const override final
Return vector interface for one aux data item.
const T * as_const_ptr(const T *p)
Helper for getting a const version of a pointer.
virtual const auxid_set_t & getWritableAuxIDs() const override
Return a set of writable data identifiers.
virtual const void * getIOData(SG::auxid_t auxid) const =0
Return a pointer to the data to be stored for one aux data item.
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
void readBranch(const std::string &prefix, SG::auxid_t auxid)
Function incrementing the read counter on a specific branch.
SG::auxid_t auxid_t
The aux ID type definition.
std::vector< unsigned > clusterSize
std::vector< float > rawE
CxxUtils::CachedPointer< std::pmr::memory_resource > m_memResource ATLAS_THREAD_SAFE
Memory resource to use for this container.
virtual void * getData(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data item.
bool m_locked
Has the container been locked?
Abstract interface for manipulating vectors of arbitrary types.
std::vector< float > altPhi
bool m_ownsStore
Flag deciding if the object owns the dynamic store or not.
virtual const SG::auxid_set_t & getDecorIDs() const =0
Return a set of identifiers for decorations in this store.
virtual void lock()=0
Lock the container.
SG::IAuxStoreIO * m_storeIO
The IO interface to the internal auxiliary store.
AuxContainerBase(bool allowDynamicVars=true)
Default constructor.
virtual bool resize(size_t sz)=0
Change the size of all aux data vectors.
A set of aux data identifiers.
virtual bool isDecoration(auxid_t auxid) const =0
Test if a particular variable is tagged as a decoration.
@ AST_ObjectStore
The store describes a single object.
std::vector< float > FIRST_ENG_DENS
virtual const SG::auxid_set_t & getAuxIDs() const =0
Return a set of identifiers for existing data items in this store.
virtual void * toPtr()=0
Return a pointer to the start of the vector's data.
std::vector< float > EM_PROBABILITY
virtual void reserve(size_t sz)=0
Change the capacity of all aux data vectors.
@ AST_ContainerStore
The store describes a container.