Cells

Cell identifiers and indexes

These types, defined in common_types.hpp, are used as identifiers for cells and members of cell-local collections.

Note

Arbor uses std::unit32_t for cell_gid_type, cell_size_type, cell_lid_type, and cell_local_size_type at the time of writing, however this could change, e.g. to handle models that cell gid that don’t fit into a 32 bit unsigned integer. It is thus recommended that these type aliases be used whenever identifying or counting cells and cell members.

type cell_gid_type

An integer type used for identifying cells globally.

type cell_size_type

An unsigned integer for sizes of collections of cells. Unsigned type for counting cell_gid_type.

type cell_lid_type

For indexes into cell-local data. Local indices for items within a particular cell-local collection should be zero-based and numbered contiguously.

type cell_local_size_type

An unsigned integer for for counts of cell-local data.

class cell_member_type

For global identification of an item of cell local data. Items of cell_member_type must:

  • be associated with a unique cell, identified by the member gid;

  • identify an item within a cell-local collection by the member index.

An example is uniquely identifying a synapse in the model. Each synapse has a post-synaptic cell (gid), and an index (index) into the set of synapses on the post-synaptic cell.

Lexicographically ordered by gid, then index.

cell_gid_type gid

Global identifier of the cell containing/associated with the item.

cell_lid_type index

The index of the item in a cell-local collection.

enum class cell_kind

Enumeration used to identify the cell type/kind, used by the model to group equal kinds in the same cell group.

enumerator cable

A cell with morphology described by branching 1D cable segments.

enumerator lif

Leaky-integrate and fire neuron.

enumerator spike_source

Proxy cell that generates spikes from a spike sequence provided by the user.

enumerator benchmark

Proxy cell used for benchmarking.