CONICAL Demo 6:

Spiker (Integrate-and-Fire Compartments)

Introduction

This program is similar to the Hodgkin-Huxley demo, but instead of using active membrane channels, it uses the Spiker class in place of the standard compartment. A steady current is injected, resulting in a train of stereotyped "spikes".

Code Overview

The complete code for the program is contained in main.cpp. In summary:
  1. Define global parameters.
  2. Define a procedure to set up a compartment.
  3. Define procedures to set up sodium and potassium channels.
  4. Create the compartments, setting appropriate parameters.
  5. Loop through time. At each time step,
    1. Output membrane voltages
    2. Call gStepmaster.StepAll(DT)

Program Output

The actual output of this program is a table of numbers, which has been graphed (by importing the data to ClarisWorks) below.
The steady current injection causes a string of "spikes". Each is really a plateau at a high voltage, followed by a longer low-voltage plateau.

Building the Program

If you have the full set of CONICAL source code, you should be able to simply copy main.cpp into your project and build it. Of course, this will contain a few files you don't need. A minimal project would contain just the following files:

Source FilesHeader Files
Cmprtmnt.cpp
CONICAL.cpp
Cylinder.cpp
main.cpp
Stepmstr.cpp
VSink.cpp
Cmprtmnt.h
Current.h
Cylinder.h
Injector.h
Spiker.h
Stepmstr.h
VSink.h
VSource.h