Class ModelBase

Inheritance Relationships

Derived Types

Class Documentation

class ModelBase

Abstract base class for parametric models supporting calibration.

This class provides a generic interface for models that expose parameter access, transformation for calibration, and other utilities like parameter naming and printing.

Subclassed by otyca::Model< 1 >, otyca::Model< 2 >, otyca::Model< N >, otyca::TimeChangeProcess

Public Functions

virtual std::vector<double> get_parameters() const = 0

Get the model’s raw parameters.

Returns:

A vector containing the model’s parameters.

virtual void set_parameters(const std::vector<double> &parameters) = 0

Set the model’s raw parameters.

Parameters:

parameters – A vector of new parameter values.

inline virtual void set_transformed_calibration_parameters(const std::vector<double> &transformed_calibration_parameters)

set the transformed parameters for calibration.

Parameters:

transformed_calibration_parameters – the transformed calibration 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 void set_calibration_parameters(const std::vector<double> &calibration_parameters)

set the calibration parameters.

Parameters:

calibration_parameters – the calibration parameters

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

get the parameters for calibration.

Returns:

the parameters for calibration

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

Get derivatives of the transformation with respect to the raw parameters.

Used for Jacobian computation during calibration.

Returns:

A vector of derivatives (default: all 1).

inline virtual std::vector<std::string> get_parameter_names() const

Get the names of the model parameters.

Default implementation assigns names as “p1”, “p2”, etc.

Returns:

A vector of parameter names.

virtual std::string name() const = 0

Get the model’s name.

Returns:

A string representing the name of the model.

inline virtual std::ostream &print(std::ostream &out) const

Print model parameters and names to an output stream.

Prints parameter names followed by values, comma-separated.

Parameters:

out – The output stream to write to.

Returns:

The modified output stream.