8#include <tracking/trackFindingCDC/filters/base/FilterParamMap.h>
10#include <tracking/trackFindingCDC/utilities/ParameterVariant.h>
12#include <framework/core/ModuleParamList.templateDetails.h>
13#include <framework/core/ModuleParam.templateDetails.h>
16using namespace TrackFindingCDC;
23 namespace TrackFindingCDC {
24 using FilterParamVariant = boost::variant<bool, int, double, std::string, std::vector<std::string> >;
37 namespace TrackFindingCDC {
60 std::map<std::string, FilterParamVariant>
getValues()
const
74 m_impl(
std::make_unique<
Impl>())
83 m_impl->addParameter(moduleParamList, name, description);
89 m_impl->assignTo(filterModuleParamList);
The Module parameter list class.
A single parameter of the module.
Define the implementation.
std::map< std::string, FilterParamVariant > m_param_filterParameters
Parameter values.
void addParameter(ModuleParamList *moduleParamList, const std::string &name, const std::string &description)
Add name, description and values to the module's parameter list.
void assignTo(ModuleParamList *filterModuleParamList)
Assign values to the module-parameters in the module's list.
std::map< std::string, FilterParamVariant > getValues() const
Retrieve the parameter (name,value) pairs.
~FilterParamMap()
Default destructor.
void addParameter(ModuleParamList *moduleParamList, const std::string &name, const std::string &description)
Create one parameter in the parameter list for the module with the given name and description.
std::unique_ptr< Impl > m_impl
Pointer to implementation hiding the details.
void assignTo(ModuleParamList *filterModuleParamList)
Unpack the map of parameters and forward them to the concrete filter.
FilterParamMap()
Default constructor.
void addParameter(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
Abstract base class for different kinds of events.
static void update(ModuleParamList *moduleParamList, const std::map< std::string, boost::variant< T... > > &valuesByName)
Transfer all the parameters from the map boost:variant values to the module parameter list.