10 #include <tracking/ckf/general/findlets/CKFRelationCreator.dcl.h>
11 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
13 #include <tracking/trackFindingCDC/filters/base/RelationFilterUtil.h>
14 #include <tracking/trackFindingCDC/utilities/Algorithms.h>
21 template<
class AState,
class ASeedRelationFilter,
class AHitRelationFilter>
24 template<
class AState,
class ASeedRelationFilter,
class AHitRelationFilter>
31 template<
class AState,
class ASeedRelationFilter,
class AHitRelationFilter>
33 const std::string& prefix)
35 m_seedFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"seed", prefix));
36 m_hitFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"hit", prefix));
39 template<
class AState,
class ASeedRelationFilter,
class AHitRelationFilter>
41 std::vector<AState>& states,
44 const std::vector<AState*> seedStatePointers = TrackFindingCDC::as_pointers<AState>(seedStates);
45 const std::vector<AState*> statePointers = TrackFindingCDC::as_pointers<AState>(states);
48 relations.reserve(10000);
ASeedRelationFilter m_seedFilter
Subfindlet for the relation checking between seed and hits.
AHitRelationFilter m_hitFilter
Subfindlet for the relation checking between hits and hits.
The Module parameter list class.
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
Type for two related objects with a weight.
CKFRelationCreator()
Construct this findlet and add the subfindlet as listener.
~CKFRelationCreator()
Default destructor.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters of the subfindlet.
void apply(std::vector< AState > &seedStates, std::vector< AState > &states, std::vector< TrackFindingCDC::WeightedRelation< AState >> &relations) override
Apply both filters for creating state-hit and hit-hit relations.
Abstract base class for different kinds of events.
static void appendUsing(ARelationFilter &relationFilter, const std::vector< AObject * > &froms, const std::vector< AObject * > &tos, std::vector< WeightedRelation< AObject >> &weightedRelations, unsigned int maximumNumberOfRelations=std::numeric_limits< unsigned int >::max())
Appends relations between elements in the given AItems using the ARelationFilter.