27 constexpr double epsilon = 1e-6;
32 [[nodiscard]] std::string
toString()
const override
34 std::ostringstream result;
35 result << std::fixed << std::setprecision(2);
36 result <<
"Parameters: ["
38 <<
"IsActive: " << (
isActive ?
"true" :
"false")
64 void step(
double t,
double deltaT)
override;
65 std::string
toString()
const override;
66 std::shared_ptr<Element>
clone()
const override;
Spatially uniform (homogeneous) input stimulus.
Definition boost_stimulus.h:53
void step(double t, double deltaT) override
Advance the element by one time step.
Definition boost_stimulus.cpp:20
std::shared_ptr< Element > clone() const override
Definition boost_stimulus.cpp:34
BoostStimulusParameters getParameters() const
Definition boost_stimulus.cpp:46
std::string toString() const override
Definition boost_stimulus.cpp:26
void setParameters(const BoostStimulusParameters ¶meters)
Definition boost_stimulus.cpp:40
void init() override
Initialize the element (called once before the simulation loop).
Definition boost_stimulus.cpp:14
Abstract base class for all simulation elements.
Definition element.h:28
Definition element_parameters.h:10
Parameters for a spatially homogeneous boost stimulus.
Definition boost_stimulus.h:14
double amplitude
Uniform input value applied across the entire field.
Definition boost_stimulus.h:15
std::string toString() const override
Definition boost_stimulus.h:32
bool isActive
If false, the stimulus outputs zero regardless of amplitude.
Definition boost_stimulus.h:16
BoostStimulusParameters(const double amplitude=5.0, const bool isActive=true)
Construct a BoostStimulus parameter set.
Definition boost_stimulus.h:21
bool operator==(const BoostStimulusParameters &other) const
Definition boost_stimulus.h:25
Definition element_parameters.h:188
Definition element_parameters.h:206