AnimatLab  2
Test
RandomNeuron.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 namespace FiringRateSim
10 {
11  namespace Neurons
12  {
24  class FAST_NET_PORT RandomNeuron : public Neuron
25  {
26  protected:
28  float m_fltITime;
29 
32  unsigned char m_iIntrinsicTypeDefault;
33 
35  unsigned char m_iIntrinsicType;
36 
39 
41  float m_fltIlinit;
42 
44  float m_fltIl;
45 
48 
51 
54 
55  void HighCurrentOn();
56  void LowCurrentOn();
57 
58  virtual float CalculateIntrinsicCurrent(FiringRateModule *lpModule, float fltInputCurrent);
59 
60  public:
61  RandomNeuron();
62  virtual ~RandomNeuron();
63 
64  float ITime();
65  void ITime(float fltVal);
66 
67  unsigned char IntrinsicType();
68  void IntrinsicType(unsigned char iVal);
69 
70  float IntrinsicCurrent();
71  void IntrinsicCurrent(float fltVal);
72 
73  float Il();
74  void Il(float fltVal);
75 
76  float Ilinit();
77  void Ilinit(float fltVal);
78 
79  virtual unsigned char NeuronType();
80 
81  virtual void Copy(CStdSerialize *lpSource);
82 
83  AnimatSim::Gains::Gain *CurrentDistribution() {return m_lpCurrentGraph;};
84  void CurrentDistribution(AnimatSim::Gains::Gain *lpGain);
85  void CurrentDistribution(std::string strXml);
86 
87  AnimatSim::Gains::Gain *BurstLengthDistribution() {return m_lpBurstGraph;};
88  void BurstLengthDistribution(AnimatSim::Gains::Gain *lpGain);
89  void BurstLengthDistribution(std::string strXml);
90 
91  AnimatSim::Gains::Gain *InterbusrtLengthDistribution() {return m_lpIBurstGraph;};
92  void InterbusrtLengthDistribution(AnimatSim::Gains::Gain *lpGain);
93  void InterbusrtLengthDistribution(std::string strXml);
94 
95 #pragma region SnapshotMethods
96  virtual long CalculateSnapshotByteSize();
97  virtual void SaveKeyFrameSnapshot(byte *aryBytes, long &lIndex);
98  virtual void LoadKeyFrameSnapshot(byte *aryBytes, long &lIndex);
99 #pragma endregion
100 
101  virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError = true);
102  virtual void QueryProperties(CStdPtrArray<TypeProperty> &aryProperties);
103  virtual void ResetSimulation();
104 
105  virtual void Load(CStdXml &oXml);
106  };
107 
108  } //Neurons
109 } //FiringRateSim
Firing rate neural module.
AnimatSim::Gains::Gain * m_lpBurstGraph
The pointer to the graph used to calculate the hi current duration.
Definition: RandomNeuron.h:50
float m_fltIntrinsic
The active intrinsic current.
Definition: RandomNeuron.h:38
Random firing rate neuron.
Definition: RandomNeuron.h:24
float m_fltITime
Duration of the current mode (HI or LOW)
Definition: RandomNeuron.h:28
The Gain base class.
Definition: Gain.h:35
float m_fltIlinit
The low intrinsic current init value.
Definition: RandomNeuron.h:41
float m_fltIl
The low intrinsic current.
Definition: RandomNeuron.h:44
unsigned char m_iIntrinsicType
Type of the intrinsic current that is active (HI or LOW)
Definition: RandomNeuron.h:35
Firing Rate Neuron model.
AnimatSim::Gains::Gain * m_lpIBurstGraph
The pointer to the graph used to calculate the low current duration.
Definition: RandomNeuron.h:53
Contains the classes for a firing rate neural model.
AnimatSim::Gains::Gain * m_lpCurrentGraph
Pointer to the graph used to calculate the hi current.
Definition: RandomNeuron.h:47