Belle II Software development
FilterParamMap.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10// #include <boost/variant/variant_fwd.hpp>
11
12// #include <map>
13// #include <vector>
14#include <string>
15#include <memory>
16
17namespace Belle2 {
22 class ModuleParamList;
23 namespace TrackFindingCDC {
25 // using FilterParamVariant = boost::variant<bool, int, double, std::string, std::vector<std::string> >;
26
42
43 public:
46
49
51 void
52 addParameter(ModuleParamList* moduleParamList, const std::string& name, const std::string& description);
53
55 void assignTo(ModuleParamList* filterModuleParamList);
56
58 // std::map<std::string, FilterParamVariant> getValues() const;
59
60 private:
62 class Impl;
63
65 std::unique_ptr<Impl> m_impl;
66 };
67 }
69}
The Module parameter list class.
Variant of types allowed to be forwarded to a filter selected at runtime.
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.
Abstract base class for different kinds of events.