AnimatLab  2
Test
Connexion.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 namespace IntegrateFireSim
10 {
16  namespace Synapses
17  {
29  class ADV_NEURAL_PORT Connexion : public AnimatSim::Link
30  {
31  public:
32  Connexion();
33  Connexion(int type, int id, double d,float topBlock=75,float botBlock=25);
34  virtual ~Connexion();
35  virtual void Load(CStdXml &oXml);
36 
37  virtual void ResetSimulation();
38  virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError = true);
39  virtual void QueryProperties(CStdPtrArray<TypeProperty> &aryProperties);
40  virtual float *GetDataPointer(const std::string &strDataType);
41 
42  virtual void SetSystemPointers(Simulator *lpSim, Structure *lpStructure, AnimatSim::Behavior::NeuralModule *lpModule, Node *lpNode, bool bVerify);
43  virtual void VerifySystemPointers();
44 
45 #pragma region Accessor-Mutators
46 
47  void BaseConductance(double dVal);
48  double BaseConductance();
49 
50  void Delay(double dVal);
51  double Delay();
52 
53  std::string SynapseTypeID();
54  void SynapseTypeID(std::string strID);
55 
56  std::string SourceID();
57  void SourceID(std::string strID);
58 
59  std::string TargetID();
60  void TargetID(std::string strID);
61 
62  void ResetIDs();
63 
64 #pragma endregion
65 
66  protected:
69 
70  // LOADABLE
72  std::string m_strSourceID;
73 
75  std::string m_strTargetID;
76 
78  std::string m_strSynapseTypeID;
79 
82 
85 
88 
90  int m_iSource;
91 
93  int m_iTarget;
94 
96  int m_iType;
97 
99  int m_iID;
100 
102  double m_dDelay;
103 
105  double m_dGFacilCx;
106 
109 
111  double m_dG;
112 
115 
117  //double m_dPartialBlockHold;
118 
119  // WORKING
120  // stuff for spiking chemical synapses
122  DoubleList m_TransitCx;
123 
124  double FacilD();
125  double RelFacil();
126  bool VoltDep();
127  bool Hebbian();
128  double HebbIncrement();
129  double HebbTimeWindow();
130  double MaxGHebb();
131  bool AllowForgetting();
132  double ForgettingWindow();
133  double Consolidation();
134  double MaxGVoltDepRel();
135 
137  double m_dBaseG; // standard baseline conductance
138 
140  DoubleList m_HebbList;
141 
144 
146  //double m_dPartialBlock;
147 
150 
157  void AppendTransitSpike() {m_TransitCx.AddTail(m_dDelay);}
158 
159  void DecrementLatencies(double dt,bool FreezeLearning=false);
160  void DecrementFacilitation();
161 
170  double *GetTimeToNextSpikePtr() {return m_TransitCx.First();}
171  double ProcessOutput(bool bFreezeHebb=false);
172  double GetProspectiveCond(bool bFreezeHebb);
173  void IncrementHebbian();
174 
175 
177  };
178 
179  } //Synapses
180 } //IntegrateFireSim
Neuron * m_lpSource
Pointer to the source Neuron.
Definition: Connexion.h:84
int m_iType
Zero-based index of the synaspe type.
Definition: Connexion.h:96
Integrate and fire neural module.
DoubleList m_TransitCx
Sets whether there is a partial block hold.
Definition: Connexion.h:122
double m_dPreviousSpikeLatency
The partial block.
Definition: Connexion.h:149
double m_dGFacilCx
facilitated increase in g when input occurs
Definition: Connexion.h:105
Integrate and fire neuron model.
float m_fltGReport
The reported variable for synaptic conductance.
Definition: Connexion.h:114
int m_iTarget
Zero-based index of the target neuron.
Definition: Connexion.h:93
Neuron * m_lpTarget
Pointer to the target Neuron.
Definition: Connexion.h:87
void AppendTransitSpike()
Appends the transit spike.
Definition: Connexion.h:157
double m_dBaseG
The base conductance.
Definition: Connexion.h:137
double m_dTimeSincePrevHebbEvent
The time since previous hebb event.
Definition: Connexion.h:143
IntegrateFireNeuralModule * m_lpIGFModule
The pointer to the parent IntegrateFireNeuralModule.
Definition: Connexion.h:68
float m_fltGFailCxReport
reported variable for facilitated increase in g when input occurs
Definition: Connexion.h:108
std::string m_strSynapseTypeID
GUID ID for the synapse type to use.
Definition: Connexion.h:78
Synapse type base class.
Definition: SynapseType.h:22
double m_dG
The synaptic conductance.
Definition: Connexion.h:111
SynapseType * m_lpSynType
Pointer to the synapse type for this connection.
Definition: Connexion.h:81
std::string m_strTargetID
GUID ID for the target Neuron.
Definition: Connexion.h:75
DoubleList m_HebbList
List of hebbian events.
Definition: Connexion.h:140
int m_iID
Identifier ID for this connection.
Definition: Connexion.h:99
std::string m_strSourceID
GUID ID for the source Neuron.
Definition: Connexion.h:72
int m_iSource
Zero-based index of the source neuron.
Definition: Connexion.h:90
double * GetTimeToNextSpikePtr()
Gets the time to next spike pointer.
Definition: Connexion.h:170
double m_dDelay
The synaptic delay.
Definition: Connexion.h:102
Contains all of the classes to implement a basic integrate and fire neural model. ...