9#ifndef SVZERODSOLVER_MODEL_ACTIVATIONFUNCTION_HPP_
10#define SVZERODSOLVER_MODEL_ACTIVATIONFUNCTION_HPP_
50 const std::vector<std::pair<std::string, InputParameter>>&
82 const std::string& type_str,
double cardiac_period);
119 double compute(
double time)
override;
156 double compute(
double time)
override;
194 normalization_factor_(1.0),
195 normalization_initialized_(
false) {}
197 double compute(
double time)
override;
202 void calculate_normalization_factor();
204 double normalization_factor_;
205 bool normalization_initialized_;
235 double compute(
double time)
override;
260 double compute(
double time)
override;
286 normalization_initialized_(
false) {}
288 double compute(
double time)
override;
292 void calculate_normalization();
293 double compute_raw(
double t_in_cycle)
const;
297 bool normalization_initialized_;
328 double compute(
double time)
override;
ActivationSignalType
Type of signal an ActivationFunction produces.
Definition ActivationFunction.h:27
@ normalized
f(t) in [0, 1], used by most activation functions
Definition ActivationFunction.h:28
@ rate
Definition ActivationFunction.h:29
model::Parameter source file
Common base for chamber sub-components configured from input parameters.
static std::unique_ptr< ActivationFunction > create_default(const std::string &type_str, double cardiac_period)
Create a default activation function from activation function type.
Definition ActivationFunction.cpp:21
double cardiac_period_
Time duration of one cardiac cycle.
Definition ActivationFunction.h:88
virtual double compute(double time)=0
Compute activation value at given time.
virtual ActivationSignalType signal_type() const
Type of signal this activation function's compute() produces.
Definition ActivationFunction.h:69
ActivationFunction(double cardiac_period, const std::vector< std::pair< std::string, InputParameter > > &input_param_properties)
Construct activation function.
Definition ActivationFunction.cpp:14
DoubleTanhActivation(double cardiac_period)
Construct with default parameter values (loader fills via set_param).
Definition ActivationFunction.h:230
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:153
FourierActivation(double cardiac_period)
Construct a new FourierActivation object.
Definition ActivationFunction.h:282
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:238
void finalize() override
Called once after all parameters have been read from the input file (e.g. by the loader).
Definition ActivationFunction.cpp:236
HalfCosineActivation(double cardiac_period)
Construct with default parameter values (loader fills via set_param).
Definition ActivationFunction.h:115
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:50
ParameterHolder(const std::vector< std::pair< std::string, InputParameter > > &props)
Construct a ParameterHolder.
Definition ParameterHolder.cpp:5
const std::vector< std::pair< std::string, InputParameter > > input_param_properties
Properties of the input parameters for this component [(name, InputParameter), ......
Definition ParameterHolder.h:32
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:68
PiecewiseCosineActivation(double cardiac_period)
Construct with default parameter values (loader fills via set_param).
Definition ActivationFunction.h:149
void finalize() override
Called once after all parameters have been read from the input file (e.g. by the loader).
Definition ActivationFunction.cpp:252
ActivationSignalType signal_type() const override
Type of signal this activation function's compute() produces.
Definition ActivationFunction.h:332
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:281
PiecewiseRateActivation(double cardiac_period)
Construct a new PiecewiseRateActivation object.
Definition ActivationFunction.h:323
TwoHillActivation(double cardiac_period)
Construct with default parameter values (loader fills via set_param).
Definition ActivationFunction.h:188
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:131
void finalize() override
Called once after all parameters have been read from the input file (e.g. by the loader).
Definition ActivationFunction.cpp:129
WrappingCosineActivation(double cardiac_period)
Construct a new WrappingCosineActivation object.
Definition ActivationFunction.h:256
double compute(double time) override
Compute activation value at given time.
Definition ActivationFunction.cpp:173