8 #include "IonChannel.h"
17 #include "ClassFactory.h"
65 #pragma region Accessor-Mutators
524 #pragma region DataAccesMethods
531 if(AnimatBase::SetData(strDataType, strValue,
false))
534 if(strType ==
"EQUILIBRIUMPOTENTIAL")
540 if(strType ==
"SYNAPTICCONDUCTANCE")
546 if(strType ==
"DECAYRATE")
552 if(strType ==
"RELATIVEFACILITATION")
558 if(strType ==
"FACILITATIONDECAY")
564 if(strType ==
"VOLTAGEDEPENDENT")
570 if(strType ==
"MAXRELATIVECONDUCTANCE")
576 if(strType ==
"SATURATEPOTENTIAL")
582 if(strType ==
"THRESHOLDPOTENTIAL")
588 if(strType ==
"HEBBIAN")
594 if(strType ==
"MAXAUGMENTEDCONDUCTANCE")
600 if(strType ==
"LEARNINGINCREMENT")
606 if(strType ==
"LEARNINGTIMEWINDOW")
612 if(strType ==
"ALLOWFORGETTING")
618 if(strType ==
"FORGETTINGTIMEWINDOW")
624 if(strType ==
"CONSOLIDATIONFACTOR")
632 THROW_PARAM_ERROR(Al_Err_lInvalidDataType, Al_Err_strInvalidDataType,
"Data Type", strDataType);
637 void SpikingChemicalSynapse::QueryProperties(CStdPtrArray<TypeProperty> &aryProperties)
639 AnimatBase::QueryProperties(aryProperties);
641 aryProperties.Add(
new TypeProperty(
"EquilibriumPotential", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
642 aryProperties.Add(
new TypeProperty(
"SynapticConductance", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
643 aryProperties.Add(
new TypeProperty(
"DecayRate", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
644 aryProperties.Add(
new TypeProperty(
"RelativeFacilitation", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
645 aryProperties.Add(
new TypeProperty(
"FacilitationDecay", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
646 aryProperties.Add(
new TypeProperty(
"VoltageDependent", AnimatPropertyType::Boolean, AnimatPropertyDirection::Set));
647 aryProperties.Add(
new TypeProperty(
"MaxRelativeConductance", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
648 aryProperties.Add(
new TypeProperty(
"SaturatePotential", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
649 aryProperties.Add(
new TypeProperty(
"ThresholdPotential", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
650 aryProperties.Add(
new TypeProperty(
"Hebbian", AnimatPropertyType::Boolean, AnimatPropertyDirection::Set));
651 aryProperties.Add(
new TypeProperty(
"MaxAugmentedConductance", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
652 aryProperties.Add(
new TypeProperty(
"LearningIncrement", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
653 aryProperties.Add(
new TypeProperty(
"LearningTimeWindow", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
654 aryProperties.Add(
new TypeProperty(
"AllowForgetting", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
655 aryProperties.Add(
new TypeProperty(
"ForgettingTimeWindow", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
656 aryProperties.Add(
new TypeProperty(
"ConsolidationFactor", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
661 void SpikingChemicalSynapse::Load(CStdXml &oXml)
663 AnimatBase::Load(oXml);
678 Hebbian(oXml.GetChildBool(
"Hebbian"));
bool m_bAllowForget
true if forgetting is allowed.
double LearningIncrement()
Gets the learning increment.
double ForgettingWindow()
Gets the forgetting time window.
bool VoltDep()
Gets whether this synapse is voltage dependent.
Declares the integrate fire module class.
bool AllowForgetting()
Gets whether forgetting is allowed.
AnimatSim::Behavior::NeuralModule * m_lpModule
The pointer to this items parentNeuralModule. If this is not relevant for this object then this is NU...
virtual float TimeStep()
Gets the time step for this moudle in time units.
bool m_bVoltDep
true if voltage dependent
double m_dMaxAugCond
The maximum augmented conductance.
double MaxAugmentedConductance()
Gets the maximum augmented conductance.
double m_dDecay
The synaptic decay.
double ThreshPSPot()
Gets the threshold potential.
double ConsolidationFactor()
Gets the consolidation factor.
double MaxGVoltDepRel()
Gets the maximum relative conductance.
Declares the connexion class.
double FacilDecay()
Gets the facilitation decay.
double FacilitationDecay()
Gets the facilitation decay.
double m_dMaxRelCond
The maximum relative conductance.
double m_dEquil
The equilibruim potential.
double DecayRate()
Gets the decay rate.
double RelFacil()
Gets the relative facilitation.
double FacilD()
Gets the facilitation decrement value.
double HebbTimeWindow()
Gets the learning time window.
double RelativeFacilitation()
Gets the relative facilitation.
bool AllowForget()
Gets whether forgetting is allowed.
virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError=true)
Set a variable based on a string data type name.
double EquilibriumPotential()
Gets the equilibrium potential.
Declares the spiking chemical synapse class.
bool Std_IsAboveMin(int iMinVal, int iVal, bool bThrowError, std::string strParamName, bool bInclusiveLimit)
Tests if a number is above a minimum value.
double m_dSatPSPot
The saturation post-synaptic potential.
bool Hebbian()
Gets whether this synapse uses Hebbian learning.
double m_dFacilD
The facilitation.
Declares the ca activation class.
double MaxRelativeConductance()
Gets the maximum relative conductance.
double m_dThreshPSPot
The threshold post-synaptic potential.
double m_dLearningTime
Learning time window.
double m_dLearningInc
The learning increment.
bool VoltageDependent()
Gets whether this synapse is voltage dependent.
double ThresholdPotential()
Gets the threshold potential.
bool Std_ToBool(int iVal)
Converts a value toa bool.
Declares the synapse type class.
double m_dSynAmp
base syn amp, before vd or hebb
double m_dConsolidation
The consolidation factor.
double SynapticConductance()
Gets the synaptic conductance.
double MaxGHebb()
Gets the maximum augmented conductance.
double m_dForgetTime
Forgetting time window.
Declares the electrical synapse class.
double HebbIncrement()
Gets the hebbian increment.
double SatPSPot()
Gets the saturation potential.
std::string Std_CheckString(std::string strVal)
Converts a string to upper case and trims it.
bool m_bHebbian
true if hebbian learning is used.
double m_dRelFacil
The relative facilitation amount.
double ForgettingTimeWindow()
Gets the forgetting time window.
SpikingChemicalSynapse()
Default constructor.
double Consolidation()
Gets the consolidation factor.
double m_dFacilDecay
The facilitation decay.
virtual ~SpikingChemicalSynapse()
Destructor.
Contains all of the classes to implement a basic integrate and fire neural model. ...
Declares the non spiking chemical synapse class.
Declares the neuron class.
double SaturatePotential()
Gets the saturation potential.
double LearningTimeWindow()
Gets the learning time window.