Belle II Software development
Clusterizer< ACellHolder, ACluster > Class Template Referenceabstract

Implementation of the clustering Clusters elements of a given collection using the relations presented by a neighborhood. More...

#include <Clusterizer.h>

Inheritance diagram for Clusterizer< ACellHolder, ACluster >:
Findlet< AIOTypes > CompositeProcessingSignalListener ProcessingSignalListener

Public Types

using IOTypes = std::tuple< AIOTypes... >
 Types that should be served to apply on invocation.
 
using IOVectors = std::tuple< std::vector< AIOTypes >... >
 Vector types that should be served to apply on invocation.
 

Public Member Functions

void apply (std::vector< ACellHolder * > const &cellHolders, std::vector< WeightedRelation< ACellHolder > > const &cellHolderRelations, std::vector< ACluster > &clusters) override
 Creates the clusters.
 
virtual std::string getDescription ()
 Brief description of the purpose of the concrete findlet.
 
virtual void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix)
 Forward prefixed parameters of this findlet to the module parameter list.
 
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

template<class T >
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 = ProcessingSignalListener
 Type of the base class.
 

Private Member Functions

void expandCluster (std::vector< WeightedRelation< ACellHolder > > const &cellHolderRelations, std::vector< ACellHolder * > &cluster) const
 Helper function. Starting a new cluster and iteratively expands it.
 
void setCellState (ACellHolder *cellHolder, Weight cellState) const
 Setter for the cell state of a pointed object that holds an AutomatonCell.
 
Weight getCellState (ACellHolder *cellHolder) const
 Getter for the cell state of a pointed object that holds an AutomatonCell.
 
void setCellWeight (ACellHolder *cellHolder, Weight cellWeight) const
 Setter for the cell weight of a pointed object that holds an AutomatonCell.
 

Private Attributes

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 happened before.
 
bool m_terminated = false
 Flag to keep track whether termination happened before.
 
std::string m_initializedAs
 Name of the type during initialisation.
 

Detailed Description

template<class ACellHolder, class ACluster = std::vector<ACellHolder*>>
class Belle2::TrackFindingCDC::Clusterizer< ACellHolder, ACluster >

Implementation of the clustering Clusters elements of a given collection using the relations presented by a neighborhood.

A cluster is essentially a connected subset of all cells that can reach each other by one more relations in a neighborhood. The algorithm is essentially an iterative expansion of the neighborhood relations keeping track of the already used cells by using the CellState of the AutomatonCell.

  • ACellHolder must therefore provide an AutomatonCell accessible by a getAutomatonCell() method. In case the objects you what to cluster do not contain an automaton cell already you may adopt it by using the WithAutomatonCell mixin.
  • ACluster can be anything that is default constructable and supports .insert(end(), ACellHolder*).

Definition at line 40 of file Clusterizer.h.

Member Typedef Documentation

◆ IOTypes

using IOTypes = std::tuple<AIOTypes...>
inherited

Types that should be served to apply on invocation.

Definition at line 30 of file Findlet.h.

◆ IOVectors

using IOVectors = std::tuple< std::vector<AIOTypes>... >
inherited

Vector types that should be served to apply on invocation.

Definition at line 53 of file Findlet.h.

◆ Super

using Super = ProcessingSignalListener
privateinherited

Type of the base class.

Definition at line 25 of file CompositeProcessingSignalListener.h.

◆ ToVector

using ToVector = typename ToVectorImpl<T>::Type
protectedinherited

Short hand for ToRangeImpl.

Definition at line 49 of file Findlet.h.

Member Function Documentation

◆ addProcessingSignalListener()

void addProcessingSignalListener ( ProcessingSignalListener psl)
protectedinherited

Register a processing signal listener to be notified.

Definition at line 55 of file CompositeProcessingSignalListener.cc.

56{
58}
std::vector< ProcessingSignalListener * > m_subordinaryProcessingSignalListeners
References to subordinary signal processing listener contained in this findlet.

◆ apply()

void apply ( std::vector< ACellHolder * > const &  cellHolders,
std::vector< WeightedRelation< ACellHolder > > const &  cellHolderRelations,
std::vector< ACluster > &  clusters 
)
inlineoverride

Creates the clusters.

Repeatedly expands a neighborhood of referenced objects that have an AutomatonCell. The CellState after the clusterization is the index of the generated cluster. The CellWeight is set to the total number of neighbors of each cell.

Parameters
cellHoldersPointers to objects that should be clustered.
cellHolderRelationsRelations between the objects that should be clustered
[out]clustersGroups of connected objects in the neighborhood.

Definition at line 54 of file Clusterizer.h.

57 {
58 // Expect the relations to be sorted for lookup
59 assert(std::is_sorted(cellHolderRelations.begin(),
60 cellHolderRelations.end()));
61
62 // Prepare some output clusters
63 clusters.reserve(30);
64
65 // Prepare states
66 for (ACellHolder* cellHolder : cellHolders) {
67 setCellState(cellHolder, -1);
68 }
69
70 // Work horse cluster
71 std::vector<ACellHolder*> cluster;
72
73 // Go through each cell holder and start a cluster on each that is unassigned yet
74 int iCluster = -1;
75 for (ACellHolder* cellHolder : cellHolders) {
76 if (getCellState(cellHolder) != -1) continue;
77
78 cluster.clear();
79
80 ++iCluster;
81 setCellState(cellHolder, iCluster);
82 cluster.push_back(cellHolder);
83
84 expandCluster(cellHolderRelations, cluster);
85
86 clusters.emplace_back(std::move(cluster));
87 cluster.clear();
88 }
89 }
void expandCluster(std::vector< WeightedRelation< ACellHolder > > const &cellHolderRelations, std::vector< ACellHolder * > &cluster) const
Helper function. Starting a new cluster and iteratively expands it.
Definition: Clusterizer.h:93
void setCellState(ACellHolder *cellHolder, Weight cellState) const
Setter for the cell state of a pointed object that holds an AutomatonCell.
Definition: Clusterizer.h:149
Weight getCellState(ACellHolder *cellHolder) const
Getter for the cell state of a pointed object that holds an AutomatonCell.
Definition: Clusterizer.h:156

◆ beginEvent()

void beginEvent ( )
overridevirtualinherited

Receive and dispatch signal for the start of a new event.

Reimplemented from ProcessingSignalListener.

Reimplemented in SpacePointTagger< Belle2::CKFToPXDResult, Belle2::PXDCluster >, SpacePointTagger< Belle2::CKFToSVDResult, Belle2::SVDCluster >, BaseEventTimeExtractor< RecoTrack * >, BaseEventTimeExtractor< TrackFindingCDC::CDCWireHit & >, SharingHitsMatcher< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCSegment2D >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, RecoTrackStorer, ROIFinder, and SVDHoughTracking.

Definition at line 31 of file CompositeProcessingSignalListener.cc.

32{
35 psl->beginEvent();
36 }
37}
Interface for an algorithm part that needs to receive the module processing signals.
virtual void beginEvent()
Receive signal for the start of a new event.

◆ beginRun()

void beginRun ( )
overridevirtualinherited

Receive and dispatch signal for the beginning of a new run.

Reimplemented from ProcessingSignalListener.

Reimplemented in LayerRelationFilter< AFilter >, FourHitFilter, QualityIndicatorFilter, ThreeHitFilter, TwoHitVirtualIPFilter, TwoHitVirtualIPQIFilter, RecoTrackStorer, ROIFinder, SpacePointLoaderAndPreparer, and TrackCandidateResultRefiner.

Definition at line 23 of file CompositeProcessingSignalListener.cc.

24{
27 psl->beginRun();
28 }
29}
virtual void beginRun()
Receive signal for the beginning of a new run.

◆ endRun()

void endRun ( )
overridevirtualinherited

Receive and dispatch signal for the end of the run.

Reimplemented from ProcessingSignalListener.

Definition at line 39 of file CompositeProcessingSignalListener.cc.

40{
42 psl->endRun();
43 }
45}
virtual void endRun()
Receive signal for the end of the run.

◆ expandCluster()

void expandCluster ( std::vector< WeightedRelation< ACellHolder > > const &  cellHolderRelations,
std::vector< ACellHolder * > &  cluster 
) const
inlineprivate

Helper function. Starting a new cluster and iteratively expands it.

Definition at line 93 of file Clusterizer.h.

95 {
96 ACellHolder* seedCellHolder = cluster.front();
97 int iCluster = getCellState(seedCellHolder);
98
99 // Grow the cluster iteratively
100 std::vector<ACellHolder*> checkNow;
101 std::vector<ACellHolder*> checkNext;
102
103 checkNow.reserve(10);
104 checkNext.reserve(10);
105
106 checkNext.push_back(seedCellHolder);
107
108 while (not checkNext.empty()) {
109
110 checkNow.swap(checkNext);
111 checkNext.clear();
112
113 for (ACellHolder* cellHolder : checkNow) {
114
115 ConstVectorRange<WeightedRelation<ACellHolder> > neighborRelations(
116 std::equal_range(cellHolderRelations.begin(),
117 cellHolderRelations.end(),
118 cellHolder));
119
120 // Setting the cell weight to the number of neighbors
121 size_t nNeighbors = neighborRelations.size();
122 setCellWeight(cellHolder, nNeighbors);
123
124 for (const WeightedRelation<ACellHolder>& neighborRelation : neighborRelations) {
125 ACellHolder* neighborCellHolder = neighborRelation.getTo();
126
127 Weight neighborICluster = getCellState(neighborCellHolder);
128 if (neighborICluster == -1) {
129 // Neighbor not yet in cluster
130 setCellState(neighborCellHolder, iCluster);
131 cluster.push_back(neighborCellHolder);
132
133 // Register neighbor for further expansion
134 checkNext.push_back(neighborCellHolder);
135 continue;
136 }
137
138 if (neighborICluster != iCluster) {
139 B2WARNING("Clusterizer: Neighboring item was already assigned to different "
140 "cluster. Check if the neighborhood is symmetric.");
141 continue;
142 }
143 }
144 }
145 }
146 }
void setCellWeight(ACellHolder *cellHolder, Weight cellWeight) const
Setter for the cell weight of a pointed object that holds an AutomatonCell.
Definition: Clusterizer.h:163

◆ exposeParameters()

virtual void exposeParameters ( ModuleParamList moduleParamList,
const std::string &  prefix 
)
inlinevirtualinherited

Forward prefixed parameters of this findlet to the module parameter list.

Reimplemented in CKFRelationCreator< AState, ASeedRelationFilter, AHitRelationFilter >, CKFRelationCreator< Belle2::CKFToPXDState, Belle2::LayerPXDRelationFilter >, CKFRelationCreator< Belle2::CKFToSVDState, Belle2::LayerSVDRelationFilter >, LayerToggledApplier< AState, AFindlet >, OverlapResolver< AFilter >, OverlapResolver< Belle2::TrackFindingCDC::ChooseableFilter >, StateCreatorWithReversal< AState >, StateCreatorWithReversal< Belle2::CKFToPXDState >, StateCreatorWithReversal< Belle2::CKFToSVDState >, StateRejecter< AState, AFilter >, TreeSearcher< AState, AStateRejecter, AResult >, TreeSearcher< Belle2::CKFToPXDState, Belle2::StateRejecter, Belle2::CKFToPXDResult >, TreeSearcher< Belle2::CKFToSVDState, Belle2::StateRejecter, Belle2::CKFToSVDResult >, RecoTrackRelator, RelationApplier, RelationFromSVDTracksCreator, CosmicsTrackMergerFindlet, AxialStraightTrackFinder, AxialTrackFinderHough, AxialTrackFinderLegendre, ClusterPreparer, MonopoleAxialTrackFinderLegendre, MonopoleStereoHitFinder, MonopoleStereoHitFinderQuadratic, SegmentFinderFacetAutomaton, SegmentTrackCombiner, StereoHitFinder, TrackFinderSegmentPairAutomaton, TrackFinderSegmentTripleAutomaton, TrackQualityEstimator, WireHitPreparer, AsicBackgroundLibraryCreator, TrackFinder, TrackFinderAutomaton, TreeTraversal< AStateRejecter, AState, AResult >, WeightedTreeTraversal< AStateRejecter, AState, AResult >, AsicBackgroundDetector, AxialSegmentPairCreator, AxialStraightTrackCreator, AxialTrackCreatorHitHough, AxialTrackCreatorHitLegendre, AxialTrackCreatorMCTruth, AxialTrackCreatorSegmentHough, AxialTrackHitMigrator, AxialTrackMerger, ClusterBackgroundDetector, ClusterRefiner< AWireHitRelationFilter >, ClusterRefiner< BridgingWireHitRelationFilter >, ClusterRefiner< Belle2::TrackFindingCDC::BridgingWireHitRelationFilter >, FacetCreator, SegmentAliasResolver, SegmentCreatorFacetAutomaton, SegmentCreatorMCTruth, SegmentLinker, SegmentOrienter, SegmentPairCreator, SegmentRejecter, SegmentTripleCreator, SuperClusterCreator, TrackCombiner, TrackCreatorSegmentPairAutomaton, TrackCreatorSegmentTripleAutomaton, TrackCreatorSingleSegments, TrackExporter, TrackInspector, TrackLinker, TrackOrienter, TrackQualityAsserter, TrackRejecter, WeightedRelationCreator< AObject, ARelationFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::WithAutomatonCell, Belle2::PhiRecoTrackRelationFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCFacet, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCSegment2D, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCSegmentPair, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCSegmentTriple, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::ChooseableFilter >, WireHitBackgroundBlocker, WireHitBackgroundDetector, WireHitCreator, WireHitMCMultiLoopBlocker, PathLengthToggledApplier< AHit, AFindlet >, RelationCreator< AHit, ARelationFilter >, RelationCreator< AHit, Belle2::vxdHoughTracking::LayerRelationFilter >, RelationCreator< Belle2::vxdHoughTracking::VXDHoughState, Belle2::vxdHoughTracking::LayerRelationFilter >, SVDHoughTrackingTreeSearcher< AHit, APathFilter, AResult >, SVDHoughTrackingTreeSearcher< AHit, Belle2::vxdHoughTracking::PathLengthToggledApplier, Result >, SVDHoughTrackingTreeSearcher< Belle2::vxdHoughTracking::VXDHoughState, Belle2::vxdHoughTracking::PathLengthToggledApplier, Result >, CDCCKFDuplicateRemover, CDCCKFEclSeedCreator, CDCCKFPathSelector, CDCCKFResultFinalizer, CDCCKFResultStorer, CDCCKFStateCreator, CDCCKFStateFilter, CKFToCDCFindlet, CKFToCDCFromEclFindlet, StackTreeSearcher, LimitedOnStateApplier< AState, AFilter >, ResultStorer< AResult >, ResultStorer< Belle2::CKFToPXDResult >, ResultStorer< Belle2::CKFToSVDResult >, SpacePointTagger< AResult, ACluster >, SpacePointTagger< Belle2::CKFToPXDResult, Belle2::PXDCluster >, SpacePointTagger< Belle2::CKFToSVDResult, Belle2::SVDCluster >, TrackLoader, CKFToPXDFindlet, CKFToSVDFindlet, CKFToSVDSeedFindlet, SpacePointLoader, DATCONFPGAFindlet, DATCONSVDClusterizer, DATCONSVDClusterLoaderAndPreparer, FastInterceptFinder2DFPGA, ROICalculator, SVDShaperDigitConverter, ToPXDExtrapolator, BaseEventTimeExtractor< AIOTypes >, BaseEventTimeExtractor< RecoTrack * >, BaseEventTimeExtractor< TrackFindingCDC::CDCWireHit & >, IterativeEventTimeExtractor< AFindlet >, IterativeEventTimeExtractor< Chi2BasedEventTimeExtractor >, IterativeEventTimeExtractor< DriftLengthBasedEventTimeExtractor >, MCVXDCDCTrackMergerFindlet, StoreArrayMerger, StereoHitTrackQuadTreeMatcher< AQuadTree >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre >, CutSelector< ACollectorItem, ACollectionItem >, CutSelector< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCSegment2D >, FilterSelector< ACollectorItem, ACollectionItem, AFilter >, FilterSelector< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCRLWireHit, Belle2::TrackFindingCDC::ChooseableFilter< Belle2::TrackFindingCDC::StereoHitFilterFactory > >, FilterSelector< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCSegment2D, Belle2::TrackFindingCDC::ChooseableFilter< Belle2::TrackFindingCDC::SegmentTrackFilterFactory > >, SingleMatchSelector< ACollectorItem, ACollectionItem, AComparer >, SingleMatchSelector< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCRLWireHit, Belle2::TrackFindingCDC::BinaryJoin >, SingleMatchSelector< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCRecoHit3D, Belle2::TrackFindingCDC::BinaryJoin >, SingleMatchSelector< Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::CDCSegment2D >, StoreArrayLoader< IOType >, StoreArrayLoader< const Belle2::SpacePoint >, StoreArrayLoader< DataStoreInputTypeRefType >, StoreVectorSwapper< IOType, a_alwaysWrite >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, SegmentFitter, SegmentTrackAdderWithNormalization, LimitedOnHitApplier< AHit, AFilter >, MultiHoughSpaceFastInterceptFinder, RawTrackCandCleaner< AHit >, RawTrackCandCleaner< Belle2::vxdHoughTracking::VXDHoughState >, RecoTrackStorer, ROIFinder, SingleHoughSpaceFastInterceptFinder, SpacePointLoaderAndPreparer, SVDHoughTracking, TrackCandidateOverlapResolver, TrackCandidateResultRefiner, BaseEventTimeExtractorModuleFindlet< AFindlet >, Chi2BasedEventTimeExtractor, FullGridChi2TrackTimeExtractor, FullGridDriftLengthTrackTimeExtractor, GridEventTimeExtractor< AFindlet >, GridEventTimeExtractor< Belle2::Chi2BasedEventTimeExtractor >, GridEventTimeExtractor< Belle2::DriftLengthBasedEventTimeExtractor >, HitBasedT0Extractor, IterativeChi2BasedEventTimeExtractor, IterativeDriftLengthBasedEventTimeExtractor, TrackSelector, and FindletStoreArrayInput< TWrappedFindlet >.

Definition at line 69 of file Findlet.h.

71 {
72 }

◆ getCellState()

Weight getCellState ( ACellHolder *  cellHolder) const
inlineprivate

Getter for the cell state of a pointed object that holds an AutomatonCell.

Definition at line 156 of file Clusterizer.h.

157 {
158 const AutomatonCell& automatonCell = cellHolder->getAutomatonCell();
159 return automatonCell.getCellState();
160 }

◆ getDescription()

virtual std::string getDescription ( )
inlinevirtualinherited

Brief description of the purpose of the concrete findlet.

Reimplemented in CosmicsTrackMergerFindlet, CDCTrackingEventLevelMdstInfoFillerFromHitsFindlet, CDCTrackingEventLevelMdstInfoFillerFromSegmentsFindlet, AxialStraightTrackFinder, AxialTrackFinderHough, AxialTrackFinderLegendre, ClusterPreparer, MonopoleAxialTrackFinderLegendre, MonopoleStereoHitFinder, MonopoleStereoHitFinderQuadratic, SegmentFinderFacetAutomaton, SegmentTrackCombiner, StereoHitFinder, TrackFinderSegmentPairAutomaton, TrackFinderSegmentTripleAutomaton, TrackQualityEstimator, WireHitPreparer, AsicBackgroundLibraryCreator, TrackFinderCosmics, AsicBackgroundDetector, AxialSegmentPairCreator, AxialStraightTrackCreator, AxialTrackCreatorHitHough, AxialTrackCreatorHitLegendre, AxialTrackCreatorMCTruth, AxialTrackCreatorSegmentHough, AxialTrackHitMigrator, AxialTrackMerger, CDCMCCloneLookUpFiller, ClusterBackgroundDetector, ClusterCreator< AWireHitRelationFilter >, ClusterRefiner< AWireHitRelationFilter >, ClusterRefiner< BridgingWireHitRelationFilter >, ClusterRefiner< Belle2::TrackFindingCDC::BridgingWireHitRelationFilter >, FacetCreator, HitReclaimer, RLTaggedWireHitCreator, SegmentAliasResolver, SegmentCreatorFacetAutomaton, SegmentCreatorMCTruth, SegmentLinker, SegmentOrienter, SegmentPairCreator, SegmentRejecter, SegmentTripleCreator, SuperClusterCreator, TrackCombiner, TrackCreatorSegmentPairAutomaton, TrackCreatorSegmentTripleAutomaton, TrackCreatorSingleSegments, TrackExporter, TrackFlightTimeAdjuster, TrackInspector, TrackLinker, TrackNormalizer, TrackOrienter, TrackRejecter, TrackSZFitter, WeightedRelationCreator< AObject, ARelationFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::WithAutomatonCell, Belle2::PhiRecoTrackRelationFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCFacet, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCSegment2D, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCSegmentPair, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCSegmentTriple, Belle2::TrackFindingCDC::ChooseableFilter >, WeightedRelationCreator< const Belle2::TrackFindingCDC::CDCTrack, Belle2::TrackFindingCDC::ChooseableFilter >, WireHitBackgroundBlocker, WireHitBackgroundDetector, WireHitCreator, WireHitMCMultiLoopBlocker, StoreArrayLoader< IOType >, StoreArrayLoader< const Belle2::SpacePoint >, StoreArrayLoader< DataStoreInputTypeRefType >, StoreVectorSwapper< IOType, a_alwaysWrite >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, TrackFinder, TrackFinderAutomaton, SegmentFitter, SegmentTrackAdderWithNormalization, TrackQualityAsserter, HitBasedT0Extractor, and FindletStoreArrayInput< TWrappedFindlet >.

Definition at line 60 of file Findlet.h.

61 {
62 return "(no description)";
63 }

◆ getNProcessingSignalListener()

int getNProcessingSignalListener ( )
protectedinherited

Get the number of currently registered listeners.

Definition at line 60 of file CompositeProcessingSignalListener.cc.

61{
63}

◆ initialize()

void initialize ( )
overridevirtualinherited

Receive and dispatch signal before the start of the event processing.

Reimplemented from ProcessingSignalListener.

Reimplemented in UnionVarSet< AObject >, UnionVarSet< Object >, VariadicUnionVarSet< AVarSets >, ResultStorer< Belle2::CKFToPXDResult >, ResultStorer< Belle2::CKFToSVDResult >, BaseEventTimeExtractor< RecoTrack * >, BaseEventTimeExtractor< TrackFindingCDC::CDCWireHit & >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre >, OnVarSet< Filter< ATruthVarSet::Object > >, OnVarSet< Filter< AVarSet::Object > >, OnVarSet< BaseFacetFilter >, OnVarSet< BaseFacetRelationFilter >, OnVarSet< BaseAxialSegmentPairFilter >, OnVarSet< BaseSegmentRelationFilter >, OnVarSet< BaseTrackRelationFilter >, OnVarSet< BaseSegmentPairRelationFilter >, MCSymmetric< BaseAxialSegmentPairFilter >, MCSymmetric< BaseFacetFilter >, MCSymmetric< BaseFacetRelationFilter >, MCSymmetric< BaseSegmentPairFilter >, MCSymmetric< BaseSegmentPairRelationFilter >, MCSymmetric< BaseSegmentRelationFilter >, MCSymmetric< BaseSegmentTripleFilter >, MCSymmetric< BaseSegmentTripleRelationFilter >, MCSymmetric< BaseTrackRelationFilter >, StoreArrayLoader< const Belle2::SpacePoint >, StoreArrayLoader< DataStoreInputTypeRefType >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCFacet >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCWireHit, true >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegment2D >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCTrack >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentPair >, StoreVectorSwapper< Belle2::TrackFindingCDC::CDCSegmentTriple >, RelationVarSet< ABaseVarSet >, QualityIndicatorFilter, TwoHitVirtualIPQIFilter, MultiHoughSpaceFastInterceptFinder, RawTrackCandCleaner< AHit >, RawTrackCandCleaner< Belle2::vxdHoughTracking::VXDHoughState >, RecoTrackStorer, ROIFinder, SingleHoughSpaceFastInterceptFinder, SpacePointLoaderAndPreparer, TrackCandidateOverlapResolver, and TrackCandidateResultRefiner.

Definition at line 15 of file CompositeProcessingSignalListener.cc.

16{
19 psl->initialize();
20 }
21}
virtual void initialize()
Receive signal before the start of the event processing.

◆ setCellState()

void setCellState ( ACellHolder *  cellHolder,
Weight  cellState 
) const
inlineprivate

Setter for the cell state of a pointed object that holds an AutomatonCell.

Definition at line 149 of file Clusterizer.h.

150 {
151 AutomatonCell& automatonCell = cellHolder->getAutomatonCell();
152 automatonCell.setCellState(cellState);
153 }

◆ setCellWeight()

void setCellWeight ( ACellHolder *  cellHolder,
Weight  cellWeight 
) const
inlineprivate

Setter for the cell weight of a pointed object that holds an AutomatonCell.

Definition at line 163 of file Clusterizer.h.

164 {
165 AutomatonCell& automatonCell = cellHolder->getAutomatonCell();
166 automatonCell.setCellWeight(cellWeight);
167 }

◆ terminate()

void terminate ( )
overridevirtualinherited

Receive and dispatch Signal for termination of the event processing.

Reimplemented from ProcessingSignalListener.

Reimplemented in StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::HyperHough >, StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::QuadraticLegendre >, and StereoHitTrackQuadTreeMatcher< Belle2::TrackFindingCDC::Z0TanLambdaLegendre >.

Definition at line 47 of file CompositeProcessingSignalListener.cc.

48{
50 psl->terminate();
51 }
53}
virtual void terminate()
Receive Signal for termination of the event processing.

Member Data Documentation

◆ m_initialized

bool m_initialized = false
privateinherited

Flag to keep track whether initialization happened before.

Definition at line 52 of file ProcessingSignalListener.h.

◆ m_initializedAs

std::string m_initializedAs
privateinherited

Name of the type during initialisation.

Definition at line 58 of file ProcessingSignalListener.h.

◆ m_subordinaryProcessingSignalListeners

std::vector<ProcessingSignalListener*> m_subordinaryProcessingSignalListeners
privateinherited

References to subordinary signal processing listener contained in this findlet.

Definition at line 52 of file CompositeProcessingSignalListener.h.

◆ m_terminated

bool m_terminated = false
privateinherited

Flag to keep track whether termination happened before.

Definition at line 55 of file ProcessingSignalListener.h.


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