9 class IntegrateFireNeuralModule;
272 virtual IonChannel *LoadIonChannel(CStdXml &oXml);
273 IonChannel *FindIonChannel(std::string strID,
bool bThrowError);
279 virtual void AddIonChannel(std::string strXml,
bool bDoNotInit);
280 virtual void RemoveIonChannel(std::string strID,
bool bThrowError =
true);
285 virtual void Load(CStdXml &oXml);
287 #pragma region Accessor-Mutators
290 void NeuronID(
int iID);
292 virtual bool Enabled();
293 virtual void Enabled(
bool bValue);
295 virtual void AddExternalI(
float fltVal);
299 double GetRestingPot();
304 void IncrementStim(
double stim);
305 void InElectricalSynapseCurr(
double cur);
306 void InElectricalSynapseCond(
double cond);
307 void IncNonSpikingSynCurr(
double cur);
308 void IncNonSpikingSynCond(
double cond);
310 CStdPtrArray<IonChannel> *IonChannels();
312 void RestingPotential(
double dVal) ;
313 double RestingPotential();
315 void Size(
double dVal);
318 void TimeConstant(
double dVal);
319 double TimeConstant();
321 void InitialThreshold(
double dVal) ;
322 double InitialThreshold();
324 void RelativeAccomodation(
double dVal);
325 double RelativeAccomodation();
327 void AccomodationTimeConstant(
double dVal);
328 double AccomodationTimeConstant();
330 void AHPAmplitude(
double dVal);
331 double AHPAmplitude();
333 void AHPTimeConstant(
double dVal);
334 double AHPTimeConstant();
336 void BurstGMaxCa(
double dVal);
337 double BurstGMaxCa();
339 void BurstVm(
double dVal);
342 void BurstSm(
double dVal);
345 void BurstMTimeConstant(
double dVal);
346 double BurstMTimeConstant();
348 void BurstVh(
double dVal);
351 void BurstSh(
double dVal);
354 void BurstHTimeConstant(
double dVal);
355 double BurstHTimeConstant();
357 void BurstInitAtBottom(
bool bVal);
358 bool BurstInitAtBottom();
360 void TonicStimulus(
double dblVal);
361 double TonicStimulus();
363 void TonicNoise(
double dblVal);
373 virtual int FindIonChannelListPos(std::string strID,
bool bThrowError =
true);
376 #pragma region DataAccesMethods
377 virtual float *GetDataPointer(
const std::string &strDataType);
378 virtual bool SetData(
const std::string &strDataType,
const std::string &strValue,
bool bThrowError =
true);
379 virtual void QueryProperties(CStdPtrArray<TypeProperty> &aryProperties);
380 virtual bool AddItem(
const std::string &strItemType,
const std::string &strXml,
bool bThrowError =
true,
bool bDoNotInit =
false);
381 virtual bool RemoveItem(
const std::string &strItemType,
const std::string &strID,
bool bThrowError =
true);
384 virtual void AddExternalNodeInput(
int iTargetDataType,
float fltInput);
385 virtual void ResetSimulation();
389 virtual void VerifySystemPointers();
static double m_dAbsoluteRefr
The static absolute refractory period after an action potential.
double m_dDCTH
exponential decline working factor for threshold accommodation
float m_fltExternalI
The external current.
double m_dStim
The stimulus current.
CaActivation * m_lpCaActive
The pointer to the calcium activation object.
Integrate and fire neural module.
double m_dToniCurrentStimulusulus
A tonic current stimulus that can be applied to the neuron.
double m_dNonSpikingSynCur
The non-spiking synaptic current.
static double m_dCaEquilPot
The static calcium equil pot.
float m_fltGTotal
Reported g total.
double m_dGMaxCa
The maximum conductance of the calcium current.
double m_dCm
The membrane capacitance.
CaActivation * m_lpCaInactive
The pointer to the calcium inactivation object.
float m_fltChannelI
The ioin channel current.
double m_dNewMemPot
The next membrane potential.
float m_fltAdapterMemoryI
The adapter current memory. This is used to allow datacharts to track current input from adapters...
double m_dRestingPot
The resting potential of the neuron.
Integrate and fire neuron model.
double m_dAHPTimeConst
The after-hyperpolarizing time constant.
double m_dElecSynCond
The electrical synaptic condutance.
bool m_bZapped
Sets whether the neuron is disabled or not.
float m_fltSpikingSynCurMemory
The spiking synaptic current memory. Used for reporting purposes.
float m_fltMemPot
The memory potential. This is for reporting purposes.
IntegrateFireNeuralModule * m_lpIGFModule
The pointer to the parent IntegrateFireNeuralModule.
double m_dDGK
exponential decline factor for AHP
double m_dSize
Size of the neuron. This is essentially equivalent to the membrane conductance.
long m_lRefrCountDown
The refractory count down.
static double m_dSpikePeak
The static spike peak.
float m_fltFiringFreq
The firing frequency.
float m_fltChannelMemoryI
The ion channel current memory. This is used to allow datacharts to track current input from ion chan...
static double m_dAHPEquilPot
The static after-hyperpolarizing equil pot. Typically equil pot for K.
CStdArray< double > m_arySynG
Current conductance of each synaptic type.
float m_fltSpike
The spike memory. Used for reporting purposes.
double m_dGTot
cummulative total contuctance
double m_dSH
Inactivation slope of the calcium current.
double m_dVM
Activation mid point of the calcium current.
CStdArray< double > m_aryFacilD
exponential decline factor in facilitation.
double m_dMemPot
The membrane potential.
double m_dRelativeAccom
The amount of relative accommodation. This ranges from 0 to 1.
double m_dTimeConst
The time constant for the neuron.
double m_dM
The activation variable.
double m_dSM
Activation slope of the calcium current.
float m_fltNonSpikingSynCurMemory
The non-spiking synaptic current memory. Used for reporting purposes.
static long m_lAbsoluteRefr
The static absolute refractory period in timeslices after an action potential.
double m_dNoise
The noise being applied to the membrane.
float m_fltGm
The membrane conductance. Used for reporting purposes.
bool m_bSpike
true if spike occured.
CStdArray< double > m_aryNextSponSynTime
Time to next spontaneous occurrence of this syn type.
Base class for body parts and neural network nodes.
static double m_dSpikeStrength
The static spike strength used when calculating the action potential.
CStdArray< double > m_aryTonicInputPeriod
An array of tonic inputs that can be applied to the neuron.
bool m_bBurstInitAtBottom
float m_fltTotalI
The total current.
double m_dH
The inactivation variable.
double m_fltLastSpikeTime
Time of the last spike.
CStdArray< int > m_aryTonicInputPeriodType
An array of tonic input types that can be applied to the neuron.
double m_dNonSpikingSynCond
The non-spiking synaptic condutance.
double m_dVH
Inactivation mid point of the calcium current.
double m_dHTimeConst
Inactivation time constant the calcium current.
double m_dElecSynCur
The electrical synaptic current.
CStdPtrArray< IonChannel > m_aryIonChannels
The array of ion channels.
int m_iIonChannels
Number of ion channels.
float m_fltElecSynCurMemory
The electrical synaptic current memory. Used for reporting purposes.
int m_iNeuronID
Integer ID for the neuron. This is its index in the array of neruons in the neural module...
CStdArray< double > m_aryDG
exponential decline factor in syn G.
CStdArray< double > m_aryFacilSponSynG
facilitated initial g increase caused by spontaneous input
float m_fltAdapterI
The adapter current.
double m_dAHPAmp
The after-hyperpolarizing conductance amplitude.
float m_fltICaMemory
The ca current memory.
double m_dInitialThresh
The initial voltage threshold for the neuron.
double m_dMTimeConst
activation time constant the calcium current.
static double m_dDT
The statoc time step.
Contains all of the classes to implement a basic integrate and fire neural model. ...
float m_fltTotalMemoryI
The total current memory. This is used to allow datacharts to track current input from ion channels...
double m_dGK
cummulative amplitude of AHP conductance
double m_dAccomTimeConst
The accommodation time constant.
double m_dThresh
The voltage threshold.
float m_fltVrest
The rest potential. Used for reporting purposes.
float m_fltEMemory
The Reporting variable for E.
float m_fltThresholdMemory
The threshold potential memory. Used to allow us to chart the threshold if needed.