8 #ifndef ACTIONPOTENTIAL_H
9 #define ACTIONPOTENTIAL_H
26 struct ActionPotentialPoint{
unsigned int Time;
signed int Amplitude;};
27 typedef vector<ActionPotentialPoint> ActionPotentialVector;
83 mActionPotentialTable(ActionPotentialForm)
85 ,mActionPotentialLength(ActionPotentialForm.size())
87 mLastTime = sc_core::sc_time((mActionPotentialTable[0].Time-324)/0.572,sc_core::SC_US);
88 mActionPotentialIndex = 1;
93 sc_core::sc_time Time_Get(
int n)
94 {assert(n<mActionPotentialLength);
95 sc_core::sc_time mThisTime = sc_core::sc_time((mActionPotentialTable[n].Time-324)/0.572,sc_core::SC_US);
96 sc_core::sc_time TDif = ThisTime-mLastTime; mLastTime = ThisTime;
99 uint32_t Voltage_Get(
int n){assert(n<mActionPotentialLength);
100 return (-(mActionPotentialTable[n].Amplitude-221)/0.00283 );}
102 bool AddVoltageContribution(int32_t dV)
103 {MyNeurer->AddVoltageContribution(dV);}
109 const ActionPotentialVector& mActionPotentialTable;
110 sc_core::sc_time mLastTime;
111 int mActionPotentialIndex;
112 int mActionPotentialLength;
113 sc_core::sc_time TimeBegin;
116 #endif // ACTIONPOTENTIAL_H