ATLAS Offline Software
Loading...
Searching...
No Matches
JaggedVecPersVector.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
4 */
15
16
17#ifndef XAODCORE_JAGGEDVECPERSVECTOR_H
18#define XAODCORE_JAGGEDVECPERSVECTOR_H
19
22
23
24namespace xAOD {
25
26 template< class T, class VEC >
27 class AuxPersVector<SG::JaggedVecElt<T>, VEC>
28 : public SG::JaggedVecVectorHolder<T, typename VEC::allocator_type> {
29
30 public:
32 typedef VEC& vector_type;
33
36 : SG::JaggedVecVectorHolder<T, typename VEC::allocator_type>
37 (auxid, &vec, store->linkedVector( auxid ), false)
38 {
39 assert( !isLinked );
40 }
41
42 virtual std::unique_ptr<SG::IAuxTypeVector> clone() const override {
43 return std::make_unique<AuxPersVector>(*this);
44 }
45 }; // class AuxPersVector
46
47
48} // namespace xAOD
49
50
51#endif // not XAODCORE_JAGGEDVECPERSVECTOR_H
Auxiliary variable type allowing storage as a jagged vector. That is, the payloads for all the DataVe...
Interface for non-const operations on an auxiliary store.
Definition IAuxStore.h:48
virtual std::unique_ptr< IAuxTypeVector > linkedVector()
Implementation of IAuxTypeVector for JaggedVec types.
JaggedVecVectorHolder(auxid_t auxid, vector_type *vecPtr, IAuxTypeVector *linkedVec, bool ownFlag)
AuxPersVector(SG::auxid_t auxid, vector_type vec, bool isLinked, SG::IAuxStore *store)
Constructor.
virtual std::unique_ptr< SG::IAuxTypeVector > clone() const override
Make a copy of this vector.
Forward declaration.
size_t auxid_t
Identifier for a particular aux data item.
Definition AuxTypes.h:27
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.