32 constexpr double epsilon = 1e-6;
38 [[nodiscard]] std::string
toString()
const override
40 std::ostringstream result;
41 result << std::fixed << std::setprecision(2);
42 result <<
"Parameters: ["
71 void step(
double t,
double deltaT)
override;
72 [[nodiscard]] std::string
toString()
const override;
73 [[nodiscard]] std::shared_ptr<Element>
clone()
const override;
Abstract base class for all simulation elements.
Definition element.h:28
Persistent 2D spatial memory that accumulates and decays field activity.
Definition memory_trace_2d.h:63
void init() override
Initialize the element (called once before the simulation loop).
Definition memory_trace_2d.cpp:16
std::shared_ptr< Element > clone() const override
Definition memory_trace_2d.cpp:45
MemoryTrace2DParameters getParameters() const
Definition memory_trace_2d.cpp:56
void setParameters(const MemoryTrace2DParameters ¶meters)
Definition memory_trace_2d.cpp:50
std::string toString() const override
Definition memory_trace_2d.cpp:37
void step(double t, double deltaT) override
Advance the element by one time step.
Definition memory_trace_2d.cpp:22
Definition element_parameters.h:10
Definition element_parameters.h:188
Definition element_parameters.h:206
Parameters governing MemoryTrace2D build-up and decay dynamics.
Definition memory_trace_2d.h:19
double tauDecay
Time constant for trace decay (ms).
Definition memory_trace_2d.h:21
std::string toString() const override
Definition memory_trace_2d.h:38
bool operator==(const MemoryTrace2DParameters &other) const
Definition memory_trace_2d.h:30
double tauBuild
Time constant for trace accumulation (ms).
Definition memory_trace_2d.h:20
MemoryTrace2DParameters(double tauBuild=100.0, double tauDecay=1000.0, double threshold=0.5)
Definition memory_trace_2d.h:24
double threshold
Minimum input value above which the trace accumulates.
Definition memory_trace_2d.h:22