Template Class TripleFusion

Inheritance Relationships

Base Type

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)

set the transformed parameters for calibration.

Parameters:

transformed_calibration_parameters – the transformed calibration parameters

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

Get the model’s raw parameters.

Returns:

A vector containing the model’s parameters.

inline virtual std::vector<double> get_transformed_calibration_parameters() const

get the transformed parameters for calibration.

Returns:

the transformed parameters for calibration

inline virtual std::vector<double> get_transformed_calibration_parameter_variances() const
inline virtual std::string name() const

Get the model’s name.

Returns:

A string representing the name of the model.

inline virtual std::vector<double> evaluate(const std::vector<std::array<double, 1>> &x) const

Public Members

Left _left

The left component.

Center _center

The center component.

Right _right

The right component.