Go to the documentation of this file.
10 #ifndef AbstractNeurer_h
11 #define AbstractNeurer_h
22 using namespace sc_core;
using namespace std;
26 typedef vector <scSynapticConnect*> scSynapticConnects_t;
27 typedef vector <scAxonalConnect*> scAxonalConnects_t;
78 bool StandAlone =
true
84 Initialize_method(
void);
90 IsMetaInstructionFetched(
void)
95 doFetchInstruction(
void
97 {assert(0);
return false;
100 doExecuteInstruction(
void){assert(0);
return false;}
102 doExecuteMetaInstruction()
112 IsMetaInstructionReceived(
void)
113 {assert(0);
return false;}
115 StringOfName_Get(
void){
return Owner_Get()->StringOfName_Get(ID_Get());}
117 PrologString_Get(
void);
119 Parent_Get(
void) {
return dynamic_cast<scGridPoint*
>(scHThread::Parent_Get());}
121 AxonalConnection_Get(
unsigned int i)
122 { assert(i<m_Axons.size());
126 SynapticConnection_Get(
unsigned int i)
127 { assert(i<m_Synapses.size());
128 return m_Synapses[i];
152 Integrate_method(
void);
154 LeakingPeriod_Set(
short unsigned int P);
156 LeakingPeriod_Get(
void){
return mLeakingPeriod;}
158 SynchronFrequency_Set(sc_core::sc_event* F){ mSynchronFrequency = F;
159 mSynchronFrequency->notify();
167 ActionPotential_method(
void);
169 Trigger_method(
void);
173 Discharge_method(
void);
185 int FromValue,
int ToValue)
186 { assert(FromTime<ToTime);
187 int Average = (FromValue + ToValue)/2;
188 float TimeDiff = ToTime - FromTime;
189 return TimeDiff*Average;
201 return mNoOfSynapticPoints
220 RunningCharge_Get(){
return mRunningCharge;}
222 AddChargeContribution(int32_t C);
226 void Spiking_method(
void);
227 int32_t AxonsNo_Get(
void)
228 {
return m_Axons.size();}
229 int32_t SynapsesNo_Get(
void)
230 {
return m_Synapses.size();}
232 ReadSettings(
string Group, QSettings* settings);
236 MembraneRestingPotential_Get()
238 return mMembraneRestingPotential;
241 MembraneRestingPotential_Set(int32_t NewPot)
243 mMembraneRestingPotential = NewPot;
246 MembranePotentialOffset_Get()
257 MembranePotentialContribution_Add(int32_t NewContrib);
264 MembraneSynapticContribution_Add(int32_t NewContrib);
277 mOperatingState[B] = V;
287 return mOperatingState[B];
299 void Leaking_method(
void);
300 void Recalculate_method(
void);
314 Resynchronize_method(
void);
348 ActionPotentialTimeBegin_Set(
void);
350 mActionPotentialStartAtMembrane1, mActionPotentialStartAtMembrane2;
351 #if BIOLOGICAL_NEURON
356 mMembraneRestingPotential;
360 mBelowThresholdPreviously,
361 mNearRestingPreviously;
366 #endif // AbstractNeurer_h
@ nsb_Triggering
Set if neurer is attempting to reach membrane's threshold.
Definition: AbstractNeurer.h:39
scSynapticConnects_t m_Synapses
List of neurons where our synapses receive input.
Definition: AbstractNeurer.h:306
sc_core::sc_event Fire
< The synapsis wanna send a message to the postsynaptic neuron
Definition: AbstractNeurerConnection.h:66
Spike * mSpike
Pointer to the spike table.
Definition: AbstractNeurerConnection.h:75
@ gob_Max
!< Set if the gridpoint is receiving a message
Definition: scGridEnumTypes.h:48
Handles the axonal output to a synapsis of a remote neuron. Handles the output broken-line spike.
Definition: AbstractNeurerConnection.h:88
int mSpikeAmplitude
Our shadow amplitude about spiking.
Definition: AbstractNeurer.h:339
scAxonalConnects_t m_Axons
List of neurons where our axons lead to.
Definition: AbstractNeurer.h:303
Function prototypes for the scEMPA simulator, Core.
@ nsb_Firing
Set if neurer' membrane is in course of discharging.
Definition: AbstractNeurer.h:42
The scHThread class.
Definition: scHThread.h:138
uint16_t mAmplitudeFactor
Scale factors for the spike table.
Definition: AbstractNeurer.h:343
void NeurerStateBit_Set(NeurerOperatingBit_t B, bool V)
Set a bit in the state word AbstractNeurer::mOperatingState.
Definition: AbstractNeurer.h:273
This class implements the autonomous grid point functionality: it is a communicating GridPoint....
Definition: scGridPoint.h:127
int mSpikeIndex
The running index of the broken line.
Definition: AbstractNeurer.h:341
sc_core::sc_time mSynchronOffset
Contains the time of the last synchronization event.
Definition: AbstractNeurer.h:320
bool NeurerStateBit_Get(NeurerOperatingBit_t B)
Get value of a bit in the state word AbstractNeurer::mOperatingState.
Definition: AbstractNeurer.h:285
@ nsb_Charging
Set if neurer is charging up its membrane to prepare firing.
Definition: AbstractNeurer.h:40
int NeurerCondensatorCapacity_Get(void)
NeurerCondensatorCapacity_Get.
Definition: AbstractNeurer.h:199
int mSpikeTime
Our shadow time about spiking.
Definition: AbstractNeurer.h:337
int32_t mMembranePotential
< The actual, measurable potential
Definition: AbstractNeurer.h:329
int IntegratedCurrentInPeriod(int FromTime, int ToTime, int FromValue, int ToValue)
IntegratedCurrentInPeriod A simple trapezoidal area (for short period, where the function is nearly l...
Definition: AbstractNeurer.h:184
void IncreaseActionPotentialWithCharge(int C)
IncreaseActionPotentialWithCharge.
Definition: AbstractNeurer.h:212
int mNoOfSynapticPoints
Calculated runtime, actually as m_Synapses.size()
Definition: AbstractNeurer.h:322
NeurerOperatingBit_t
the names of the bits in the bitset for operating the neurer
Definition: AbstractNeurer.h:36
Handles action potential tables for the neurons.
Definition: ActionPotential.h:79
sc_core::sc_event * mSynchronFrequency
Contains which event resets the phase timing.
Definition: AbstractNeurer.h:318
Handles input from an axon of a remote neuron, firing to this synapsis. Handles the input broken-line...
Definition: AbstractNeurerConnection.h:37
Topology information for the Neurer simulator.
Handles spike tables for the neurons.
Definition: Spike.h:66
int32_t mMembranePotentialOffset
< The actual, measurable potential offset, applied externally
Definition: AbstractNeurer.h:331
Definition: AbstractNeurer.h:69
sc_core::sc_time mActionPotentialBegin
< Remember the beginning of the actual action potential
Definition: AbstractNeurer.h:363
@ nsb_Resting
Set if neurer is resting.
Definition: AbstractNeurer.h:38
The NeurerProcessor class.
Definition: NeurerProcessor.h:33
std::bitset< nsb_Max > mOperatingState
The word of operating bits.
Definition: AbstractNeurer.h:293
@ nsb_Max
Set if neurer' membrane is in course of firing.
Definition: AbstractNeurer.h:43