Belle II Software
release-08-01-10
|
Links segments in the same super cluster by linking paths of segments in a cellular automaton. More...
#include <SegmentLinker.h>
Public Types | |
using | IOTypes = std::tuple< AIOTypes... > |
Types that should be served to apply on invokation. | |
using | IOVectors = std::tuple< std::vector< AIOTypes >... > |
Vector types that should be served to apply on invokation. | |
Public Member Functions | |
SegmentLinker () | |
Constructor adding the filter as a subordinary processing signal listener. | |
std::string | getDescription () final |
Short description of the findlet. | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final |
Expose the parameters to a module. | |
void | apply (const std::vector< CDCSegment2D > &inputSegment2Ds, std::vector< CDCSegment2D > &outputSegment2Ds) final |
Main algorithm. | |
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
Main function executing the algorithm. | |
void | initialize () override |
Receive and dispatch signal before the start of the event processing. | |
void | beginRun () override |
Receive and dispatch signal for the beginning of a new run. | |
void | beginEvent () override |
Receive and dispatch signal for the start of a new event. | |
void | endRun () override |
Receive and dispatch signal for the end of the run. | |
void | terminate () override |
Receive and dispatch Signal for termination of the event processing. | |
Protected Types | |
using | ToVector = typename ToVectorImpl< T >::Type |
Short hand for ToRangeImpl. | |
Protected Member Functions | |
void | addProcessingSignalListener (ProcessingSignalListener *psl) |
Register a processing signal listener to be notified. | |
int | getNProcessingSignalListener () |
Get the number of currently registered listeners. | |
Private Types | |
using | Super = Findlet< const CDCSegment2D, CDCSegment2D > |
Type of the base class. | |
Private Attributes | |
bool | m_param_wholeSuperLayer = false |
Parameter : Switch to activate segment linking in the whole superlayer instead of only the super cluster. | |
bool | m_param_dealiasLinked = false |
Parameter : Switch to block hits that appear in linked segments such that unlinked reverse and aliases are excluded. | |
bool | m_param_onlyLinked = false |
Parameter : Switch to construct only segments that have a linked partner. | |
WeightedRelationCreator< const CDCSegment2D, ChooseableSegmentRelationFilter > | m_segment2DRelationCreator |
Creator of the segment relations for linking. | |
MultipassCellularPathFinder< const CDCSegment2D > | m_cellularPathFinder |
Instance of the cellular automaton path finder. | |
std::vector< WeightedRelation< const CDCSegment2D > > | m_segment2DRelations |
Memory for the relations between segments to be followed on linking. | |
std::vector< Path< const CDCSegment2D > > | m_segment2DPaths |
Memory for the segment paths generated from the graph. | |
std::vector< ProcessingSignalListener * > | m_subordinaryProcessingSignalListeners |
References to subordinary signal processing listener contained in this findlet. | |
bool | m_initialized = false |
Flag to keep track whether initialization happend before. | |
bool | m_terminated = false |
Flag to keep track whether termination happend before. | |
std::string | m_initializedAs |
Name of the type during initialisation. | |
Links segments in the same super cluster by linking paths of segments in a cellular automaton.
Definition at line 31 of file SegmentLinker.h.