ATLAS Offline Software
TrackParticleAssocs.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // TrackParticleAssocs.h
8 // Header file for class TrackParticleAssocs.h
9 // Author: C.Anastopoulos
11 #ifndef PARTICLEEVENT_TRACKPARTICLEASSOCS_H
12 #define PARTICLEEVENT_TRACKPARTICLEASSOCS_H
13 
14 // STL includes
15 
17 #include "AthLinks/DataLink.h"
19 
20 // TrackParticleIncludes
22 #include "Particle/TrackParticle.h"
23 // Forward declaration
24 
25 class TrackParticleAssocs : public AssociationMap< Rec::TrackParticleContainer,
26  Rec::TrackParticleContainer >
27 
28 {
29 
31  // Public methods:
33 public:
34 
38 
41 
44 
48 
50  // Const methods:
52 
56  bool assocs( const Rec::TrackParticle* object,
57  ConstDataVector<Rec::TrackParticleContainer>& associatedElems ) const;
58 
64  {
67  }
68 
74  {
77  }
78 
80 
81 
84  assocStore (const std::string& name) const;
85 
87  size_t nAssocStores() const;
88 
90  std::vector<DataLink<TrackParticleAssocs> > getAssocStores() const;
91 
93  // Protected data:
95 protected:
97  std::map<std::string, TrackParticleAssocsLink_t> m_assocStores;
98 };
99 
100 
101 
102 // Destructor
105 {}
106 
107 CLASS_DEF(TrackParticleAssocs, 94197921, 1 )
108 
109  #endif //> PARTICLEEVENT_TRACKPARTICLEASSOCS_H
110 
TrackParticle.h
AthCUDAExamples::TrackParticleContainer
vecmem::edm::container< TrackParticleInterface, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float > > TrackParticleContainer
SoA, GPU friendly TrackParticleContainer.
Definition: Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h:46
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
AssociationMap< Rec::TrackParticleContainer, Rec::TrackParticleContainer >::object_type
object_container_type::base_value_type object_type
Definition: AssociationMap.h:45
AssociationMap.h
TrackParticleAssocs::assocs
bool assocs(const Rec::TrackParticle *object, ConstDataVector< Rec::TrackParticleContainer > &associatedElems) const
Retrieve all the associated-to objects which have been associated to the given.
Definition: TrackParticleAssocs.cxx:47
AssociationMap
templated base class for a look-up map for associations
Definition: AssociationMap.h:39
TrackParticleAssocs::getAssociations
bool getAssociations(const AssociationMap< Rec::TrackParticleContainer, Rec::TrackParticleContainer >::object_type *objPointer, AssociationMap< Rec::TrackParticleContainer, Rec::TrackParticleContainer >::asso_list &assocs) const
Reimplement the method from the base class to not shaddow it.
Definition: TrackParticleAssocs.h:60
TrackParticleAssocs::TrackParticleAssocsLink_t
DataLink< TrackParticleAssocs > TrackParticleAssocsLink_t
Definition: TrackParticleAssocs.h:96
AssociationObjectIterator
object iterator for association maps (internal use only!)
TrackParticleAssocs::assocStore
DataLink< TrackParticleAssocs > assocStore(const std::string &name) const
Look up an associated store. For testing.
Definition: TrackParticleAssocs.cxx:94
AssociationMap< Rec::TrackParticleContainer, Rec::TrackParticleContainer >::asso_list
std::list< const asso_type * > asso_list
Definition: AssociationMap.h:59
TrackParticleAssocs::addAssocStore
void addAssocStore(const DataLink< TrackParticleAssocs > &assocStore)
Definition: TrackParticleAssocs.cxx:83
TrackParticleAssocs
Definition: TrackParticleAssocs.h:28
TrackParticleAssocs::m_assocStores
std::map< std::string, TrackParticleAssocsLink_t > m_assocStores
Definition: TrackParticleAssocs.h:97
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
Rec::TrackParticleContainer
Definition: Reconstruction/Particle/Particle/TrackParticleContainer.h:33
TrackParticleAssocs::~TrackParticleAssocs
~TrackParticleAssocs()
Constructor with parameters:
Definition: TrackParticleAssocs.h:104
TrackParticleAssocs::TrackParticleAssocs
TrackParticleAssocs()
Default constructor:
Definition: TrackParticleAssocs.cxx:23
TrackParticleAssocs::getAssocStores
std::vector< DataLink< TrackParticleAssocs > > getAssocStores() const
Return links to all other association stores.
Definition: TrackParticleAssocs.cxx:110
TrackParticleAssocs::getAssociations
bool getAssociations(const AssociationMap< Rec::TrackParticleContainer, Rec::TrackParticleContainer >::object_iterator &objIter, AssociationMap< Rec::TrackParticleContainer, Rec::TrackParticleContainer >::asso_list &assocs) const
Reimplement the method from the base class to not shaddow it.
Definition: TrackParticleAssocs.h:70
Rec::TrackParticle
Definition: Reconstruction/Particle/Particle/TrackParticle.h:47
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition: ConstDataVector.h:76
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TrackParticleAssocs::operator=
TrackParticleAssocs & operator=(const TrackParticleAssocs &rhs)
Assignment operator:
Definition: TrackParticleAssocs.cxx:34
TrackParticleAssocs::nAssocStores
size_t nAssocStores() const
Number of associated stores.
Definition: TrackParticleAssocs.cxx:104
TrackParticleContainer.h