Belle II Software  release-08-01-10
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 
17 namespace 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 desciption.
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.