#include "RewardGeneratorAdder.h"
RewardGeneratorAdder::RewardGeneratorAdder()
{}
RewardGeneratorAdder::~RewardGeneratorAdder()
{
}
int RewardGeneratorAdder::reset(double dt)
{
rateSum = 0;
reward = 0;
return 0;
}
int RewardGeneratorAdder::advance( AdvanceInfo const& )
{
reward = rateSum;
rateSum = 0;
return 0;
}
int RewardGeneratorAdder::spikeHit( spikeport_t port, SpikeEvent const& spike )
{
return 0;
}
double RewardGeneratorAdder::getAnalogOutput(analog_port_id_t port ) const
{
return reward;
}
//! Analog input to given port
void RewardGeneratorAdder::setAnalogInput(double value, analog_port_id_t port)
{
rateSum += value;
}
int RewardGeneratorAdder::nSpikeInputPorts() const
{
return 0;
}
int RewardGeneratorAdder::nAnalogInputPorts() const
{
return 1000;
}
int RewardGeneratorAdder::nAnalogOutputPorts() const
{
return 1;
}
SimObject::PortType RewardGeneratorAdder::outputPortType(port_t p) const
{
if (p < 1)
return analog;
return undefined;
}
SimObject::PortType RewardGeneratorAdder::inputPortType(port_t p) const
{
if (p < 1000)
return analog;
return undefined;
}