Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IDataMutator< T, U, V > Class Template Referenceabstract

Interface for mutating parameters or changing their mode. More...

#include <IDataMutator.h>

Public Member Functions

virtual ~IDataMutator ()=default
 Virtual destructor for interface.
 
virtual void mutate (const T &, U)=0
 Mutates the value of a parameter.
 
virtual void change_mode (const T &, V)=0
 Changes the operational mode of a parameter.
 

Detailed Description

template<typename T, typename U, typename V>
class IDataMutator< T, U, V >

Interface for mutating parameters or changing their mode.

This is a generic interface that decouples the notion of “what” is mutated from “how” the mutation is implemented.

Typical template arguments are:

  • T : an identifier type (e.g. ParamId),
  • U : a value type (e.g. scalar_t),
  • V : a mode type (e.g. ParameterMode).

Concrete implementations can then decide whether they:

Template Parameters
TThe parameter ID type.
UThe type of the value to set (e.g., scalar).
VThe type of the mode to apply (e.g., ParameterMode).

Definition at line 70 of file IDataMutator.h.

Constructor & Destructor Documentation

◆ ~IDataMutator()

template<typename T , typename U , typename V >
virtual IDataMutator< T, U, V >::~IDataMutator ( )
virtualdefault

Virtual destructor for interface.

Member Function Documentation

◆ change_mode()

template<typename T , typename U , typename V >
virtual void IDataMutator< T, U, V >::change_mode ( const T ,
V   
)
pure virtual

Changes the operational mode of a parameter.

Typical modes are represented by an enum (e.g. ParameterMode), and control how the parameter behaves in fits, scans, or updates.

Parameters
param_idThe identifier of the parameter.
new_modeThe new mode to assign.

Implemented in ParameterSetter, and ParameterShifter.

◆ mutate()

template<typename T , typename U , typename V >
virtual void IDataMutator< T, U, V >::mutate ( const T ,
 
)
pure virtual

Mutates the value of a parameter.

Implementations are free to interpret new_value as:

  • an absolute replacement (e.g. set to new_value),
  • a relative shift (e.g. add new_value),
  • or something more elaborate, depending on their semantics.
Parameters
param_idThe identifier of the parameter to modify.
new_valueThe new value to apply (interpretation is implementation-dependent).

Implemented in ParameterSetter, and ParameterShifter.


The documentation for this class was generated from the following file: