Belle II Software  release-08-01-10
DirectedNode< EntryType, MetaInfoType > Class Template Reference

The Node-Class. More...

#include <DirectedNode.h>

Collaboration diagram for DirectedNode< EntryType, MetaInfoType >:

Public Member Functions

bool operator== (const DirectedNode &b) const
 ************************* OPERATORS ************************* More...
 
bool operator!= (const DirectedNode &b) const
 != -operator - compares if two nodes are not identical
 
bool operator== (const EntryType &b) const
 == -operator - compares if the entry passed is identical with the one linked in this node
 
bool operator!= (const EntryType &b) const
 == -operator - compares if the entry passed is not identical with the one linked in this node
 
std::vector< DirectedNode< EntryType, MetaInfoType > * > & getInnerNodes ()
 ************************* PUBLIC MEMBER FUNCTIONS ************************* More...
 
std::vector< DirectedNode< EntryType, MetaInfoType > * > & getOuterNodes ()
 Returns links to all outer nodes attached to this one.
 
EntryType & getEntry ()
 Allows access to stored entry.
 
const EntryType & getConstEntry () const
 Allows const access to stored entry (needed for external operator overload.
 
DirectedNode< EntryType, MetaInfoType > * getPtr ()
 Returns Pointer to this node.
 
MetaInfoType & getMetaInfo ()
 Returns reference to MetaInfoType attached to this node.
 
short getFamily () const
 Returns identifier of this cell.
 
void setFamily (short family)
 Assign a family identifier to this cell.
 

Public Attributes

EntryType & m_entry
 ************************* DATA MEMBERS ************************* More...
 
std::vector< DirectedNode< EntryType, MetaInfoType > * > m_innerNodes
 Carries all links to inner nodes.
 
std::vector< DirectedNode< EntryType, MetaInfoType > * > m_outerNodes
 Carries all links to outer nodes.
 
MetaInfoType m_metaInfo
 Contains a MetaInfo for doing extra-stuff (whatever you need)
 
short m_family
 Identifier for all connected nodes.
 

Protected Member Functions

 DirectedNode (EntryType &entry)
 ************************* CONSTRUCTORS ************************* More...
 
 DirectedNode (const DirectedNode &node)=delete
 Forbid copy constructor.
 
DirectedNodeoperator= (const DirectedNode &node)=delete
 Forbid assignment operator.
 
void addInnerNode (DirectedNode< EntryType, MetaInfoType > &newNode)
 ************************* INTERNAL MEMBER FUNCTIONS ************************* More...
 
void addOuterNode (DirectedNode< EntryType, MetaInfoType > &newNode)
 Adds new links to the outward direction.
 

Friends

template<typename AnyType , typename AnyOtherType >
class DirectedNodeNetwork
 Only the DirectedNodeNetwork can create DirectedNodes and link them.
 

Detailed Description

template<typename EntryType, typename MetaInfoType>
class Belle2::DirectedNode< EntryType, MetaInfoType >

The Node-Class.

Carries an instance of a class which shall be woven into a network. additionally a Cell can be attached for Cellular Automaton functionality. If you don't need the Cell-features, just insert an empty dummy-class. or use ../tracking/trackFindingVXD/segmentNetwork/VoidMetaInfo.h, where such a dummy class is defined.

Prerequisites for template EntryType:

  • has to have an == operator defined prerequisites for template MetaInfoType:
  • has to have a public constructor with no arguments passed.

Definition at line 31 of file DirectedNode.h.

Constructor & Destructor Documentation

◆ DirectedNode()

DirectedNode ( EntryType &  entry)
inlineexplicitprotected

************************* CONSTRUCTORS *************************

Protected constructor. accepts an entry which can not be changed any more

Definition at line 38 of file DirectedNode.h.

Member Function Documentation

◆ addInnerNode()

void addInnerNode ( DirectedNode< EntryType, MetaInfoType > &  newNode)
inlineprotected

************************* INTERNAL MEMBER FUNCTIONS *************************

Adds new links to the inward direction

Definition at line 55 of file DirectedNode.h.

◆ getInnerNodes()

std::vector<DirectedNode<EntryType, MetaInfoType>*>& getInnerNodes ( )
inline

************************* PUBLIC MEMBER FUNCTIONS *************************

Getters Returns links to all inner nodes attached to this one

Definition at line 86 of file DirectedNode.h.

◆ operator==()

bool operator== ( const DirectedNode< EntryType, MetaInfoType > &  b) const
inline

************************* OPERATORS *************************

== -operator - compares if two nodes are identical

Definition at line 71 of file DirectedNode.h.

Member Data Documentation

◆ m_entry

EntryType& m_entry

************************* DATA MEMBERS *************************

Entry can be of any type, DirectedNode is just the carrier

Definition at line 112 of file DirectedNode.h.


The documentation for this class was generated from the following file: