Belle II Software light-2406-ragdoll
ModuleParamBase.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
9#pragma once
10
11#include <string>
12
13namespace boost {
14 namespace python {
15 namespace api {
16 class object;
17 }
18 using api::object;
19 }
20}
21
22namespace Belle2 {
32
33 public:
41 ModuleParamBase(std::string typeInfo, std::string description, bool force);
42
47
55 const std::string& getTypeInfo() const;
56
62 const std::string& getDescription() const;
63
72 bool isSetInSteering() const;
73
79 bool isForcedInSteering() const;
80
89 virtual void setValueFromPythonObject(const boost::python::object& pyObject) = 0;
90
102 virtual void
103 setValueToPythonObject(boost::python::object& pyObject, bool defaultValues = false) const = 0;
104
106 virtual void setValueFromParam(const ModuleParamBase& param) = 0;
107
108 protected:
110 std::string m_typeInfo;
111
113 std::string m_description;
114
117
120 };
122} // end of Belle2 namespace
Base class for module parameter.
virtual void setValueFromPythonObject(const boost::python::object &pyObject)=0
Pure virtual function.
virtual void setValueToPythonObject(boost::python::object &pyObject, bool defaultValues=false) const =0
Pure virtual function.
const std::string & getDescription() const
Returns the description of the parameter.
virtual ~ModuleParamBase()
Destructor.
const std::string & getTypeInfo() const
Returns the type identifier of the parameter as string.
bool isForcedInSteering() const
Returns true if the parameter has to be set by the user in the steering file.
bool m_forceInSteering
If true the parameter has to be set by the user in the steering file.
std::string m_typeInfo
The type of the parameter stored as string.
bool m_setInSteering
True, if the parameter value was changed in the steering file.
std::string m_description
The (optional) description of the parameter.
virtual void setValueFromParam(const ModuleParamBase &param)=0
Set value from other ModuleParam of same type.
bool isSetInSteering() const
Returns true if the parameter was set in the steering file.
Abstract base class for different kinds of events.
Definition: ClusterUtils.h:24