#ifndef RewardGenerator2_H_
#define RewardGenerator2_H_
#include "SimObject.h"
#include "SpikeSender.h"
class RewardGenerator2 : public SimObject, public SingleOutputSpikeSender
{
SIMOBJECT( RewardGenerator2, AdvancePhase::One )
public:
RewardGenerator2();
virtual ~RewardGenerator2();
virtual int reset(double dt);
virtual int advance( AdvanceInfo const& );
virtual int spikeHit( spikeport_t port, SpikeEvent const& spike );
virtual double getAnalogOutput(analog_port_id_t port = 0) const;
virtual void setAnalogInput(double value, analog_port_id_t port = 0);
virtual int nSpikeInputPorts() const;
virtual int nAnalogOutputPorts() const;
virtual int nAnalogInputPorts() const;
virtual PortType outputPortType(port_t p) const;
virtual PortType inputPortType(port_t p) const;
bool isActive;
protected:
double reward;
double instRate1;
double instRate2;
};
#endif /*RewardGenerator2_H_*/