ATLAS Offline Software
INav4MomAssocs.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 // INav4MomAssocs.h
8 // Header file for class INav4MomAssocs
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef NAVFOURMOM_INAV4MOMASSOCS_H
12 #define NAVFOURMOM_INAV4MOMASSOCS_H
13 
14 // STL includes
15 
17 #include "AthLinks/DataLink.h"
18 
19 // EventKernel includes
21 
22 // NavFourMom includes
27 // Forward declaration
29 
30 class INav4MomAssocs : public AssociationMap< INavigable4MomentumCollection,
31  INavigable4MomentumCollection >
32 
33 {
34 
36  // Public methods:
38  public:
39 
43 
46  INav4MomAssocs( const INav4MomAssocs& rhs );
47 
50  INav4MomAssocs& operator=( const INav4MomAssocs& rhs );
51 
57  ~INav4MomAssocs();
58 
60  // Const methods:
62 
66  bool assocs ( const INavigable4Momentum* object,
68 
72  bool getAssociations( const INav4MomLink& objectLink,
73  INav4MomLinkContainer& associatedElementLinks ) const;
74 
78  bool getAssociations( const INavigable4Momentum* object,
79  INav4MomLinkContainer& associatedElementLinks ) const;
80 
86  {
89  }
90 
96  {
99  }
100 
104  //template<typename CONT>
105  //CONT getAssociations(const INavigable4Momentum* object)const;
106 
108  // Non-const methods:
110 
116  void addAssocStore( const DataLink<INav4MomAssocs>& assocStore );
117 
119  std::vector<DataLink<INav4MomAssocs> > getAssocStores() const;
120 
122  // Protected data:
124  protected:
126  std::map<std::string, INav4MomAssocsLink_t> m_assocStores;
127 };
128 
132 
133 
134 // Destructor
137 {}
138 
139 CLASS_DEF( INav4MomAssocs, 94197919, 1 )
140 
141 #endif //> NAVFOURMOM_INAV4MOMASSOCS_H
INav4MomAssocs::~INav4MomAssocs
~INav4MomAssocs()
Constructor with parameters:
Definition: INav4MomAssocs.h:136
INav4MomAssocs::m_assocStores
std::map< std::string, INav4MomAssocsLink_t > m_assocStores
Definition: INav4MomAssocs.h:126
INavigable4Momentum.h
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
AssociationMap< INavigable4MomentumCollection, INavigable4MomentumCollection >::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
INav4MomAssocs::assocs
bool assocs(const INavigable4Momentum *object, ConstDataVector< INavigable4MomentumCollection > &assocs) const
Retrieve all the associated-to objects which have been associated to the given.
Definition: INav4MomAssocs.cxx:54
INavigable4MomentumCollection
DataVector< INavigable4Momentum > INavigable4MomentumCollection
Definition: INavigable4MomentumCollection.h:22
AssociationObjectIterator
object iterator for association maps (internal use only!)
AssociationMap< INavigable4MomentumCollection, INavigable4MomentumCollection >::asso_list
std::list< const asso_type * > asso_list
Definition: AssociationMap.h:59
INavigable4MomentumCollection.h
INav4MomAssocs
Definition: INav4MomAssocs.h:33
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
INav4MomAssocs::addAssocStore
void addAssocStore(const DataLink< INav4MomAssocs > &assocStore)
Retrieve all the associated-to objects which have been associated to the given.
Definition: INav4MomAssocs.cxx:178
INav4MomAssocs::getAssociations
bool getAssociations(const AssociationMap< INavigable4MomentumCollection, INavigable4MomentumCollection >::object_type *objPointer, AssociationMap< INavigable4MomentumCollection, INavigable4MomentumCollection >::asso_list &assocs) const
Reimplement the method from the base class to not shaddow it.
Definition: INav4MomAssocs.h:82
INav4MomAssocs::getAssocStores
std::vector< DataLink< INav4MomAssocs > > getAssocStores() const
Return links to all other association stores.
Definition: INav4MomAssocs.cxx:188
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition: ConstDataVector.h:76
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
INav4MomAssocs::getAssociations
bool getAssociations(const INav4MomLink &objectLink, INav4MomLinkContainer &associatedElementLinks) const
Retrieve all the associated-to ElementLinks_to_objects which have been associated to the given.
Definition: INav4MomAssocs.cxx:90
INav4MomAssocs::INav4MomAssocsLink_t
DataLink< INav4MomAssocs > INav4MomAssocsLink_t
Definition: INav4MomAssocs.h:125
INav4MomAssocs::getAssociations
bool getAssociations(const AssociationMap< INavigable4MomentumCollection, INavigable4MomentumCollection >::object_iterator &objIter, AssociationMap< INavigable4MomentumCollection, INavigable4MomentumCollection >::asso_list &assocs) const
Reimplement the method from the base class to not shaddow it.
Definition: INav4MomAssocs.h:92
INav4MomAssocs::operator=
INav4MomAssocs & operator=(const INav4MomAssocs &rhs)
Assignment operator:
Definition: INav4MomAssocs.cxx:39
checker_macros.h
Define macros for attributes used to control the static checker.
INav4MomAssocs::INav4MomAssocs
INav4MomAssocs()
Default constructor:
Definition: INav4MomAssocs.cxx:26