CompartmentBase

class CompartmentBase

CompartmentBase object, for branching neuron models.

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects. The Process should be called _second_ in each clock tick, after the Init message.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

init

void (shared message field) This is a shared message to receive Init messages from the scheduler objects. Its job is to separate the compartmental calculations from the message passing. It doesn't really need to be shared, as it does not use the reinit part, but the scheduler objects expect this form of message for all scheduled output. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a dummy MsgDest for the Reinit operation. It also uses ProcInfo.

channel

void (shared message field) This is a shared message from a compartment to channels. The first entry is a MsgDest for the info coming from the channel. It expects Gk and Ek from the channel as args. The second entry is a MsgSrc sending Vm

axial

void (shared message field) This is a shared message between asymmetric compartments. axial messages (this kind) connect up to raxial messages (defined below). The soma should use raxial messages to connect to the axial message of all the immediately adjacent dendritic compartments.This puts the (low) somatic resistance in series with these dendrites. Dendrites should then use raxial messages toconnect on to more distal dendrites. In other words, raxial messages should face outward from the soma. The first entry is a MsgSrc sending Vm to the axialFuncof the target compartment. The second entry is a MsgDest for the info coming from the other compt. It expects Ra and Vm from the other compt as args. Note that the message is named after the source type.

raxial

void (shared message field) This is a raxial shared message between asymmetric compartments. The first entry is a MsgDest for the info coming from the other compt. It expects Vm from the other compt as an arg. The second is a MsgSrc sending Ra and Vm to the raxialFunc of the target compartment.

setVm()

(destination message field) Assigns field value.

getVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCm()

(destination message field) Assigns field value.

getCm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEm()

(destination message field) Assigns field value.

getEm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInject()

(destination message field) Assigns field value.

getInject()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInitVm()

(destination message field) Assigns field value.

getInitVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRm()

(destination message field) Assigns field value.

getRm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRa()

(destination message field) Assigns field value.

getRa()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDiameter()

(destination message field) Assigns field value.

getDiameter()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setLength()

(destination message field) Assigns field value.

getLength()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX0()

(destination message field) Assigns field value.

getX0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY0()

(destination message field) Assigns field value.

getY0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ0()

(destination message field) Assigns field value.

getZ0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX()

(destination message field) Assigns field value.

getX()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY()

(destination message field) Assigns field value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ()

(destination message field) Assigns field value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

injectMsg()

(destination message field) The injectMsg corresponds to the INJECT message in the GENESIS compartment. Unlike the 'inject' field, any value assigned by handleInject applies only for a single timestep.So it needs to be updated every dt for a steady (or varying)injection current

randInject()

(destination message field) Sends a random injection current to the compartment. Must beupdated each timestep.Arguments to randInject are probability and current.

injectMsg()

(destination message field) The injectMsg corresponds to the INJECT message in the GENESIS compartment. Unlike the 'inject' field, any value assigned by handleInject applies only for a single timestep.So it needs to be updated every dt for a steady (or varying)injection current

cable()

(destination message field) Message for organizing compartments into groups, calledcables. Doesn't do anything.

displace()

(destination message field) Displaces compartment by specified vector

setGeomAndElec()

(destination message field) Assigns length and dia and accounts for any electrical scaling needed as a result.

process()

(destination message field) Handles 'process' call

reinit()

(destination message field) Handles 'reinit' call

initProc()

(destination message field) Handles Process call for the 'init' phase of the CompartmentBase calculations. These occur as a separate Tick cycle from the regular proc cycle, and should be called before the proc msg.

initReinit()

(destination message field) Handles Reinit call for the 'init' phase of the CompartmentBase calculations.

handleChannel()

(destination message field) Handles conductance and Reversal potential arguments from Channel

handleRaxial()

(destination message field) Handles Raxial info: arguments are Ra and Vm.

handleAxial()

(destination message field) Handles Axial information. Argument is just Vm.

VmOut

double (source message field) Sends out Vm value of compartment on each timestep

axialOut

double (source message field) Sends out Vm value of compartment to adjacent compartments,on each timestep

raxialOut

double,double (source message field) Sends out Raxial information on each timestep, fields are Ra and Vm

Vm

double (value field) membrane potential

Cm

double (value field) Membrane capacitance

Em

double (value field) Resting membrane potential

Im

double (value field) Current going through membrane

inject

double (value field) Current injection to deliver into compartment

initVm

double (value field) Initial value for membrane potential

Rm

double (value field) Membrane resistance

Ra

double (value field) Axial resistance of compartment

diameter

double (value field) Diameter of compartment

length

double (value field) Length of compartment

x0

double (value field) X coordinate of start of compartment

y0

double (value field) Y coordinate of start of compartment

z0

double (value field) Z coordinate of start of compartment

x

double (value field) x coordinate of end of compartment

y

double (value field) y coordinate of end of compartment

z

double (value field) z coordinate of end of compartment