Template Class TripleFusion
Defined in File triple_fusion.hpp
Inheritance Relationships
Base Type
public otyca::Model< 1 >
(Template Class Model)
Class Documentation
-
template<typename Left, typename Center, typename Right>
class TripleFusion : public otyca::Model<1> A class representing a combination of three components: Left, Center, and Right.
This class combines three components of types Left, Center, and Right to a single model by doing a weighted sum of these three components.
- Template Parameters:
Left – The type of the left component.
Center – The type of the center component.
Right – The type of the right component.
Public Functions
-
template<typename ...LeftArgs, typename ...CenterArgs, typename ...RightArgs>
inline TripleFusion(double left_decay, double left_start, double right_decay, double right_start, std::tuple<LeftArgs...> leftArgs, std::tuple<CenterArgs...> centerArgs, std::tuple<RightArgs...> rightArgs) Constructs a TripleFusion object with specified decay, start values, and arguments for each component.
- Parameters:
left_decay – The decay for the left component.
left_start – The starting value for the left component.
right_decay – The decay for the right component.
right_start – The starting value for the right component.
leftArgs – The arguments for constructing the left component.
centerArgs – The arguments for constructing the center component.
rightArgs – The arguments for constructing the right component.
-
template<typename ...LeftArgs, typename ...CenterArgs, typename ...RightArgs>
inline TripleFusion(std::tuple<LeftArgs...> leftArgs, std::tuple<CenterArgs...> centerArgs, std::tuple<RightArgs...> rightArgs) Constructs a TripleFusion object with arguments for each component.
- Parameters:
leftArgs – The arguments for constructing the left component.
centerArgs – The arguments for constructing the center component.
rightArgs – The arguments for constructing the right component.
-
inline void set_transition(double left_bandwidth, double left_start, double right_bandwidth, double right_start)
Sets the transition values for the left and right components.
- Parameters:
left_bandwidth – The bandwidth for the left component.
left_start – The starting value for the left component.
right_bandwidth – The bandwidth for the right component.
right_start – The starting value for the right component.
-
inline virtual void set_transformed_calibration_parameters(const std::vector<double> &p)
Sets the transformed parameters for the components.
- Parameters:
p – A vector of transformed parameters to set for the components.
-
inline virtual void set_parameters(const std::vector<double> &p)
Set the model’s raw parameters.
- Parameters:
parameters – A vector of new parameter values.
-
inline virtual std::vector<double> get_parameters() const
Retrieves the parameters of the components.
- Returns:
A vector of parameters for the components.
-
inline virtual std::vector<double> get_transformed_calibration_parameters() const
Retrieves the transformed parameters of the components.
- Returns:
A vector of transformed parameters for the components.
-
inline virtual std::vector<double> get_transformed_calibration_parameter_variances() const
Retrieves the transformed parameter variances for the components.
- Returns:
A vector of transformed parameter variances for the components.
-
inline virtual std::string name() const
Returns the name of the TripleFusion object, concatenating the names of the components.
- Returns:
A string representing the name of the TripleFusion object.
-
inline virtual std::vector<double> evaluate(const std::vector<std::array<double, 1>> &x) const
Evaluates the TripleFusion object using the given vector of values.
- Parameters:
x – A vector of input values for the evaluation.
- Returns:
A vector of evaluated values for the TripleFusion object.