21 #ifndef MYGSL_LINEAR_COMBINATION_FUNCTION_H 22 #define MYGSL_LINEAR_COMBINATION_FUNCTION_H 85 virtual void tree_dump(std::ostream & out_ = std::clog,
86 const std::string & title_ =
"",
87 const std::string & indent_ =
"",
88 bool inherit_ =
false)
const;
93 double _eval(
double x_)
const;
107 std::vector<term_type> _terms_;
108 bool _explicit_domain_of_definition_;
109 double _non_zero_domain_min_;
110 double _non_zero_domain_max_;
119 #endif // MYGSL_LINEAR_COMBINATION_FUNCTION_H virtual ~linear_combination_function()
Destructor.
std::size_t add(double weight_, const i_unary_function &)
Add a weighted term.
virtual bool is_initialized() const
Check initialization status.
void change_weight(int term_index_, double weight_)
Change weight.
A linear combination function.
Definition: linear_combination_function.h:37
void reset()
Reset the composite function.
virtual double get_non_zero_domain_min() const
The minimum bound of the non-zero domain (default is minus infinity)
virtual void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart printing.
Abstract interface for unary functions : R -> R.
Definition: i_unary_function.h:44
virtual bool is_in_domain_of_definition(double x_) const
Check if a value is in the explicit domain of definition (default: true)
double _eval(double x_) const
Evaluation.
Top-level namespace of the Bayeux/mygsl module library.
Definition: base_decay_driver.h:47
virtual bool has_explicit_domain_of_definition() const
Check if the function has an explicit domain of definition (default: false)
linear_combination_function()
Default constructor.
std::map< std::string, unary_function_handle_type > unary_function_dict_type
Alias for dictionary of handles to unary function objects.
Definition: unary_function_utils.h:30
void _set_defaults()
Set default attributes values.
#define MYGSL_UNARY_FUNCTOR_REGISTRATION_INTERFACE(UnaryFunctorClass)
Definition: i_unary_function.h:206
virtual double get_non_zero_domain_max() const
The maximum bound of the non-zero domain (default is plus infinity)
virtual void initialize(const datatools::properties &config_, const unary_function_dict_type &functors_)
Initialization from a container of parameters and a dictionary of functors.