AnalogLevelBasedInputNeuron Class Reference

Input neuron where the analog input signal is composed of muliple constant levels with different durations. More...

#include <AnalogLevelBasedInputNeuron.h>

Inheritance diagram for AnalogLevelBasedInputNeuron:

Inheritance graph
[legend]
Collaboration diagram for AnalogLevelBasedInputNeuron:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AnalogLevelBasedInputNeuron ()
 AnalogLevelBasedInputNeuron (const std::vector< double > &levels, const std::vector< double > &durations)
virtual ~AnalogLevelBasedInputNeuron ()
void setAnalogValues (const std::vector< double > &levels, const std::vector< double > &durations)
const std::vector< double > & getLevels () const
const std::vector< double > & getDurations () const
virtual double getAnalogOutput (analog_port_id_t port=0) const
 Return the analog value currently associated with the given port.
virtual int advance (AdvanceInfo const &ai)
 Calculate the next state and output/propagate the result to succesors/outgoing objects.
virtual int reset (double dt)
 Called at the beginning of a simulation at t=0.
virtual double getManagedDelay () const
virtual int nSpikeInputPorts () const
virtual int nSpikeOutputPorts () const
virtual int nAnalogInputPorts () const
virtual int nAnalogOutputPorts () const
virtual PortType outputPortType (port_t o) const
virtual PortType inputPortType (port_t i) const

Protected Attributes

std::vector< doublelevels
std::vector< doubledurations
unsigned curr_level
unsigned curr_timestep
unsigned curr_numsteps
double Vm


Detailed Description

Input neuron where the analog input signal is composed of muliple constant levels with different durations.

It replays the analog signal from the beginning if simulation time is longer than the complete analog signal duration.

Definition at line 15 of file AnalogLevelBasedInputNeuron.h.


Constructor & Destructor Documentation

AnalogLevelBasedInputNeuron::AnalogLevelBasedInputNeuron (  ) 

Definition at line 7 of file AnalogLevelBasedInputNeuron.cpp.

References curr_level, and curr_timestep.

AnalogLevelBasedInputNeuron::AnalogLevelBasedInputNeuron ( const std::vector< double > &  levels,
const std::vector< double > &  durations 
)

AnalogLevelBasedInputNeuron::~AnalogLevelBasedInputNeuron (  )  [virtual]

Definition at line 19 of file AnalogLevelBasedInputNeuron.cpp.


Member Function Documentation

void AnalogLevelBasedInputNeuron::setAnalogValues ( const std::vector< double > &  levels,
const std::vector< double > &  durations 
)

const vector< double > & AnalogLevelBasedInputNeuron::getLevels (  )  const

Definition at line 29 of file AnalogLevelBasedInputNeuron.cpp.

References levels.

const vector< double > & AnalogLevelBasedInputNeuron::getDurations (  )  const

Definition at line 34 of file AnalogLevelBasedInputNeuron.cpp.

References durations.

double AnalogLevelBasedInputNeuron::getAnalogOutput ( analog_port_id_t  port = 0  )  const [virtual]

Return the analog value currently associated with the given port.

Reimplemented from SimObject.

Definition at line 40 of file AnalogLevelBasedInputNeuron.cpp.

References curr_level, and levels.

int AnalogLevelBasedInputNeuron::advance ( AdvanceInfo const &   )  [virtual]

Calculate the next state and output/propagate the result to succesors/outgoing objects.

The return value of advance contains several bits of information which can be decoded with the bit masks ADVANCEFLAG_* like ADVANCEFLAG_HASSPIKED and ADVANCEFLAG_DEACTIVATE.

Reimplemented from SimObject.

Definition at line 46 of file AnalogLevelBasedInputNeuron.cpp.

References curr_level, curr_numsteps, curr_timestep, AdvanceInfo::dt, durations, Time::in_sec(), levels, and Vm.

Here is the call graph for this function:

int AnalogLevelBasedInputNeuron::reset ( double  dt  )  [virtual]

Called at the beginning of a simulation at t=0.

Reimplemented from SimObject.

Definition at line 63 of file AnalogLevelBasedInputNeuron.cpp.

References curr_level, curr_numsteps, curr_timestep, and durations.

virtual double AnalogLevelBasedInputNeuron::getManagedDelay (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 38 of file AnalogLevelBasedInputNeuron.h.

virtual int AnalogLevelBasedInputNeuron::nSpikeInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 39 of file AnalogLevelBasedInputNeuron.h.

virtual int AnalogLevelBasedInputNeuron::nSpikeOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 40 of file AnalogLevelBasedInputNeuron.h.

virtual int AnalogLevelBasedInputNeuron::nAnalogInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 41 of file AnalogLevelBasedInputNeuron.h.

virtual int AnalogLevelBasedInputNeuron::nAnalogOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 42 of file AnalogLevelBasedInputNeuron.h.

virtual PortType AnalogLevelBasedInputNeuron::outputPortType ( port_t  o  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 43 of file AnalogLevelBasedInputNeuron.h.

References SimObject::analog.

virtual PortType AnalogLevelBasedInputNeuron::inputPortType ( port_t  i  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 44 of file AnalogLevelBasedInputNeuron.h.


Member Data Documentation

std::vector<double> AnalogLevelBasedInputNeuron::levels [protected]

Definition at line 44 of file AnalogLevelBasedInputNeuron.h.

Referenced by advance(), getAnalogOutput(), and getLevels().

Definition at line 49 of file AnalogLevelBasedInputNeuron.h.

Referenced by advance(), getDurations(), and reset().

Definition at line 51 of file AnalogLevelBasedInputNeuron.h.

Referenced by advance(), AnalogLevelBasedInputNeuron(), and reset().

Definition at line 52 of file AnalogLevelBasedInputNeuron.h.

Referenced by advance(), and reset().

Definition at line 53 of file AnalogLevelBasedInputNeuron.h.

Referenced by advance().


The documentation for this class was generated from the following files:

Generated on Wed Jul 9 16:34:46 2008 for PCSIM by  doxygen 1.5.5