Belle II Software
release-08-01-10
|
A generic matcher algorithm which outputs all combinations of elements with the number of shared hits as a weight. More...
#include <SharingHitsMatcher.h>
Public Types | |
using | WeightedRelationItem = WeightedRelation< ACollectorItem, const ACollectionItem > |
Shortcut class name for a weighted relation between a collector item and a collection item. | |
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 | |
void | beginEvent () override |
Clear the hit lookup in every event. | |
void | apply (std::vector< ACollectorItem > &collectorItems, const std::vector< ACollectionItem > &collectionItems, std::vector< typename Super::WeightedRelationItem > &weightedRelations) override |
Call the apply function of the super class - but before fill the hit lookup. | |
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
Main function executing the algorithm. | |
virtual std::string | getDescription () |
Brief description of the purpose of the concret findlet. | |
virtual void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) |
Forward prefixed parameters of this findlet to the module parameter list. | |
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 | |
virtual Weight | match (ACollectorItem &collectorItem, const ACollectionItem &collectionItem) |
Override this function to implement your own matching algorithm between one collector and one collection items. More... | |
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 = MatcherInterface< ACollectorItem, ACollectionItem > |
The parent class. | |
Private Member Functions | |
void | match (ACollectorItem &collectorItem, const std::vector< ACollectionItem > &collectionItems, std::vector< typename Super::WeightedRelationItem > &relationsForCollector) override |
Output the number of shared hits - the rest of the logic (relation creation etc.) is handled by the parent class. | |
Private Attributes | |
std::multimap< const CDCWireHit *, const ACollectionItem * > | m_hitLookup |
association of CDCWireHits with a generic collection item | |
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. | |
A generic matcher algorithm which outputs all combinations of elements with the number of shared hits as a weight.
It does only use those collection items, which do not have a taken flag.
Definition at line 32 of file SharingHitsMatcher.h.
|
inlineprotectedvirtualinherited |
Override this function to implement your own matching algorithm between one collector and one collection items.
If you override this function, you just have to return a weight - the rest of the logic is handled by the MatcherInterface class.
Definition at line 82 of file MatcherInterface.h.