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
; and uses std::string
for
cell_tag_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.
-
type
cell_tag_type
¶ For labels of cell-local data. Local labels are used for groups of items within a particular cell-local collection. Each label is associated with a range of
cell_lid_type
indexing the individual items on the cell. The range is generated when the model is built and is not directly available to the user.
-
enum
lid_selection_policy
¶ For selecting an individual item from a group of items sharing the same
cell_tag_type
label.-
enumerator
round_robin
¶ Iterate over the items of the group in a round-robin fashion.
-
enumerator
assert_univalent
¶ Assert that ony one item is available in the group. Throws an exception if the assertion fails.
-
enumerator
-
class
cell_local_label_type
¶ For local identification of an item on an unspecified cell. This is used for selecting the target of a connection or the local site of a gap junction connection. The cell
gid
is implicitly known from the recipe.-
cell_tag_type
tag
¶ Identifier of a group of items in a cell-local collection.
-
lid_selection_policy
policy
¶ Policy used for selecting a single item of the tagged group.
-
cell_tag_type
-
class
cell_global_label_type
¶ For global identification of an item on a cell. This is used for selecting the source of a connection or the peer site of a gap junction connection.
-
cell_gid_type
gid
¶ Global identifier of the cell associated with the item.
-
cell_local_label_type
label
¶ Identifier of a single item on the cell.
-
cell_gid_type
-
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:An example is uniquely identifying a probe description in the model. Each probe has a cell id (
gid
), and an index (index
) into the set of probes on the cell.Lexicographically ordered by
gid
, thenindex
.-
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.
-
cell_gid_type
-
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.
-
enumerator