bool Neuron::tick(double clock){
	v = 0;

	if (refractions.empty()){
		excite(clock);
		//inhibit(clock);
		if (v >= vt){
			spike(clock);
			return true;
		}
	}
	return false;
}
			 baseType pulseCoupledExcitatoryNeuron::callBack(unsigned int eventSignature)
			{
				
				if ( eventSignature == _fire_)
				{
					fireN();
					return numeric_limits<baseType>::max();
					
				}

				else // if (eventSignature == _exciteRandomly_)
				{
					excite ( noiseIntensity() );
					return this->time + gslNoise::getExponential(noiseFrequency());
				}
		
			}
示例#3
0
double neuron :: excite (double * vector, non_linear_function function) {
	error = 0.0;
	if (function == NULL) return output = excite (vector);
	return output = function (excite (vector));
}