Public Types | |
enum | RateType { NORMAL, STRICT, OPTIM } |
typedef CreateFunctor< SimUnit, ParamList< SimTime > > | Creator |
typedef GenericFactory < SimUnit, std::string, Creator > | Factory |
Public Member Functions | |
SimUnit (const SimTime ×tep=SimTime::MSECS(1.0), const RateType ratetype=NORMAL, const std::string &name="", const std::string &units="") | |
implementation of inlined SimUnit functions | |
virtual | ~SimUnit () |
virtual destructor for propper inheritance | |
void | input (const double &in) |
input to the computation unit | |
void | inputExc (const double &in) |
input excitation to the computation unit | |
void | inputInh (const double &in) |
input inhibition to the computation unit | |
virtual void | setV (const double &in) |
set the voltage (or other state value) | |
const double | getOutput () const |
get the output since the last call to evolve | |
virtual const double | getDisplayOutput () const |
get an output for display | |
void | evolve (const SimTime &t) |
integrate to time t, updating any decoders and internal variables | |
virtual const uint | numSubs () const |
get the number of sub units (default implementation returns 0) | |
virtual const SimUnit & | getSub (const uint i) const |
void | initialize () |
void | setDecoderPre (const NeuralDecoder &nd) |
hook up a decoder of desired | |
void | setDecoderPost (const NeuralDecoder &nd) |
hook up a decoder of desired | |
void | setName (const std::string &name) |
set the modules name | |
void | setUnits (const std::string &units) |
set the output units in SI | |
void | setOutput (const double &val, const bool recursive=true) |
set the initial output | |
void | setTime (const SimTime &time, const bool recursive=true) |
set the current time | |
const SimTime | getTime () const |
return our internal time | |
const SimTime | getTimeStep () const |
return our internal time step | |
const std::string | getName () const |
return the name of this module | |
const std::string | getUnits () const |
return the units of this modules output | |
const RateType | getRateType () const |
return this modules rate type | |
SimUnit * | clone () const |
virtual SimUnit & | editSub (const uint i) |
Protected Member Functions | |
SimUnit (const SimUnit &rhs) | |
SimUnit & | operator= (const SimUnit &rhs) |
Definition at line 79 of file SimUnit.H.
SimUnit::SimUnit | ( | const SimTime & | timestep = SimTime::MSECS(1.0) , |
|
const RateType | ratetype = NORMAL , |
|||
const std::string & | name = "" , |
|||
const std::string & | units = "" | |||
) | [inline] |
SimUnit::~SimUnit | ( | ) | [inline, virtual] |
SimUnit::SimUnit | ( | const SimUnit & | rhs | ) | [inline, protected] |
restrict copy constructor and assignment, use clone instead so derived classes create the correct objects and we avoid slicing
Definition at line 548 of file SimUnit.H.
References NeuralDecoder::clone().
SimUnit * SimUnit::clone | ( | ) | const [inline] |
Returns a reference to the subcomponent. You should check with numSubs before calling (default implementation produces LFATAL) and should use very carefully to ensure the object will not be destroyed by the owner while in use!
Reimplemented in IZNeuron, NeuralColumn< T >, NeuralColumn< SimUnit * >, and NeuralColumn< IZNeuron >.
Definition at line 437 of file SimUnit.H.
Referenced by setOutput(), and setTime().
void SimUnit::evolve | ( | const SimTime & | t | ) | [inline] |
integrate to time t, updating any decoders and internal variables
Definition at line 345 of file SimUnit.H.
References NeuralDecoder::getOutput(), SimTime::NSECS(), SimTime::nsecs(), and NeuralDecoder::push().
const double SimUnit::getDisplayOutput | ( | ) | const [inline, virtual] |
get an output for display
Reimplemented in IZNeuron, LowPassFilter< RateFunc, IntType >, LowpassNeuronImpl< RateFunc, IntType >, Synapse< SynType, IntType >, Synapse< Receptor::GABAA, LowPassExpEuler >, Synapse< Receptor::AMPA, LowPassExpEuler >, Synapse< Receptor::GABAB, LowPassExpEuler >, and Synapse< Receptor::NMDA, LowPassExpEuler >.
const std::string SimUnit::getName | ( | void | ) | const [inline] |
return the name of this module
Definition at line 527 of file SimUnit.H.
Referenced by IZNeuron::setup().
const double SimUnit::getOutput | ( | ) | const [inline] |
const SimUnit::RateType SimUnit::getRateType | ( | ) | const [inline] |
Returns a reference to the subcomponent. You should check with numSubs before calling (default implementation produces LFATAL) and should use very carefully to ensure the object will not be destroyed by the owner while in use!
Reimplemented in IZNeuron, NeuralColumn< T >, NeuralColumn< SimUnit * >, and NeuralColumn< IZNeuron >.
const SimTime SimUnit::getTime | ( | ) | const [inline] |
const SimTime SimUnit::getTimeStep | ( | ) | const [inline] |
const std::string SimUnit::getUnits | ( | ) | const [inline] |
void SimUnit::initialize | ( | ) | [inline] |
reset the object to post construction then call doInit() to perform any subclass specific initialization.
Definition at line 446 of file SimUnit.H.
References NeuralDecoder::reset(), and SimTime::ZERO().
void SimUnit::input | ( | const double & | in | ) | [inline] |
void SimUnit::inputExc | ( | const double & | in | ) | [inline] |
void SimUnit::inputInh | ( | const double & | in | ) | [inline] |
const uint SimUnit::numSubs | ( | ) | const [inline, virtual] |
get the number of sub units (default implementation returns 0)
Reimplemented in IZNeuron, NeuralColumn< T >, NeuralColumn< SimUnit * >, and NeuralColumn< IZNeuron >.
Definition at line 421 of file SimUnit.H.
Referenced by setOutput(), and setTime().
void SimUnit::setDecoderPost | ( | const NeuralDecoder & | nd | ) | [inline] |
hook up a decoder of desired
Definition at line 471 of file SimUnit.H.
References NeuralDecoder::clone().
void SimUnit::setDecoderPre | ( | const NeuralDecoder & | nd | ) | [inline] |
hook up a decoder of desired
Definition at line 461 of file SimUnit.H.
References NeuralDecoder::clone().
void SimUnit::setName | ( | const std::string & | name | ) | [inline] |
void SimUnit::setOutput | ( | const double & | val, | |
const bool | recursive = true | |||
) | [inline] |
set the initial output
Definition at line 493 of file SimUnit.H.
References editSub(), numSubs(), and setOutput().
Referenced by setOutput().
void SimUnit::setTime | ( | const SimTime & | time, | |
const bool | recursive = true | |||
) | [inline] |
void SimUnit::setUnits | ( | const std::string & | units | ) | [inline] |
void SimUnit::setV | ( | const double & | in | ) | [inline, virtual] |
set the voltage (or other state value)
Reimplemented in IZNeuron, Synapse< SynType, IntType >, Synapse< Receptor::GABAA, LowPassExpEuler >, Synapse< Receptor::AMPA, LowPassExpEuler >, Synapse< Receptor::GABAB, LowPassExpEuler >, and Synapse< Receptor::NMDA, LowPassExpEuler >.