Belle II Software  release-08-01-10
SegmentLinker Class Referenceabstract

Links segments in the same super cluster by linking paths of segments in a cellular automaton. More...

#include <SegmentLinker.h>

Inheritance diagram for SegmentLinker:
Collaboration diagram for SegmentLinker:

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, ChooseableSegmentRelationFilterm_segment2DRelationCreator
 Creator of the segment relations for linking.
 
MultipassCellularPathFinder< const CDCSegment2Dm_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.
 

Detailed Description

Links segments in the same super cluster by linking paths of segments in a cellular automaton.

Definition at line 31 of file SegmentLinker.h.


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