LCIO
02.17
|
A single weighted relationship between two LCObjects. More...
#include <LCRelation.h>
Public Types | |
typedef LCRelation | lcobject_type |
Useful typedef for template programming with LCIO. More... | |
![]() | |
typedef std::type_index | ext_index |
typedef std::shared_ptr< void > | ext_type |
typedef std::map< ext_index, ext_type > | ext_map |
Public Member Functions | |
virtual | ~LCRelation () |
Destructor. More... | |
virtual LCObject * | getFrom () const =0 |
The 'from' object of the given relation. More... | |
virtual LCObject * | getTo () const =0 |
The 'to' object of the given relation. More... | |
virtual float | getWeight () const =0 |
The weight of the given relation - only if collection flag bit LCIO::LCREL_WEIGHTED is set. More... | |
![]() | |
virtual | ~LCObject () |
Destructor. More... | |
virtual int | id () const =0 |
Returns an object id for internal (debugging) use in LCIO. More... | |
virtual LCObject * | clone () const |
Returns an object id for internal (debugging) use in LCIO. More... | |
![]() | |
template<class V > | |
V::ext_type | ext () |
Provides access to an extension object - the type and ownership is defined by the class V which should be a subtype of LCExtension, LCOwnedExtension, LCExtensionVector, LCExtensionList,... More... | |
template<class V > | |
const V::ext_type | ext () const |
Provides access to an extension object - the type and ownership is defined by the class V which should be a subtype of LCExtension, LCOwnedExtension, LCExtensionVector, LCExtensionList,... More... | |
template<class V > | |
V::rel_type | rel () |
Provides read access to relations - the object types and their connectivity are defined by the class V which has to be a subtype of either LC1To1Relation, LC1ToNRelation or LCNToNRelation. More... | |
A single weighted relationship between two LCObjects.
Stored in an LCCollection like any other LCObject. Use inplementations of LCRelationNavigator to navigate the relation efficiently. the types of the objects is decoded in the collection paramters 'RelationFromType' and 'RelationToType'. In order to store weights != 1. with the relation set the collection flag bit LCIO::LCREL_WEIGHTED, this is done automatically in UTIL::LCRelationNavigator if a weight != 1. exists.
Definition at line 29 of file LCRelation.h.
Useful typedef for template programming with LCIO.
Definition at line 37 of file LCRelation.h.
|
inlinevirtual |
Destructor.
Definition at line 33 of file LCRelation.h.
|
pure virtual |
The 'from' object of the given relation.
Implemented in IMPL::LCRelationImpl.
Referenced by UTIL::LCRelationNavigator::initialize(), UTIL::operator<<(), and SIO::SIOLCRelationHandler::write().
|
pure virtual |
The 'to' object of the given relation.
Implemented in IMPL::LCRelationImpl.
Referenced by UTIL::LCRelationNavigator::initialize(), and UTIL::operator<<().
|
pure virtual |
The weight of the given relation - only if collection flag bit LCIO::LCREL_WEIGHTED is set.
Implemented in IMPL::LCRelationImpl.
Referenced by UTIL::LCRelationNavigator::initialize(), and UTIL::operator<<().