![]() |
ATLAS Offline Software
|
Wrapper for Navigable implementation. More...
#include <NavWrapper.h>
Public Types | |
| typedef NAVIMPL | navimpl_t |
| Publish navigation implementation type. | |
| typedef navimpl_t::container_type | container_type |
| { | |
| typedef navimpl_t::constituent_type | constituent_type |
| typedef navimpl_t::parameter_type | parameter_type |
| typedef navimpl_t::object_iter | object_iter |
| typedef navimpl_t::external_index_type | external_index_type |
Public Member Functions | |
| NavWrapper () | |
| } | |
| NavWrapper (const navimpl_t &theNav) | |
| Optional constructor: construct from Navigable. | |
| virtual | ~NavWrapper () |
| Base class destructor. | |
| virtual void | fillToken (INavigationToken &navToken) const |
| Visitor handler without relational parameter. | |
| virtual void | fillToken (INavigationToken &navToken, const std::any &parentParameter) const |
| Visitor handler including a relational parameter. | |
| void | putElement (const container_type *pCont, const constituent_type *pObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0) |
| Add element to Navigable store. | |
| void | putElement (const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0) |
| Add element to the Navigable store. | |
| void | insertElement (const container_type *pCont, const constituent_type *pObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0) |
| Insert element into Navigable store. | |
| void | insertElement (const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0) |
| Insert element into Navigable store. | |
| void | reweight (const constituent_type *pObj, const parameter_type &oPar=parameter_type()) |
| void | reweight (const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type()) |
| void | reweight (object_iter &oIter, const parameter_type &oPar=parameter_type()) |
| bool | remove (const constituent_type *pObj) |
| bool | remove (const container_type *pCont, external_index_type &iObj) |
| bool | removeAll () |
| bool | contains (const constituent_type *pObj) const |
| bool | contains (const container_type *pCont, external_index_type &iObj) const |
| virtual object_iter | begin () const |
| virtual object_iter | end () const |
| virtual size_t | size () const |
| parameter_type | getParameter (const constituent_type *pObj) const |
| parameter_type | getParameter (const container_type *pCont, external_index_type &iObj) const |
| parameter_type | getParameter (object_iter &oIter) const |
| const container_type * | getContainer (const constituent_type *pObj) const |
| const container_type * | getContainer (object_iter oIter) const |
| bool | getIndex (const constituent_type *pObj, external_index_type &iObj) const |
| bool | getIndex (object_iter oIter, external_index_type &iObj) const |
Protected Member Functions | |
| navimpl_t & | getNavImpl () |
| const navimpl_t & | getNavImpl () const |
Private Attributes | |
| navimpl_t | m_nav |
| Wrapped Navigable implementation. | |
Wrapper for Navigable implementation.
This templated wrapper decouples the navigation implementation (implementing INavigable) from the client class by forwarding the Navigable behaviour to the actual implementation, rather than inheriting it. In particular this means this template itself is not derived from INavigable. This wrapper together with the P4Wrapper allows an un-ambiguous implementation of the combined INavigable4Momentum interface.
Definition at line 14 of file NavWrapper.h.
| typedef navimpl_t::constituent_type NavWrapper< NAVIMPL >::constituent_type |
Definition at line 31 of file NavWrapper.h.
| typedef navimpl_t::container_type NavWrapper< NAVIMPL >::container_type |
{
Publish important types from Navigable, new style
}
{ Publish important types from Navigable, old style, soon to be obsolete!
Definition at line 30 of file NavWrapper.h.
| typedef navimpl_t::external_index_type NavWrapper< NAVIMPL >::external_index_type |
Definition at line 34 of file NavWrapper.h.
| typedef NAVIMPL NavWrapper< NAVIMPL >::navimpl_t |
Publish navigation implementation type.
Definition at line 19 of file NavWrapper.h.
| typedef navimpl_t::object_iter NavWrapper< NAVIMPL >::object_iter |
Definition at line 33 of file NavWrapper.h.
| typedef navimpl_t::parameter_type NavWrapper< NAVIMPL >::parameter_type |
Definition at line 32 of file NavWrapper.h.
|
inline |
|
inline |
Optional constructor: construct from Navigable.
Definition at line 40 of file NavWrapper.h.
|
inlinevirtual |
|
inlinevirtual |
Definition at line 128 of file NavWrapper.h.
|
inline |
Definition at line 117 of file NavWrapper.h.
|
inline |
Definition at line 119 of file NavWrapper.h.
|
inlinevirtual |
Definition at line 129 of file NavWrapper.h.
|
inlinevirtual |
Visitor handler without relational parameter.
This is the implementation of the INavigable interface.
Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >, and Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >.
Definition at line 50 of file NavWrapper.h.
|
inlinevirtual |
Visitor handler including a relational parameter.
This is the implementation of the INavigable interface.
Reimplemented in Nav4MomWrapper< Navigable_t, P4Momentum_t >.
Definition at line 57 of file NavWrapper.h.
|
inline |
Definition at line 142 of file NavWrapper.h.
|
inline |
Definition at line 146 of file NavWrapper.h.
|
inline |
Definition at line 150 of file NavWrapper.h.
|
inline |
Definition at line 155 of file NavWrapper.h.
|
inlineprotected |
Definition at line 161 of file NavWrapper.h.
|
inlineprotected |
Definition at line 162 of file NavWrapper.h.
|
inline |
Definition at line 133 of file NavWrapper.h.
|
inline |
Definition at line 135 of file NavWrapper.h.
|
inline |
Definition at line 138 of file NavWrapper.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 110 of file NavWrapper.h.
|
inline |
Definition at line 112 of file NavWrapper.h.
|
inline |
Definition at line 114 of file NavWrapper.h.
|
inline |
Definition at line 98 of file NavWrapper.h.
|
inline |
|
inline |
Definition at line 105 of file NavWrapper.h.
|
inlinevirtual |
Definition at line 130 of file NavWrapper.h.
|
private |
Wrapped Navigable implementation.
Definition at line 166 of file NavWrapper.h.