NEST  2.6.0,not_revisioned_source_dir@0
Namespaces | Classes | Typedefs | Functions | Variables
nest Namespace Reference

Class representing a synapse with Hill short term plasticity. More...

Namespaces

 names
 This namespace contains global Name objects.
 

Classes

class  AbstractLayer
 Abstract base class for Layers of unspecified dimension. More...
 
class  AbstractMask
 Abstract base class for masks with unspecified dimension. More...
 
class  ac_generator
 
class  aeif_cond_alpha
 
class  aeif_cond_alpha_multisynapse
 Conductance based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005) with multiple ports. More...
 
class  aeif_cond_alpha_RK5
 
class  aeif_cond_exp
 
class  AllMask
 Mask which covers all of space. More...
 
class  AllToAllBuilder
 
class  amat2_psc_exp
 Non-resetting leaky integrate-and-fire neuron model with exponential PSCs and adaptive threshold. More...
 
class  AnchoredMask
 Mask shifted by an anchor. More...
 
class  AnchoredParameter
 Parameter class representing a parameter centered at an anchor position. More...
 
class  Archiving_Node
 a node which archives spike history for the purposes of timing dependent plasticity More...
 
class  ArrayParameter
 Array parameter, returning values in order. More...
 
class  BadDelay
 Exception to be thrown if an invalid delay is used in a connection. More...
 
class  BadParameter
 Exception to be thrown if a parameter cannot be set. More...
 
class  BadProperty
 Exception to be thrown if a status parameter is incomplete or inconsistent. More...
 
class  BallMask
 Mask defining a circular or spherical region. More...
 
class  BernoulliBuilder
 
class  binary_neuron
 Binary stochastic neuron with linear or sigmoidal gain function. More...
 
struct  Box
 A box is defined by the lower left corner (minimum coordinates) and the upper right corner (maximum coordinates). More...
 
class  BoxMask
 Mask defining a box region. More...
 
class  CommonPropertiesHomW
 Class containing the common properties for all synapses with common weight. More...
 
class  CommonSynapseProperties
 Class containing the common properties for all connections of a certain type. More...
 
class  Communicator
 
class  ConductanceEvent
 Event for electrical conductances. More...
 
class  ConnBuilder
 Abstract base class for ConnBuilders. More...
 
class  ConnBuilderFactory
 Factory class for generating objects of type ConnBuilder. More...
 
class  Connection
 Base class for representing connections. More...
 
class  ConnectionCreator
 This class is a representation of the dictionary of connection properties given as an argument to the ConnectLayers function. More...
 
class  ConnectionGeneratorModule
 
class  ConnectionID
 
class  ConnectionManager
 Manages the available connection prototypes and connections. More...
 
class  Connector
 
class  Connector< 1, ConnectionT >
 
class  Connector< K_cutoff, ConnectionT >
 
class  ConnectorBase
 
class  ConnectorModel
 
class  ConnParameter
 
class  ConnTestDummyNodeBase
 Base class for dummy nodes used in connection testing. More...
 
class  ConstantParameter
 Parameter with constant value. More...
 
class  ContDelayConnection
 
class  ConverseMask
 Mask oriented in the opposite direction. More...
 
class  ConverseParameter
 Parameter class for a parameter oriented in the opposite direction. More...
 
class  correlation_detector
 Correlation detector class. More...
 
class  correlomatrix_detector
 Correlomatrixdetector class. More...
 
class  CurrentEvent
 Event for electrical currents. More...
 
class  DataEvent
 Event for transmitting arbitrary data. More...
 
class  DataLoggingReply
 Provide logged data through request transmitting reference. More...
 
class  DataLoggingRequest
 Request data to be logged/logged data to be sent. More...
 
class  dc_generator
 DC current generator. More...
 
class  Device
 Class implementing common interface and properties common for all devices. More...
 
class  DifferenceMask
 Mask combining two masks with a minus operation, the difference. More...
 
class  DifferenceParameter
 Parameter class representing the difference of two parameters. More...
 
class  DimensionMismatch
 Exception to be thrown if the dimensions of two or more objects do not agree. More...
 
class  DistributionError
 Exception to be thrown if a problem with the distribution of elements is encountered. More...
 
class  DoubleDataEvent
 
class  DSCurrentEvent
 "Callback request event" for use in Device. More...
 
class  DSSpikeEvent
 "Callback request event" for use in Device. More...
 
class  DynamicLoaderModule
 SLI interface of the Ddynamic module loader. More...
 
class  Event
 Encapsulates information which is sent between Nodes. More...
 
class  EventPTRPriority
 
class  ExponentialParameter
 Exponential parameter p(d) = c + a*exp(-d/tau). More...
 
class  FixedInDegreeBuilder
 
class  FixedOutDegreeBuilder
 
class  FixedTotalNumberBuilder
 
class  FreeLayer
 Layer with free positioning of neurons, positions specified by user. More...
 
class  gainfunction_ginzburg
 
class  gainfunction_mcculloch_pitts
 
class  gamma_sup_generator
 Generator of the spike output of a population of gamma processes with integer shape parameter. More...
 
class  Gaussian2DParameter
 Bivariate Gaussian parameter p(x,y) = c + p_center*exp( -( (x-mean_x)^2/sigma_x^2 + (y-mean_y)^2/sigma_y^2. More...
 
class  GaussianParameter
 Gaussian parameter p(d) = c + p_center*exp(-(d-mean)^2/(2*sigma^2)) More...
 
class  GenericConnBuilderFactory
 Generic factory class for ConnBuilder objects. More...
 
class  GenericConnectorModel
 
class  GenericFactory
 Generic Factory class for objects deriving from a base class BaseT. More...
 
class  GenericModel
 Generic Model template. More...
 
class  GIDCollection
 
class  GridLayer
 Layer with neurons placed in a grid. More...
 
class  GridMask
 Mask defined in terms of grid points rather than spacial coordinates. More...
 
class  GSLSolverFailure
 Exception to be thrown if a GSL solver does not return GSL_SUCCESS. More...
 
class  HetConnector
 
class  hh_cond_exp_traub
 
class  hh_psc_alpha
 
class  histentry
 
class  ht_neuron
 
class  HTConnection
 
class  iaf_chs_2007
 Neuron model used in Carandini et al 2007. More...
 
class  iaf_chxk_2008
 Integrate-and-fire neuron model with two conductance-based synapses. More...
 
class  iaf_cond_alpha
 Integrate-and-fire neuron model with two conductance-based synapses. More...
 
class  iaf_cond_alpha_mc
 
class  iaf_cond_exp
 
class  iaf_cond_exp_sfa_rr
 
class  iaf_neuron
 Leaky integrate-and-fire neuron. More...
 
class  iaf_psc_alpha
 Leaky integrate-and-fire neuron with alpha-shaped PSCs. More...
 
class  iaf_psc_alpha_canon
 Leaky iaf neuron, alpha PSC synapses, canonical implementation. More...
 
class  iaf_psc_alpha_multisynapse
 Leaky integrate-and-fire neuron with alpha-shaped PSCs. More...
 
class  iaf_psc_alpha_presc
 Leaky iaf neuron, alpha PSC synapses, canonical implementation. More...
 
class  iaf_psc_delta
 Leaky integrate-and-fire neuron with delta-shaped PSCs. More...
 
class  iaf_psc_delta_canon
 
class  iaf_psc_exp
 Leaky integrate-and-fire neuron with exponential PSCs. More...
 
class  iaf_psc_exp_multisynapse
 
class  iaf_psc_exp_ps
 Leaky iaf neuron, exponential PSC synapses, canonical implementation. More...
 
class  iaf_tum_2000
 Leaky integrate-and-fire neuron with exponential PSCs. More...
 
class  IllegalConnection
 To be thrown if a connection is not possible. More...
 
class  IncompatibleReceptorType
 Exception to be thrown if the specified receptor type does not accept the event type. More...
 
class  Instance
 Instance is a template is used to provide a pool-based management for arbitrary classes. More...
 
class  IntersectionMask
 Mask combining two masks with a Boolean AND, the intersection. More...
 
class  InvalidDefaultResolution
 Exception to be thrown on prototype construction if Time objects incompatible. More...
 
class  InvalidTimeInModel
 Exception to be thrown on instance construction if Time objects incompatible. More...
 
class  izhikevich
 
class  KernelException
 Base class for all Kernel exceptions. More...
 
class  Layer
 Abstract base class for Layer of given dimension (D=2 or 3). More...
 
class  LayerExpected
 Exception to be thrown if the wrong argument type is given to a function. More...
 
class  LinearParameter
 Linear (affine) parameter p(d) = c + a*d. More...
 
class  ListRingBuffer
 
class  LocalChildListIterator
 Iterator for traversal of all local immediate child nodes in a subnet. More...
 
class  LocalLeafListIterator
 Iterator for traversal of only local leaf nodes in a subnet. More...
 
class  LocalNodeExpected
 
class  LocalNodeListBase
 Template for list interface to network tree. More...
 
class  LocalNodeListIterator
 Iterator for post-order traversal of all local nodes in a subnet. More...
 
class  LognormalParameter
 Random parameter with lognormal distribution, optionally truncated to [min,max). More...
 
class  Mask
 Abstract base class for masks with given dimension. More...
 
class  MaskedLayer
 Class for applying masks to layers. More...
 
class  mat2_psc_exp
 Non-resetting leaky integrate-and-fire neuron model with exponential PSCs and adaptive threshold. More...
 
class  mip_generator
 class mip_generator More...
 
class  Model
 Base class for all Models. More...
 
class  ModelComp
 
class  ModelInUse
 Exception to be thrown if a (neuron/synapse) model with the the specified ID is used within the network and the providing module hence cannot be uninstalled. More...
 
class  modelrange
 
class  Modelrangemanager
 
class  ModelsModule
 Module supplying all models that are included in the NEST release. More...
 
class  MsgHandler
 
class  MultiIndex
 An index into a multidimensional array. More...
 
class  Multimeter
 General analog data recorder. More...
 
class  Multirange
 Class for sequences of ranges acting like a compressed vector. More...
 
class  MultRBuffer
 
class  music_cont_in_proxy
 Emit spikes at times received from another application via a MUSIC port. More...
 
class  music_event_in_proxy
 Emit spikes at times received from another application via a MUSIC port. More...
 
class  music_event_out_proxy
 
class  music_message_in_proxy
 Emit spikes at times received from another application via a MUSIC port. More...
 
class  MUSICChannelAlreadyMapped
 Exception to be thrown if the user tries to map a channel that exceeds the width of the MUSIC port. More...
 
class  MUSICChannelUnknown
 Exception to be thrown if the user tries to map a channel that exceeds the width of the MUSIC port. More...
 
class  MusicEventHandler
 Event handler for all events of a MUSIC port received on this process. More...
 
class  MUSICPortAlreadyPublished
 Exception to be thrown if the user tries to change the name of an already published port. More...
 
class  MUSICPortHasNoWidth
 Exception to be thrown if a music_event_out_proxy is generated, but the music port has no width. More...
 
class  MUSICPortUnconnected
 Exception to be thrown if a music_event_out_proxy is generated, but the music port is unmapped. More...
 
class  MUSICPortUnknown
 Exception to be thrown if the user tries to use a port that is not known to NEST. More...
 
class  MUSICSimulationHasRun
 Exception to be thrown if the user tries to change the name of an already published port. More...
 
class  NestModule
 SLI interface of the NEST kernel. More...
 
class  Network
 Main administrative interface to the network. More...
 
class  NewModelNameExists
 Exception to be thrown if a name requested for a user-defined model exist already. More...
 
class  Node
 Base class for all NEST network objects. More...
 
class  NodeWithProxiesExpected
 
class  noise_generator
 Gaussian white noise generator. More...
 
class  NormalParameter
 Random parameter with normal distribution, optionally truncated to [min,max). More...
 
class  NoThreadSiblingsAvailable
 Exception to be thrown if the specified Node does not exist. More...
 
class  Ntree
 A Ntree object represents a subtree or leaf in a Ntree structure. More...
 
class  NumericalInstability
 Exception to be thrown if numerical instabilities are detected. More...
 
class  OneToOneBuilder
 
class  Parameter
 Abstract base class for parameters. More...
 
class  parrot_neuron
 
class  parrot_neuron_ps
 
class  poisson_generator
 
class  poisson_generator_ps
 Poisson generator (with dead time) with precisely timed spikes. More...
 
class  Position
 
class  pp_pop_psc_delta
 Population of point process neurons with leaky integration of delta-shaped PSCs. More...
 
class  pp_psc_delta
 Point process neuron with leaky integration of delta-shaped PSCs. More...
 
class  ppd_sup_generator
 Generator of the spike output of a population of Poisson processes with dead time. More...
 
class  PreciseModule
 Module supplying models support precise spike timing. More...
 
class  ProductParameter
 Parameter class representing the product of two parameters. More...
 
class  proxynode
 Proxy Node to provide Nodes, where there aren't real Nodes to be. More...
 
class  PseudoRecordingDevice
 Base class for all pseudo recording devices. More...
 
class  pulsepacket_generator
 class pulsepacket_generator More...
 
class  Quantal_StpConnection
 
class  QuotientParameter
 Parameter class representing the quotient of two parameters. More...
 
class  RadialParameter
 Abstract base class for parameters only depending on distance. More...
 
class  RandomParameter
 Random scalar value. More...
 
class  RateEvent
 Event for firing rate information. More...
 
class  RecordablesMap
 Map names of recordables to data access functions. More...
 
class  RecordingDevice
 Base class for all recording devices. More...
 
class  relaxos_van_der_pol
 
class  RingBuffer
 Buffer Layout. More...
 
class  ScalarDoubleParameter
 Single double value. More...
 
class  ScalarIntegerParameter
 Single integer value. More...
 
class  Scheduler
 Schedule update of Nodes and Events during simulation. More...
 
struct  sDynModule
 
struct  Selector
 Contains rules for selecting nodes from a layer when connecting. More...
 
class  SiblingContainer
 SiblingContainer class. More...
 
class  SimulationError
 Exception to be thrown if the wrong argument type is given to a function. More...
 
class  sinusoidal_gamma_generator
 AC Gamma Generator. More...
 
class  sinusoidal_poisson_generator
 
class  sli_neuron
 neuron with state and dynamics defined as SLI code More...
 
class  SliceRingBuffer
 Queue for all spikes arriving into a neuron. More...
 
class  SparseNodeArray
 Provide sparse representation of local nodes. More...
 
class  spike_detector
 Spike detector class. More...
 
class  spike_generator
 Emit spikes at given times. More...
 
class  spikecounter
 
class  SpikeEvent
 Event for spike information. More...
 
class  spin_detector
 Spike detector class. More...
 
class  StaticConnection
 Class representing a static connection. More...
 
class  StaticConnectionHomW
 Class representing a static connection. More...
 
class  STDPConnection
 
class  STDPConnectionHom
 Class representing an STDP connection with homogeneous parameters, i.e. More...
 
class  STDPDopaCommonProperties
 Class containing the common properties for all synapses of type dopamine connection. More...
 
class  STDPDopaConnection
 Class representing an STDPDopaConnection with homogeneous parameters, i.e. More...
 
class  STDPFACETSHWConnectionHom
 Class representing an STDP connection with homogeneous parameters, i.e. More...
 
class  STDPFACETSHWHomCommonProperties
 Class containing the common properties for all synapses of type STDPFACETSHWConnectionHom. More...
 
class  STDPHomCommonProperties
 Class containing the common properties for all synapses of type STDPConnectionHom. More...
 
class  STDPPLConnectionHom
 Class representing an STDP connection with homogeneous parameters, i.e. More...
 
class  STDPPLHomCommonProperties
 Class containing the common properties for all synapses of type STDPConnectionHom. More...
 
class  step_current_generator
 
class  StepMultipleRequired
 Exception to be thrown if a Time object should be multiple of the resolution. More...
 
class  StimulatingDevice
 Base class for common properties of Stimulating Devices. More...
 
class  Stopwatch
 
class  Subnet
 Base class for all subnet nodes. More...
 
class  SubnetExpected
 Exception to be thrown if the wrong argument type is given to a function. More...
 
class  SumParameter
 Parameter class representing the sum of two parameters. More...
 
struct  SynIdDelay
 
class  TargetIdentifierIndex
 Class providing compact (hpc) target identified by index. More...
 
class  TargetIdentifierPtrRport
 Class providing classic target identified information with target pointer and rport. More...
 
class  Time
 
class  TimeConverter
 Class to convert times from one representation to another. More...
 
class  TimeModifier
 
class  TimeMultipleRequired
 Exception to be thrown if a Time object should be a multiple of another. More...
 
class  TopologyModule
 
class  Tsodyks2Connection
 
class  TsodyksConnection
 
class  UnexpectedEvent
 Exception to be thrown by the event handler of a node if it receives an event it cannot handle. More...
 
class  UniformParameter
 Random parameter with uniform distribution in [min,max) More...
 
class  UnionMask
 Mask combining two masks with a Boolean OR, the sum. More...
 
class  UnknownModelID
 Exception to be thrown if a model with the the specified ID does not exist. More...
 
class  UnknownModelName
 Exception to be thrown if a model with the the specified name does not exist. More...
 
class  UnknownNode
 Exception to be thrown if the specified Node does not exist. More...
 
class  UnknownPort
 To be thrown if a port does not exists. More...
 
class  UnknownReceptorType
 Exception to be thrown if the specified receptor type does not exist in the node. More...
 
class  UnknownSynapseType
 Exception to be thrown if the specified Synapse type does not exist. More...
 
class  UnknownThread
 Exception to be thrown if a thread id outside the range encountered. More...
 
class  UnsupportedEvent
 Exception to be thrown by a Connection object if a connection with an unsupported event type is attempted. More...
 
class  vector_like
 
class  volume_transmitter
 volume transmitter class. More...
 
class  Vose
 Vose's alias method for selecting a random number using a discrete probability distribution. More...
 

Typedefs

typedef lockPTRDatum
< ConnectionGenerator,&nest::ConnectionGeneratorModule::ConnectionGeneratorType
ConnectionGeneratorDatum
 
typedef binary_neuron
< nest::gainfunction_ginzburg
ginzburg_neuron
 
typedef nest::binary_neuron
< nest::gainfunction_mcculloch_pitts
mcculloch_pitts_neuron
 
typedef std::vector< sDynModulevecDynModules
 
typedef std::vector< DynModule * > vecLinkedModules
 
typedef long long tic_t
 Type for Time tics. More...
 
typedef double double_t
 Double precision floating point numbers. More...
 
typedef float float_t
 Single precision floating point numbers. More...
 
typedef int int_t
 Integer number with at least 16 bit. More...
 
typedef long long_t
 Integer number with at least 32 bit. More...
 
typedef unsigned int uint_t
 Unsigned int_t. More...
 
typedef unsigned long ulong_t
 Unsigned long_t. More...
 
typedef size_t index
 Unsigned long type for enumerations. More...
 
typedef unsigned char synindex
 Unsigned char type for enumerations of synapse types. More...
 
typedef unsigned short targetindex
 Unsigned short type for compact target representation. More...
 
typedef int_t thread
 Thread index type. More...
 
typedef long_t rport
 Connection port number to distinguish incoming connections, also called receiver port. More...
 
typedef long_t port
 Connection port number to distinguis outgoing connections. More...
 
typedef double_t weight
 Weight of a connection. More...
 
typedef long_t delay
 Delay of a connection. More...
 
typedef lockPTR< NetworkNetPtr
 Functor to compare Models by their name. More...
 
typedef LocalNodeListBase
< LocalNodeListIterator
LocalNodeList
 List interface to subnet providing iteration over all local nodes. More...
 
typedef LocalNodeListBase
< LocalChildListIterator
LocalChildList
 List interface to subnet providing iteration over immediate local child nodes. More...
 
typedef LocalNodeListBase
< LocalLeafListIterator
LocalLeafList
 List interface to subnet providing iteration over local leaf nodes. More...
 
typedef Communicator::OffGridSpike OffGridSpike
 
typedef lockPTRDatum
< AbstractMask,&TopologyModule::MaskType
MaskDatum
 
typedef lockPTRDatum
< Parameter,&TopologyModule::ParameterType
ParameterDatum
 

Functions

void cg_connect (ConnectionGeneratorDatum &cg, RangeSet &sources, index source_offset, RangeSet &targets, index target_offset, DictionaryDatum params_map, index syn)
 
void cg_connect (ConnectionGeneratorDatum &cg, RangeSet &sources, std::vector< long > &source_gids, RangeSet &targets, std::vector< long > &target_gids, DictionaryDatum params_map, index syn)
 
void cg_set_masks (ConnectionGeneratorDatum &cg, RangeSet &sources, RangeSet &targets)
 Set the masks on the ConnectionGenerator cg. More...
 
void cg_create_masks (std::vector< ConnectionGenerator::Mask > *masks, RangeSet &sources, RangeSet &targets)
 Create the masks for sources and targets based on the contiguous ranges given in sources and targets. More...
 
index cg_get_right_border (index left, size_t step, std::vector< long > &gids)
 Calculate the right border of the contiguous range of gids starting at left. More...
 
void cg_get_ranges (RangeSet &ranges, std::vector< long > &gids)
 Determine all contiguous ranges found in a given vector of gids and add the ranges to the given RangeSet. More...
 
std::ostream & operator<< (std::ostream &os, const Stopwatch &stopwatch)
 
int aeif_cond_alpha_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int aeif_cond_exp_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int hh_cond_exp_traub_dynamics (double, const double y[], double f[], void *pnode)
 
int hh_cond_exp_traub_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int hh_psc_alpha_dynamics (double, const double y[], double f[], void *pnode)
 
int hh_psc_alpha_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int ht_neuron_dynamics (double, const double y[], double f[], void *pnode)
 
int ht_neuron_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int iaf_chxk_2008_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int iaf_cond_alpha_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int iaf_cond_alpha_mc_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int iaf_cond_exp_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
int iaf_cond_exp_sfa_rr_dynamics (double, const double *, double *, void *)
 Function computing right-hand side of ODE for GSL solver. More...
 
bool update_value_int (const DictionaryDatum &d, Name propname, int &prop)
 
template<class ConnectionT >
synindex register_connection_model (Network &net, const std::string &name)
 Register a synape with default Connector and without any common properties. More...
 
bool has_name (DynModule const *const m, const std::string n)
 
bool operator< (const Event &, const Event &)
 
template<class ModelT >
index register_model (Network &net, const std::string &name, bool private_model=false)
 Register a model prototype with the network. More...
 
template<class ModelT >
index register_preconf_model (Network &net, const std::string &name, Dictionary &conf, bool private_model=false)
 Register a pre-configured model prototype with the network. More...
 
template<class ModelT >
index register_private_model (Network &net, const std::string &name)
 Register a private model prototype with the network. More...
 
template<class N >
time_abs (const N n)
 Class to handle simulation time and realtime. More...
 
template<>
long long time_abs (long long n)
 
bool operator== (const Time &t1, const Time &t2)
 
bool operator!= (const Time &t1, const Time &t2)
 
bool operator< (const Time &t1, const Time &t2)
 
bool operator> (const Time &t1, const Time &t2)
 
bool operator<= (const Time &t1, const Time &t2)
 
bool operator>= (const Time &t1, const Time &t2)
 
Time operator+ (const Time &t1, const Time &t2)
 
Time operator- (const Time &t1, const Time &t2)
 
Time operator* (const long_t factor, const Time &t)
 
Time operator* (const Time &t, long_t factor)
 
template<int D>
static bool gid_less (const std::pair< Position< D >, index > &a, const std::pair< Position< D >, index > &b)
 
static double_t mod (double_t x, double_t p)
 
template<int D, class T >
std::ostream & operator<< (std::ostream &os, const Position< D, T > &pos)
 
static AbstractMaskcreate_doughnut (const DictionaryDatum &d)
 

Variables

const double_t KNa_D_EQ = 0.001
 
const tic_t tic_t_max = LONG_LONG_MAX
 
const tic_t tic_t_min = LONG_LONG_MIN
 
const long_t long_t_max = LONG_MAX
 
const long_t long_t_min = LONG_MIN
 
const index invalid_index = std::numeric_limits<index>::max()
 
const synindex invalid_synindex = std::numeric_limits<synindex>::max()
 
const targetindex invalid_targetindex = std::numeric_limits<targetindex>::max()
 
const index max_targetindex = invalid_targetindex - 1
 
const thread invalid_thread_ = -1
 Value for invalid connection port number. More...
 
const rport invalid_port_ = -1
 Value for invalid connection port number. More...
 
const long_t delay_max = long_t_max
 
const long_t delay_min = long_t_min
 
const Time TimeZero
 

Detailed Description

Class representing a synapse with Hill short term plasticity.

Namespace for the NEST simulation kernel.

Base class for parameters provided to connection routines.

Class managing flexible connection creation.

Class representing a synapse with Tsodyks short term plasticity.

Class representing a synapse with Tsodyks short term plasticity, based on the iterative formula A suitable Connector containing these connections can be obtained from the template GenericConnector.

A suitale Connector containing these connections can be obtained from the template GenericConnector.

A suitable Connector containing these connections can be obtained from the template GenericConnector.

This is a very first draft, a very much stripped-down version of the Topology connection_creator.

Principles for these parameters are

Typedef Documentation

Delay of a connection.

The delay defines the number of simulation steps which elapse before an Event arrives at the receiving Node. Delays must be equal or larger than one.

typedef double nest::double_t

Double precision floating point numbers.

typedef float nest::float_t

Single precision floating point numbers.

typedef size_t nest::index

Unsigned long type for enumerations.

typedef int nest::int_t

Integer number with at least 16 bit.

List interface to subnet providing iteration over immediate local child nodes.

List interface to subnet providing iteration over local leaf nodes.

Note
Leaf nodes are those children that are not subnets. Empty subnets are not considered leaves.

List interface to subnet providing iteration over all local nodes.

typedef long nest::long_t

Integer number with at least 32 bit.

Functor to compare Models by their name.

typedef long_t nest::port

Connection port number to distinguis outgoing connections.

Connections between Nodes are assigned port numbers. Valid port numbers start at zero (0). The value -1 is used for invalid or unassigned ports.

Connection port number to distinguish incoming connections, also called receiver port.

Connections between Nodes are assigned port numbers. Valid port numbers start at zero (0). The value -1 is used for invalid or unassigned ports.

typedef unsigned char nest::synindex

Unsigned char type for enumerations of synapse types.

typedef unsigned short nest::targetindex

Unsigned short type for compact target representation.

See Kunkel et al, Front Neuroinform 8:78 (2014).target index into thread local node vector

Thread index type.

NEST threads are assigned non-negative numbers for identification. For invalid or undefined threads, the value -1 is used.

typedef long nest::tic_t

Type for Time tics.

typedef unsigned int nest::uint_t

Unsigned int_t.

typedef unsigned long nest::ulong_t

Unsigned long_t.

typedef std::vector<sDynModule> nest::vecDynModules
typedef std::vector<DynModule*> nest::vecLinkedModules

Weight of a connection.

Connections have a weight which is used to scale the influence of an event. A weight of 0 should have the same influence on the receiving node as a non-existing connection. Otherwise, there is no default range for connection weights.

Function Documentation

int nest::aeif_cond_alpha_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.

Referenced by nest::aeif_cond_alpha::init_buffers_().

int nest::aeif_cond_exp_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.

Referenced by nest::aeif_cond_exp::init_buffers_().

void nest::cg_connect ( ConnectionGeneratorDatum &  cg,
RangeSet sources,
index  source_offset,
RangeSet targets,
index  target_offset,
DictionaryDatum  params_map,
index  syn 
)
void nest::cg_connect ( ConnectionGeneratorDatum &  cg,
RangeSet sources,
std::vector< long > &  source_gids,
RangeSet targets,
std::vector< long > &  target_gids,
DictionaryDatum  params_map,
index  syn 
)
void nest::cg_create_masks ( std::vector< ConnectionGenerator::Mask > *  masks,
RangeSet sources,
RangeSet targets 
)

Create the masks for sources and targets based on the contiguous ranges given in sources and targets.

We need to do some index translation here, as the CG expects indices from 0..n for both source and target populations, while the RangeSets sources and targets contain NEST global indices (gids).

The masks for the sources must contain all nodes (local+remote). The skip of the mask was set to 1 in cg_set_masks(). The same source mask is stored n_proc times on each process.

The masks for the targets must only contain local nodes. This is achieved by first setting skip to num_processes upon creation of the mask in cg_set_masks(), and second by the fact that for each contiguous range of nodes in a mask, each of them contains the index-translated id of the first local neuron as the first entry. If this renders the range empty (i.e. because the first local id is beyond the last element of the range), the range is not added to the mask.

Parameters
masksThe std::vector of Masks to populate
sourcesThe source ranges to create the source masks from
targetsThe target ranges to create the target masks from
Note
Each process computes the full set of source and target masks, i.e. one mask per rank will be created on each rank.
Setting the masks for all processes on each process might become a memory bottleneck when going to very large numbers of processes. Especially so for the source masks, which are all the same. This could be solved by making the ConnectionGenerator interface MPI aware and communicating the masks during connection setup.

References nest::Communicator::get_num_processes(), Name::insert(), nest::names::source, and nest::names::target.

Referenced by cg_set_masks().

void nest::cg_get_ranges ( RangeSet ranges,
std::vector< long > &  gids 
)

Determine all contiguous ranges found in a given vector of gids and add the ranges to the given RangeSet.

Parameters
rangesA reference to the RangeSet to add to
gidsThe std::vector<long> of gids
Note
We do not store the indices into the given range, but instead we store the actual gids. This allows us to use CG generated indices as indices into the ranges spanned by the RangeSet. Index translation is done in cg_create_masks().

References cg_get_right_border().

Referenced by nest::ConnectionGeneratorModule::CGConnect_cg_iV_iV_D_lFunction::execute(), and nest::ConnectionGeneratorModule::CGSetMask_cg_iV_iVFunction::execute().

index nest::cg_get_right_border ( index  left,
size_t  step,
std::vector< long > &  gids 
)

Calculate the right border of the contiguous range of gids starting at left.

The element is found using a binary search with stepsize step.

Parameters
leftThe leftmost element of the range
stepThe step size for the binary search
gidsThe std::vector<long> of gids to search in

References assert().

Referenced by cg_get_ranges().

void nest::cg_set_masks ( ConnectionGeneratorDatum &  cg,
RangeSet sources,
RangeSet targets 
)

Set the masks on the ConnectionGenerator cg.

This function also creates the masks from the given RangeSets sources and targets.

Parameters
cgThe ConnectionGenerator to set the masks on
sourcesThe source ranges to create the source masks from
targetsThe target ranges to create the target masks from

References cg_create_masks(), nest::Communicator::get_num_processes(), and nest::Communicator::get_rank().

Referenced by cg_connect(), and nest::ConnectionGeneratorModule::CGSetMask_cg_iV_iVFunction::execute().

static AbstractMask* nest::create_doughnut ( const DictionaryDatum d)
static
template<int D>
static bool nest::gid_less ( const std::pair< Position< D >, index > &  a,
const std::pair< Position< D >, index > &  b 
)
static

References nest::names::a, and nest::names::b.

bool nest::has_name ( DynModule const *const  m,
const std::string  n 
)
int nest::hh_cond_exp_traub_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.
int nest::hh_cond_exp_traub_dynamics ( double  ,
const double  y[],
double  f[],
void *  pnode 
)
int nest::hh_psc_alpha_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.
int nest::hh_psc_alpha_dynamics ( double  ,
const double  y[],
double  f[],
void *  pnode 
)
int nest::ht_neuron_dynamics ( double  ,
const double  y[],
double  f[],
void *  pnode 
)
inline

References nest::ht_neuron::Parameters_::AMPA_E_rev, nest::ht_neuron::Parameters_::AMPA_Tau_1, nest::ht_neuron::Parameters_::AMPA_Tau_2, assert(), nest::ht_neuron::B_, nest::ht_neuron::Parameters_::E_K, nest::ht_neuron::Parameters_::E_Na, nest::ht_neuron::Parameters_::g_KL, nest::ht_neuron::Parameters_::g_NaL, nest::ht_neuron::State_::g_spike_, nest::ht_neuron::Parameters_::GABA_A_E_rev, nest::ht_neuron::Parameters_::GABA_A_Tau_1, nest::ht_neuron::Parameters_::GABA_A_Tau_2, nest::ht_neuron::Parameters_::GABA_B_E_rev, nest::ht_neuron::Parameters_::GABA_B_Tau_1, nest::ht_neuron::Parameters_::GABA_B_Tau_2, nest::ht_neuron::Parameters_::h_E_rev, nest::ht_neuron::Parameters_::h_g_peak, nest::ht_neuron::State_::I_h_, nest::ht_neuron::State_::I_KNa_, nest::ht_neuron::State_::I_NaP_, nest::ht_neuron::Buffers_::I_stim_, nest::names::I_syn, nest::ht_neuron::State_::I_T_, KNa_D_EQ, nest::ht_neuron::Parameters_::KNa_E_rev, nest::ht_neuron::Parameters_::KNa_g_peak, nest::ht_neuron::Parameters_::NaP_E_rev, nest::ht_neuron::Parameters_::NaP_g_peak, nest::ht_neuron::Parameters_::NMDA_E_rev, nest::ht_neuron::Parameters_::NMDA_Sact, nest::ht_neuron::Parameters_::NMDA_Tau_1, nest::ht_neuron::Parameters_::NMDA_Tau_2, nest::ht_neuron::Parameters_::NMDA_Vact, nest::ht_neuron::P_, nest::names::S, nest::ht_neuron::S_, nest::ht_neuron::Parameters_::T_E_rev, nest::ht_neuron::Parameters_::T_g_peak, nest::ht_neuron::Parameters_::Tau_m, nest::ht_neuron::Parameters_::Tau_spike, nest::ht_neuron::Parameters_::Tau_theta, and nest::ht_neuron::Parameters_::Theta_eq.

Referenced by nest::ht_neuron::init_buffers_().

int nest::ht_neuron_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.
int nest::iaf_chxk_2008_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.

Referenced by nest::iaf_chxk_2008::init_buffers_().

int nest::iaf_cond_alpha_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.

Referenced by nest::iaf_cond_alpha::init_buffers_().

int nest::iaf_cond_alpha_mc_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL.
No point in declaring it inline, since it is called through a function pointer.

Referenced by nest::iaf_cond_alpha_mc::init_buffers_().

int nest::iaf_cond_exp_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.

Referenced by nest::iaf_cond_exp::init_buffers_().

int nest::iaf_cond_exp_sfa_rr_dynamics ( double  ,
const double *  ,
double *  ,
void *   
)

Function computing right-hand side of ODE for GSL solver.

Note
Must be declared here so we can befriend it in class.
Must have C-linkage for passing to GSL. Internally, it is a first-class C++ function, but cannot be a member function because of the C-linkage.
No point in declaring it inline, since it is called through a function pointer.
Parameters
void*Pointer to model neuron instance.

Referenced by nest::iaf_cond_exp_sfa_rr::init_buffers_().

static double_t nest::mod ( double_t  x,
double_t  p 
)
inlinestatic
bool nest::operator!= ( const Time &  t1,
const Time &  t2 
)
inline

References nest::Time::tics.

Time nest::operator* ( const long_t  factor,
const Time &  t 
)
inline
Time nest::operator* ( const Time &  t,
long_t  factor 
)
inline
Time nest::operator+ ( const Time &  t1,
const Time &  t2 
)
inline
Time nest::operator- ( const Time &  t1,
const Time &  t2 
)
inline
bool nest::operator< ( const Event &  e1,
const Event &  e2 
)
inline
bool nest::operator< ( const Time &  t1,
const Time &  t2 
)
inline

References nest::Time::tics.

std::ostream& nest::operator<< ( std::ostream &  os,
const Stopwatch &  stopwatch 
)
template<int D, class T >
std::ostream & nest::operator<< ( std::ostream &  os,
const Position< D, T > &  pos 
)
bool nest::operator<= ( const Time &  t1,
const Time &  t2 
)
inline

References nest::Time::tics.

bool nest::operator== ( const Time &  t1,
const Time &  t2 
)
inline

References nest::Time::tics.

bool nest::operator> ( const Time &  t1,
const Time &  t2 
)
inline

References nest::Time::tics.

bool nest::operator>= ( const Time &  t1,
const Time &  t2 
)
inline

References nest::Time::tics.

template<class ConnectionT >
synindex nest::register_connection_model ( Network &  net,
const std::string &  name 
)

Register a synape with default Connector and without any common properties.

References nest::Network::register_synapse_prototype().

template<class ModelT >
index nest::register_model ( Network &  net,
const std::string &  name,
bool  private_model = false 
)

Register a model prototype with the network.

This function must be called exactly once for each model class to make it known to the network. The natural place for a call to this function is in a *module.cpp file.

Parameters
referenceto network
nameunder which model is to be known in simulator
Returns
Model ID assigned by network
See also
register_private_prototype_model, register_prototype_connection

References assert(), and nest::Network::register_model().

template<class ModelT >
index nest::register_preconf_model ( Network &  net,
const std::string &  name,
Dictionary conf,
bool  private_model = false 
)

Register a pre-configured model prototype with the network.

This function must be called exactly once for each model class to make it known to the network. The natural place for a call to this function is in a *module.cpp file.

Pre-configured models are models based on the same class, as another model, but have different parameter settings; e.g., voltmeter is a pre-configured multimeter.

Parameters
referenceto network
nameunder which model is to be known in simulator
dictionaryto use to pre-configure model
registeras private model if true
Returns
Model ID assigned by network
See also
register_private_prototype_model, register_prototype_connection

References Dictionary::all_accessed(), assert(), Dictionary::clear_access_flags(), nest::Network::register_model(), and nest::Model::set_status().

template<class ModelT >
index nest::register_private_model ( Network &  net,
const std::string &  name 
)

Register a private model prototype with the network.

Private model prototypes differ from normal ones in that they are not visible in the modeldict. This is important for node types that serve only as in-/output elements of layers, but cannot "live" independently.

Parameters
referenceto network
nameunder which model is to be known in simulator
Returns
Model ID assigned by network
See also
register_prototype_model, register_prototype_connection, layerdc_node, layerdc_generator
template<class N >
N nest::time_abs ( const N  n)
inline

Class to handle simulation time and realtime.

Main idea:

All times given in multiples of "tics": A "tic" is a microsecond by default, but may be changed through the option –with-tics_per_ms to configure.

User access to time only through accessor functions:

  • Times can be added, subtracted, and multiplied by ints
  • All real world time is given in ms as double
  • All computation is done based on tics

Three time variables are kept: #- time in tics #- time in ms #- time in steps

The largest representable time is available through Time::max().

  • The time base (tics per millisecond) can only be set at compile time and by the TimeModifier class.
  • Times in ms are rounded up to the next tic interval. This ensures that the time intervals (0, h] are open at the left point and closed at the right point. It also ensures compatibility with precise timing, namely that the offset u fulfills -h > u >= 0.
  • The resolution (tics per step) can only be set before the first node is created and before the simulation starts. The resolution can be changed after the network has been deleted and the time reset.
  • Implementers of models or methods containing persistent (member variable) Time objects, must ensure that these are recalibrated before the simulation starts. This is necessary to ensure that step values are updated after a change in resolution.
  • The default resolution can be changed using the –with-tics_per_step option to configure.

The step-time counter is NOT changed when the resolution is changed. This is of no consequence, since changes in resolution are permitted at t=0 only.

  • Neurons update themselves in min-delay intervals. During such a min-delay update step, time is in a sense undefined, since it is up to the model how it takes its dynamics across the interval. Any spikes emitted and voltage information returned must be fixed to time grid points.
  • One may later consider to introduce per-tread simulation time variables.

Is this entire setup still compatible with different step lengths in different subnets, or have we abandoned that idea?

Delays must be added to current time, and moduloed each time a spike is inserted into a ring buffer. That operation must be very fast, and there is no time for conversions. Thus, delays must be stored in steps. Given the large number of delays in a system, we cannot use class Time with its three member variables to store delays. Delays must thus be stored explicitly as delay steps.

Markus Diesmann, 2008-01-25 Hans Ekkehard Plesser, 2004-01-25, 2006-12-18 Marc-Oliver Gewaltig, 2004-01-27

Referenced by nest::Time::range().

template<>
long long nest::time_abs ( long long  n)
inline
bool nest::update_value_int ( const DictionaryDatum d,
Name  propname,
int &  prop 
)

Variable Documentation

const long_t nest::delay_max = long_t_max
const long_t nest::delay_min = long_t_min
const index nest::invalid_index = std::numeric_limits<index>::max()
const rport nest::invalid_port_ = -1
const synindex nest::invalid_synindex = std::numeric_limits<synindex>::max()
const targetindex nest::invalid_targetindex = std::numeric_limits<targetindex>::max()
const thread nest::invalid_thread_ = -1

Value for invalid connection port number.

Referenced by nest::Node::is_model_prototype().

const double_t nest::KNa_D_EQ = 0.001
const long_t nest::long_t_max = LONG_MAX
const long_t nest::long_t_min = LONG_MIN
const index nest::max_targetindex = invalid_targetindex - 1
const tic_t nest::tic_t_max = LONG_LONG_MAX
const tic_t nest::tic_t_min = LONG_LONG_MIN
const Time nest::TimeZero