10#include <tracking/trackFindingCDC/findlets/minimal/AxialSegmentPairCreator.h>
11#include <tracking/trackFindingCDC/findlets/minimal/SegmentTripleCreator.h>
13#include <tracking/trackFindingCDC/findlets/minimal/TrackCreatorSegmentTripleAutomaton.h>
14#include <tracking/trackFindingCDC/findlets/minimal/TrackCreatorSingleSegments.h>
15#include <tracking/trackFindingCDC/findlets/minimal/TrackLinker.h>
16#include <tracking/trackFindingCDC/findlets/minimal/TrackOrienter.h>
18#include <tracking/trackFindingCDC/filters/segmentTripleRelation/ChooseableSegmentTripleRelationFilter.h>
20#include <tracking/trackingUtilities/eventdata/tracks/CDCTrack.h>
21#include <tracking/trackingUtilities/eventdata/tracks/CDCSegmentTriple.h>
22#include <tracking/trackingUtilities/eventdata/tracks/CDCAxialSegmentPair.h>
24#include <tracking/trackingUtilities/findlets/minimal/WeightedRelationCreator.h>
25#include <tracking/trackingUtilities/findlets/base/StoreVectorSwapper.h>
34 namespace TrackingUtilities {
37 namespace TrackFindingCDC {
61 void apply(const
std::
vector<TrackingUtilities::CDCSegment2D>& inputSegments,
62 std::
vector<TrackingUtilities::CDCTrack>& tracks) final;
73 TrackingUtilities::WeightedRelationCreator<const TrackingUtilities::CDCSegmentTriple, TrackFindingCDC::ChooseableSegmentTripleRelationFilter>
89 TrackingUtilities::StoreVectorSwapper<TrackingUtilities::CDCSegmentTriple>
m_segmentTripleSwapper{
"CDCSegmentTripleVector"};
The Module parameter list class.
Class providing construction combinatorics for the axial stereo segment pairs.
Class providing construction combinatorics for the axial stereo segment pairs.
Findlet that generates tracks based on a cellular automaton of segment triples.
Searches for segments that have not been used at all and creates tracks from them.
TrackingUtilities::WeightedRelationCreator< const TrackingUtilities::CDCSegmentTriple, TrackFindingCDC::ChooseableSegmentTripleRelationFilter > m_segmentTripleRelationCreator
Instance of the segment triple relation creator.
TrackOrienter m_trackOrienter
Fixes the direction of flight of tracks by a simple chooseable heuristic.
TrackCreatorSingleSegments m_trackCreatorSingleSegments
Creates tracks from left over segments.
TrackCreatorSegmentTripleAutomaton m_trackCreatorSegmentTripleAutomaton
Instance of the cellular automaton creating creating tracks over segment triple.
std::vector< TrackingUtilities::CDCTrack > m_preLinkingTracks
Memory for the tracks before linking was applied.
void beginEvent() final
Signal the beginning of a new event.
TrackLinker m_trackLinker
Findlet responsible for the linking of tracks.
void apply(const std::vector< TrackingUtilities::CDCSegment2D > &inputSegments, std::vector< TrackingUtilities::CDCTrack > &tracks) final
Generates the tracks.
std::vector< TrackingUtilities::CDCAxialSegmentPair > m_axialSegmentPairs
Memory for the axial to axial segment pairs.
AxialSegmentPairCreator m_axialSegmentPairCreator
Instance of the axial to axial segment pair creator.
std::string getDescription() final
Short description of the findlet.
std::vector< TrackingUtilities::WeightedRelation< const TrackingUtilities::CDCSegmentTriple > > m_segmentTripleRelations
Memory for the segment triple relations.
TrackingUtilities::StoreVectorSwapper< TrackingUtilities::CDCSegmentTriple > m_segmentTripleSwapper
Helper to swap the local segment triples out to the DataStore.
SegmentTripleCreator m_segmentTripleCreator
Instance of the segment triple creator.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
std::vector< TrackingUtilities::CDCTrack > m_orientedTracks
Memory for the tracks after orientation was applied.
TrackFinderSegmentTripleAutomaton()
Constructor registering the subordinary findlets to the processing signal distribution machinery.
TrackingUtilities::Findlet< const TrackingUtilities::CDCSegment2D, TrackingUtilities::CDCTrack > Super
Type of the base class.
std::vector< TrackingUtilities::CDCSegmentTriple > m_segmentTriples
Memory for the segment triples.
Links tracks based on a filter criterion.
Fixes the orientation of tracks by a simple heuristic.
Class representing a sequence of three dimensional reconstructed hits.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Abstract base class for different kinds of events.