47 {
Std_TraceMsg(0,
"Caught Error in desctructor of IonChannelSigmoid\r\n",
"", -1,
false,
true);}
60 if(Gain::SetData(strDataType, strValue,
false))
63 if(strDataType ==
"A")
65 m_fltA = atof(strValue.c_str());
69 if(strDataType ==
"B")
71 m_fltB = atof(strValue.c_str());
75 if(strDataType ==
"C")
77 m_fltC = atof(strValue.c_str());
81 if(strDataType ==
"D")
83 m_fltD = atof(strValue.c_str());
87 if(strDataType ==
"E")
89 m_fltE = atof(strValue.c_str());
93 if(strDataType ==
"F")
95 m_fltF = atof(strValue.c_str());
99 if(strDataType ==
"G")
101 m_fltG = atof(strValue.c_str());
105 if(strDataType ==
"H")
107 m_fltH = atof(strValue.c_str());
113 THROW_PARAM_ERROR(Al_Err_lInvalidDataType, Al_Err_strInvalidDataType,
"Data Type", strDataType);
118 void IonChannelSigmoid::QueryProperties(CStdPtrArray<TypeProperty> &aryProperties)
120 Gain::QueryProperties(aryProperties);
122 aryProperties.Add(
new TypeProperty(
"A", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
123 aryProperties.Add(
new TypeProperty(
"B", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
124 aryProperties.Add(
new TypeProperty(
"C", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
125 aryProperties.Add(
new TypeProperty(
"D", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
126 aryProperties.Add(
new TypeProperty(
"E", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
127 aryProperties.Add(
new TypeProperty(
"F", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
128 aryProperties.Add(
new TypeProperty(
"G", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
129 aryProperties.Add(
new TypeProperty(
"H", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
132 void IonChannelSigmoid::Load(CStdXml &oXml)
138 m_fltA = oXml.GetChildFloat(
"A");
139 m_fltB = oXml.GetChildFloat(
"B");
140 m_fltC = oXml.GetChildFloat(
"C");
141 m_fltD = oXml.GetChildFloat(
"D");
142 m_fltE = oXml.GetChildFloat(
"E");
143 m_fltF = oXml.GetChildFloat(
"F");
144 m_fltG = oXml.GetChildFloat(
"G");
145 m_fltH = oXml.GetChildFloat(
"H");
float m_fltB
The B parameter.
float m_fltF
The F parameter.
float m_fltD
The D parameter.
float m_fltG
The G parameter.
bool InLimits(float fltInput)
Tells whether the input value is within the defined limit ranges.
float m_fltC
The C parameter.
float m_fltH
The H parameter.
virtual ~IonChannelSigmoid()
Destructor.
virtual float CalculateGain(float fltInput)
Calculates the gain.
virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError=true)
Set a variable based on a string data type name.
IonChannelSigmoid()
Default constructor.
void Std_TraceMsg(const int iLevel, std::string strMessage, std::string strSourceFile, int iSourceLine, bool bLogToFile, bool bPrintHeader)
Traces a message to the debugger window.
float CalculateLimitOutput(float fltInput)
Calculates the output when the input is outside of the limit ranges.
float m_fltE
The E parameter.
float m_fltA
The A parameter.
Declares the ion channel sigmoid class.
Contains all of the classes to implement a basic integrate and fire neural model. ...