10#include <tracking/trackFindingCDC/utilities/CompositeProcessingSignalListener.h>
21 class ModuleParamList;
23 namespace TrackFindingCDC {
25 template<
class ... AIOTypes>
37 using Type = std::vector<typename std::remove_reference<T>::type>;
44 using Type =
const std::vector<typename std::remove_reference<T>::type>;
53 using IOVectors = std::tuple< std::vector<AIOTypes>... >;
62 return "(no description)";
70 const std::string& prefix __attribute__((unused)))
The Module parameter list class.
Partial implementation for an algorithm part that wants to dispatch processing signals to subobjects.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
virtual void apply(ToVector< AIOTypes > &... ioVectors)=0
Main function executing the algorithm.
std::tuple< std::vector< AIOTypes >... > IOVectors
Vector types that should be served to apply on invocation.
virtual ~Findlet()=default
Make destructor of interface virtual.
std::tuple< AIOTypes... > IOTypes
Types that should be served to apply on invocation.
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.
typename ToVectorImpl< T >::Type ToVector
Short hand for ToRangeImpl.
Abstract base class for different kinds of events.
const std::vector< typename std::remove_reference< T >::type > Type
An immutable range of Ts.
Forward a range of mutable objects.
std::vector< typename std::remove_reference< T >::type > Type
A mutable range of Ts.