60 {
Std_TraceMsg(0,
"Caught Error in desctructor of RandomNeuron\r\n",
"", -1,
false,
true);}
193 {
return RANDOM_NEURON;}
197 Neuron::Copy(lpSource);
262 void RandomNeuron::CurrentDistribution(std::string strXml)
265 oXml.Deserialize(strXml);
266 oXml.FindElement(
"Root");
267 oXml.FindChildElement(
"CurrentGraph");
297 void RandomNeuron::BurstLengthDistribution(std::string strXml)
300 oXml.Deserialize(strXml);
301 oXml.FindElement(
"Root");
302 oXml.FindChildElement(
"BurstGraph");
332 void RandomNeuron::InterbusrtLengthDistribution(std::string strXml)
335 oXml.Deserialize(strXml);
336 oXml.FindElement(
"Root");
337 oXml.FindChildElement(
"InterBurstGraph");
440 #pragma region DataAccesMethods
451 Ilinit(atof(strValue.c_str()));
455 if(strType ==
"CURRENTDISTRIBUTION")
457 CurrentDistribution(strValue);
461 if(strType ==
"BURSTLENGTHDISTRIBUTION")
463 BurstLengthDistribution(strValue);
467 if(strType ==
"INTERBURSTLENGTHDISTRIBUTION")
469 InterbusrtLengthDistribution(strValue);
476 THROW_PARAM_ERROR(Al_Err_lInvalidDataType, Al_Err_strInvalidDataType,
"Data Type", strDataType);
481 void RandomNeuron::QueryProperties(CStdPtrArray<TypeProperty> &aryProperties)
483 Neuron::QueryProperties(aryProperties);
485 aryProperties.Add(
new TypeProperty(
"Il", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
486 aryProperties.Add(
new TypeProperty(
"CurrentDistribution", AnimatPropertyType::Xml, AnimatPropertyDirection::Set));
487 aryProperties.Add(
new TypeProperty(
"BurstLengthDistribution", AnimatPropertyType::Xml, AnimatPropertyDirection::Set));
488 aryProperties.Add(
new TypeProperty(
"InterbusrtLengthDistribution", AnimatPropertyType::Xml, AnimatPropertyDirection::Set));
493 void RandomNeuron::Load(CStdXml &oXml)
500 Ilinit(oXml.GetChildFloat(
"Il"));
unsigned char m_iIntrinsicTypeDefault
virtual void SaveKeyFrameSnapshot(byte *aryBytes, long &lIndex)
Saves a key frame snapshot.
Firing rate neural module.
AnimatSim::Gains::Gain * m_lpBurstGraph
The pointer to the graph used to calculate the hi current duration.
float m_fltIntrinsic
The active intrinsic current.
virtual float TimeStep()
Gets the time step for this moudle in time units.
Random firing rate neuron.
Declares the random neuron class.
float m_fltITime
Duration of the current mode (HI or LOW)
Simulator * m_lpSim
The pointer to a Simulation.
float Ilinit()
Gets the low current init value.
virtual void ResetSimulation()
Resets the simulation back to time 0.
unsigned char IntrinsicType()
Gets the active intrinsic type (HI or LOW).
virtual long CalculateSnapshotByteSize()
Calculates the snapshot byte size.
virtual float CalculateIntrinsicCurrent(FiringRateModule *lpModule, float fltInputCurrent)
Calculates the intrinsic current.
float m_fltIlinit
The low intrinsic current init value.
virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError=true)
Set a variable based on a string data type name.
float m_fltIl
The low intrinsic current.
unsigned char m_iIntrinsicType
Type of the intrinsic current that is active (HI or LOW)
float Il()
Gets the low current.
int Std_IRand(int low, int high)
Generates a random number between two values.
void LowCurrentOn()
Turns the low current on.
virtual long CalculateSnapshotByteSize()
Calculates the snapshot byte size.
virtual void SaveKeyFrameSnapshot(byte *aryBytes, long &lIndex)
Saves a key frame snapshot.
Declares the synapse class.
float IntrinsicCurrent()
Gets the active intrinsic current.
virtual void LoadKeyFrameSnapshot(byte *aryBytes, long &lIndex)
Loads a key frame snapshot.
AnimatSim::Gains::Gain * m_lpIBurstGraph
The pointer to the graph used to calculate the low current duration.
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.
virtual ~RandomNeuron()
Destructor.
double Std_DRand(double low, double high)
Generates a random number between two values.
Declares the firing rate module class.
virtual void ResetSimulation()
Resets the simulation back to time 0.
virtual void LoadKeyFrameSnapshot(byte *aryBytes, long &lIndex)
Loads a key frame snapshot.
virtual unsigned char NeuronType()
Gets the neuron type.
Contains the classes for a firing rate neural model.
AnimatSim::Gains::Gain * m_lpCurrentGraph
Pointer to the graph used to calculate the hi current.
virtual float CalculateGain(float fltInput)=0
Calculates the gain.
std::string Std_CheckString(std::string strVal)
Converts a string to upper case and trims it.
virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError=true)
Set a variable based on a string data type name.
RandomNeuron()
Default constructor.
void HighCurrentOn()
Turns the high current on.
float ITime()
Gets the duration of the active current mode.
Gain * LoadGain(Simulator *lpSim, std::string strName, CStdXml &oXml)
Loads a gain object.