Belle II Software
release-08-01-10
|
Findlet implementing the track finding from segments using a cellular automaton over segment triples. More...
#include <TrackFinderSegmentTripleAutomaton.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 | |
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, ChooseableSegmentTripleRelationFilter > | m_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< CDCSegmentTriple > | m_segmentTripleSwapper {"CDCSegmentTripleVector"} |
Helper to swap the local segment triples out to the DataStore. | |
std::vector< CDCAxialSegmentPair > | m_axialSegmentPairs |
Memory for the axial to axial segment pairs. | |
std::vector< CDCSegmentTriple > | m_segmentTriples |
Memory for the segment triples. | |
std::vector< WeightedRelation< const CDCSegmentTriple > > | m_segmentTripleRelations |
Memory for the segment triple relations. | |
std::vector< CDCTrack > | m_preLinkingTracks |
Memory for the tracks before linking was applied. | |
std::vector< CDCTrack > | m_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. | |
Findlet implementing the track finding from segments using a cellular automaton over segment triples.
Definition at line 37 of file TrackFinderSegmentTripleAutomaton.h.