AnimatLab  2
Test
VoltageClamp.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 
9 namespace AnimatSim
10 {
11  namespace ExternalStimuli
12  {
13 
14  class ANIMAT_PORT VoltageClamp : public ExternalStimulus
15  {
16  protected:
18  std::string m_strTargetNodeID;
19 
23 
26 
28  float *m_lpVrest;
29 
31  float *m_lpGm;
32 
34  float m_fltVtarget;
35 
38 
41 
42  public:
43  VoltageClamp();
44  virtual ~VoltageClamp();
45 
46  static VoltageClamp *CastToDerived(AnimatBase *lpBase) {return static_cast<VoltageClamp*>(lpBase);}
47 
48  virtual std::string Type();
49 
50  virtual std::string TargetNodeID();
51  virtual void TargetNodeID(std::string strID);
52 
53  virtual float Vtarget();
54  virtual void Vtarget(float fltVal);
55 
56  virtual void Load(CStdXml &oXml);
57 
58  //ActiveItem overrides
59  virtual void Initialize();
60  virtual void Activate();
61  virtual void ResetSimulation();
62  virtual void StepSimulation();
63  virtual void Deactivate();
64  virtual float *GetDataPointer(const std::string &strDataType);
65  virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError = true);
66  virtual void QueryProperties(CStdPtrArray<TypeProperty> &aryProperties);
67  };
68 
69  } //ExternalStimuli
70 } //VortexAnimatSim
Root namespace for the base simulation library for AnimatLab.
float * m_lpVrest
The resting voltage data variable within the node to clamp.
Definition: VoltageClamp.h:28
float * m_lpTotalCurrent
The total current data variable within the node that is clamped.
Definition: VoltageClamp.h:25
float * m_lpGm
The conductance data variable within the node to clamp.
Definition: VoltageClamp.h:31
float m_fltTargetCurrent
The target current for the clamp.
Definition: VoltageClamp.h:37
float m_fltActiveCurrent
The active current is the target current - total current in the cell.
Definition: VoltageClamp.h:40
Animat base class.
Definition: AnimatBase.h:36
float m_fltVtarget
The target voltage for the clamp.
Definition: VoltageClamp.h:34
std::string m_strTargetNodeID
GUID ID of the node that will be clamped.
Definition: VoltageClamp.h:18