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

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

#include <TrackFinderSegmentTripleAutomaton.h>

Inheritance diagram for TrackFinderSegmentTripleAutomaton:
Collaboration diagram for TrackFinderSegmentTripleAutomaton:

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

 TrackFinderSegmentTripleAutomaton ()
 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.
 
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

AxialSegmentPairCreator m_axialSegmentPairCreator
 Instance of the axial to axial segment pair creator.
 
SegmentTripleCreator m_segmentTripleCreator
 Instance of the segment triple creator.
 
WeightedRelationCreator< const CDCSegmentTriple, ChooseableSegmentTripleRelationFilterm_segmentTripleRelationCreator
 Instance of the segment triple relation creator.
 
TrackCreatorSegmentTripleAutomaton m_trackCreatorSegmentTripleAutomaton
 Instance of the cellular automaton creating creating tracks over segment triple.
 
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< CDCSegmentTriplem_segmentTripleSwapper {"CDCSegmentTripleVector"}
 Helper to swap the local segment triples out to the DataStore.
 
std::vector< CDCAxialSegmentPairm_axialSegmentPairs
 Memory for the axial to axial segment pairs.
 
std::vector< CDCSegmentTriplem_segmentTriples
 Memory for the segment triples.
 
std::vector< WeightedRelation< const CDCSegmentTriple > > m_segmentTripleRelations
 Memory for the segment triple 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 triples.

Definition at line 37 of file TrackFinderSegmentTripleAutomaton.h.


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