31 constexpr double epsilon = 1e-6;
37 [[nodiscard]] std::string
toString()
const override
39 std::ostringstream result;
40 result << std::fixed << std::setprecision(2);
41 result <<
"Parameters: ["
71 void step(
double t,
double deltaT)
override;
72 std::string
toString()
const override;
73 std::shared_ptr<Element>
clone()
const override;
Abstract base class for all simulation elements.
Definition element.h:28
Persistent spatial memory that accumulates and decays field activity.
Definition memory_trace.h:60
MemoryTraceParameters getParameters() const
Definition memory_trace.cpp:54
std::shared_ptr< Element > clone() const override
Definition memory_trace.cpp:43
void setParameters(const MemoryTraceParameters ¶meters)
Definition memory_trace.cpp:49
void init() override
Initialize the element (called once before the simulation loop).
Definition memory_trace.cpp:14
void step(double t, double deltaT) override
Advance the element by one time step.
Definition memory_trace.cpp:20
std::string toString() const override
Definition memory_trace.cpp:35
Definition element_parameters.h:10
Definition element_parameters.h:188
Definition element_parameters.h:206
Parameters governing MemoryTrace build-up and decay dynamics.
Definition memory_trace.h:15
std::string toString() const override
Definition memory_trace.h:37
double tauBuild
Time constant for trace accumulation (ms); smaller = faster build.
Definition memory_trace.h:16
MemoryTraceParameters(const double tauBuild=100.0, const double tauDecay=1000.0, const double threshold=0.5)
Construct MemoryTrace parameters.
Definition memory_trace.h:24
bool operator==(const MemoryTraceParameters &other) const
Definition memory_trace.h:29
double threshold
Minimum input value above which the trace accumulates.
Definition memory_trace.h:18
double tauDecay
Time constant for trace decay (ms); larger = longer retention.
Definition memory_trace.h:17