ATLAS Offline Software
AuxPersVector.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 /*
3  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef XAODCORE_AUXPERSVECTOR_H
7 #define XAODCORE_AUXPERSVECTOR_H
8 
9 // EDM include(s):
13 
14 namespace xAOD {
15 
27  template< class T, class VEC=std::vector< T > >
28  class AuxPersVector : public SG::AuxTypeVectorHolder<T, VEC> {
29 
30  public:
32  typedef VEC& vector_type;
33 
36  : SG::AuxTypeVectorHolder<T, VEC> (auxid, &vec, false, isLinked) {}
37 
38  virtual std::unique_ptr<SG::IAuxTypeVector> clone() const override {
39  return std::make_unique<AuxPersVector<T, VEC> >(*this);
40  }
41 
42  }; // class AuxPersVector
43 
44 } // namespace xAOD
45 
46 #endif // XAODCORE_AUXPERSVECTOR_H
SG::IAuxTypeVector::isLinked
bool isLinked() const
Return true if this variable is linked from another one.
Definition: IAuxTypeVector.h:226
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
xAOD::AuxPersVector::vector_type
VEC & vector_type
Convenience type definition.
Definition: AuxPersVector.h:32
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
xAOD::AuxPersVector
Class managing concrete vector variables.
Definition: AuxPersVector.h:28
AuxTypeVector.h
Implementation of IAuxTypeVector for specific types.
xAOD::AuxPersVector::clone
virtual std::unique_ptr< SG::IAuxTypeVector > clone() const override
Make a copy of this vector.
Definition: AuxPersVector.h:38
SG::IAuxTypeVector::auxid
auxid_t auxid() const
Return the auxid of the variable this vector represents.
Definition: IAuxTypeVector.h:232
SG::IAuxStore
Interface for non-const operations on an auxiliary store.
Definition: IAuxStore.h:48
IAuxSetOption.h
Abstract interface for setting a option on a aux data container.
SG::AuxTypeVectorHolder< T, std::vector< T > >::AuxTypeVectorHolder
AuxTypeVectorHolder(auxid_t auxid, vector_type *vecPtr, bool ownFlag, bool isLinked)
Constructor.
AuxTypeRegistry.h
Handle mappings between names and auxid_t.
xAOD::AuxPersVector::AuxPersVector
AuxPersVector(SG::auxid_t auxid, vector_type vec, bool isLinked, SG::IAuxStore *)
Constructor.
Definition: AuxPersVector.h:35
SG::AuxTypeVectorHolder
Implementation of IAuxTypeVector for specific types.
Definition: AuxTypeVector.h:52