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

Findlet implementing the track finding from segments using a cellular automaton over segment pairs. More...

#include <TrackFinderSegmentPairAutomaton.h>

Inheritance diagram for TrackFinderSegmentPairAutomaton:
Collaboration diagram for TrackFinderSegmentPairAutomaton:

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

 TrackFinderSegmentPairAutomaton ()
 Constructor registering the subordinary findlets to the processing signal distribution machinery.
 
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 beginEvent () final
 Signal the beginning of a new event.
 
void apply (const std::vector< CDCSegment2D > &inputSegments, std::vector< CDCTrack > &tracks) final
 Generates the tracks from segments.
 
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 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, CDCTrack >
 Type of the base class.
 

Private Attributes

SegmentPairCreator m_segmentPairCreator
 Findlet responsible for the creation of segment pairs.
 
WeightedRelationCreator< const CDCSegmentPair, ChooseableSegmentPairRelationFilterm_segmentPairRelationCreator
 Findlet responsible for the creation of segment pairs relations of the CA.
 
TrackCreatorSegmentPairAutomaton m_trackCreatorSegmentPairAutomaton
 Reference to the relation filter to be used to construct the segment pair network.
 
TrackCreatorSingleSegments m_trackCreatorSingleSegments
 Creates tracks from left over segments.
 
TrackLinker m_trackLinker
 Findlet responsible for the linking of tracks.
 
TrackOrienter m_trackOrienter
 Fixes the direction of flight of tracks by a simple chooseable heuristic.
 
StoreVectorSwapper< CDCSegmentPairm_segmentPairSwapper {"CDCSegmentPairVector"}
 Puts the internal segment pairs on the DataStore.
 
std::vector< CDCSegmentPairm_segmentPairs
 Memory for the axial stereo segment pairs.
 
std::vector< WeightedRelation< const CDCSegmentPair > > m_segmentPairRelations
 Memory for the axial stereo segment pair relations.
 
std::vector< CDCTrackm_preLinkingTracks
 Memory for the tracks before linking was applied.
 
std::vector< CDCTrackm_orientedTracks
 Memory for the tracks after orientation was applied.
 
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

Findlet implementing the track finding from segments using a cellular automaton over segment pairs.

Definition at line 33 of file TrackFinderSegmentPairAutomaton.h.


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