ATLAS Offline Software
INav4MomToTrackParticleAssocs.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // INav4MomToTrackParticleAssocs.h
8 // Header file for class INav4MomToTrackParticleAssocs.h
9 // Author: Karsten Koeneke
11 #ifndef PARTICLEEVENT_INAV4MOMTOTRACKPARTICLEASSOCS_H
12 #define PARTICLEEVENT_INAV4MOMTOTRACKPARTICLEASSOCS_H
13 
14 // STL includes
15 
17 #include "AthLinks/DataLink.h"
19 // EventKernel includes
21 
22 // NavFourMom includes
25 
26 // TrackParticleIncludes
28 #include "Particle/TrackParticle.h"
29 // Forward declaration
30 
31 
32 
33 class INav4MomToTrackParticleAssocs : public AssociationMap< INavigable4MomentumCollection,
34  Rec::TrackParticleContainer >
35 {
36 
38  // Public methods:
40 public:
41 
44 
47 
50 
54 
56  // Const methods:
58 
62  bool assocs( const INavigable4Momentum* object,
63  ConstDataVector<Rec::TrackParticleContainer>& associatedElems ) const;
64 
68  bool getAssociations( const INav4MomLink& objectLink,
70  Rec::TrackParticleContainer >::asso_link >& associatedElementLinks ) const;
71 
75  bool getAssociations( const INavigable4Momentum* object,
77  Rec::TrackParticleContainer >::asso_link >& associatedElementLinks ) const;
78 
84  {
87  }
88 
94  {
97  }
98 
100 
103  assocStore (const std::string& name) const;
104 
106  size_t nAssocStores() const;
107 
109  std::vector<DataLink<INav4MomToTrackParticleAssocs> > getAssocStores() const;
110 
112  // Protected data:
114 protected:
116  std::map<std::string, INav4MomToTrackParticleAssocsLink_t> m_assocStores;
117 };
118 
119 
120 
121 // Destructor
124 {}
125 
127 
128 #endif //> PARTICLEEVENT_INAV4MOMTOTRACKPARTICLEASSOCS_H
129 
INav4MomToTrackParticleAssocs
Definition: INav4MomToTrackParticleAssocs.h:35
INav4MomToTrackParticleAssocs::addAssocStore
void addAssocStore(const DataLink< INav4MomToTrackParticleAssocs > &assocStore)
Definition: INav4MomToTrackParticleAssocs.cxx:176
TrackParticle.h
INav4MomToTrackParticleAssocs::INav4MomToTrackParticleAssocs
INav4MomToTrackParticleAssocs()
Default constructor:
Definition: INav4MomToTrackParticleAssocs.cxx:25
INavigable4Momentum.h
INav4MomToTrackParticleAssocs::operator=
INav4MomToTrackParticleAssocs & operator=(const INav4MomToTrackParticleAssocs &rhs)
Assignment operator:
Definition: INav4MomToTrackParticleAssocs.cxx:36
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
AssociationMap< INavigable4MomentumCollection, Rec::TrackParticleContainer >::object_type
object_container_type::base_value_type object_type
Definition: AssociationMap.h:45
AssociationMap.h
AssociationMap
templated base class for a look-up map for associations
Definition: AssociationMap.h:39
INav4MomToTrackParticleAssocs::getAssociations
bool getAssociations(const AssociationMap< INavigable4MomentumCollection, Rec::TrackParticleContainer >::object_type *objPointer, AssociationMap< INavigable4MomentumCollection, Rec::TrackParticleContainer >::asso_list &assocs) const
Reimplement the method from the base class to not shaddow it.
Definition: INav4MomToTrackParticleAssocs.h:80
INav4MomToTrackParticleAssocs::nAssocStores
size_t nAssocStores() const
Number of associated stores.
Definition: INav4MomToTrackParticleAssocs.cxx:197
INavigable4MomentumCollection
DataVector< INavigable4Momentum > INavigable4MomentumCollection
Definition: INavigable4MomentumCollection.h:22
AssociationObjectIterator
object iterator for association maps (internal use only!)
AssociationMap< INavigable4MomentumCollection, Rec::TrackParticleContainer >::asso_list
std::list< const asso_type * > asso_list
Definition: AssociationMap.h:59
INavigable4MomentumCollection.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
INav4MomToTrackParticleAssocs::m_assocStores
std::map< std::string, INav4MomToTrackParticleAssocsLink_t > m_assocStores
Definition: INav4MomToTrackParticleAssocs.h:116
INav4MomToTrackParticleAssocs::getAssociations
bool getAssociations(const AssociationMap< INavigable4MomentumCollection, Rec::TrackParticleContainer >::object_iterator &objIter, AssociationMap< INavigable4MomentumCollection, Rec::TrackParticleContainer >::asso_list &assocs) const
Reimplement the method from the base class to not shaddow it.
Definition: INav4MomToTrackParticleAssocs.h:90
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Rec::TrackParticleContainer
Definition: Reconstruction/Particle/Particle/TrackParticleContainer.h:33
INav4MomToTrackParticleAssocs::INav4MomToTrackParticleAssocsLink_t
DataLink< INav4MomToTrackParticleAssocs > INav4MomToTrackParticleAssocsLink_t
Definition: INav4MomToTrackParticleAssocs.h:115
INav4MomToTrackParticleAssocs::getAssocStores
std::vector< DataLink< INav4MomToTrackParticleAssocs > > getAssocStores() const
Return links to all other association stores.
Definition: INav4MomToTrackParticleAssocs.cxx:203
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition: ConstDataVector.h:76
INav4MomToTrackParticleAssocs::assocs
bool assocs(const INavigable4Momentum *object, ConstDataVector< Rec::TrackParticleContainer > &associatedElems) const
Retrieve all the associated-to objects which have been associated to the given.
Definition: INav4MomToTrackParticleAssocs.cxx:49
INavigable4Momentum
Definition: INavigable4Momentum.h:21
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
INav4MomToTrackParticleAssocs::getAssociations
bool getAssociations(const INav4MomLink &objectLink, std::vector< AssociationMap< INavigable4MomentumCollection, Rec::TrackParticleContainer >::asso_link > &associatedElementLinks) const
Retrieve all the associated-to ElementLinks_to_objects which have been associated to the given.
Definition: INav4MomToTrackParticleAssocs.cxx:87
INav4MomToTrackParticleAssocs::assocStore
DataLink< INav4MomToTrackParticleAssocs > assocStore(const std::string &name) const
Look up an associated store. For testing.
Definition: INav4MomToTrackParticleAssocs.cxx:187
INav4MomToTrackParticleAssocs::~INav4MomToTrackParticleAssocs
~INav4MomToTrackParticleAssocs()
Constructor with parameters:
Definition: INav4MomToTrackParticleAssocs.h:123
TrackParticleContainer.h