Пример #1
0
DictionaryDatum
Model::get_status( void )
{
  DictionaryDatum d = get_status_();

  std::vector< long > tmp( memory_.size() );
  for ( size_t t = 0; t < tmp.size(); ++t )
    tmp[ t ] = memory_[ t ].get_instantiations();

  ( *d )[ "instantiations" ] = Token( tmp );
  ( *d )[ "type_id" ] = LiteralDatum( kernel().model_manager.get_model( type_id_ )->get_name() );

  for ( size_t t = 0; t < tmp.size(); ++t )
    tmp[ t ] = memory_[ t ].get_total();

  ( *d )[ "capacity" ] = Token( tmp );

  for ( size_t t = 0; t < tmp.size(); ++t )
    tmp[ t ] = memory_[ t ].available();

  ( *d )[ "available" ] = Token( tmp );

  ( *d )[ "model" ] = LiteralDatum( get_name() );
  return d;
}
Пример #2
0
void
nest::Subnet::get_status( DictionaryDatum& dict ) const
{
  ( *dict )[ "number_of_children" ] = global_size();
  ( *dict )[ "label" ] = label_;
  ( *dict )[ "customdict" ] = customdict_;
  ( *dict )[ names::element_type ] = LiteralDatum( names::structure );
}
Пример #3
0
DictionaryDatum
Node::get_status_base()
{
  DictionaryDatum dict = get_status_dict_();

  assert( dict.valid() );

  // add information available for all nodes
  ( *dict )[ names::local ] = is_local();
  ( *dict )[ names::model ] = LiteralDatum( get_name() );

  // add information available only for local nodes
  if ( is_local() )
  {
    ( *dict )[ names::global_id ] = get_gid();
    ( *dict )[ names::frozen ] = is_frozen();
    ( *dict )[ names::node_uses_wfr ] = node_uses_wfr();
    ( *dict )[ names::thread ] = get_thread();
    ( *dict )[ names::vp ] = get_vp();
    if ( parent_ )
    {
      ( *dict )[ names::parent ] = parent_->get_gid();

      // LIDs are only sensible for nodes with parents.
      // Add 1 as we count lids internally from 0, but from
      // 1 in the user interface.
      ( *dict )[ names::local_id ] = get_lid() + 1;
    }
  }

  ( *dict )[ names::thread_local_id ] = get_thread_lid();
  ( *dict )[ names::supports_precise_spikes ] = is_off_grid();

  // This is overwritten with a corresponding value in the
  // base classes for stimulating and recording devices, and
  // in other special node classes
  ( *dict )[ names::element_type ] = LiteralDatum( names::neuron );

  // now call the child class' hook
  get_status( dict );

  assert( dict.valid() );
  return dict;
}
Пример #4
0
DictionaryDatum
ConnectionManager::get_synapse_status( index gid, synindex syn_id, port p, thread tid )
{
  assert_valid_syn_id( syn_id );

  DictionaryDatum dict( new Dictionary );
  validate_pointer( connections_[ tid ].get( gid ) )->get_synapse_status( syn_id, dict, p );
  ( *dict )[ names::source ] = gid;
  ( *dict )[ names::synapse_model ] = LiteralDatum( get_synapse_prototype( syn_id ).get_name() );

  return dict;
}
Пример #5
0
void
ModelsModule::init( SLIInterpreter* )
{
  register_model< iaf_neuron >( net_, "iaf_neuron" );
  register_model< iaf_chs_2007 >( net_, "iaf_chs_2007" );
  register_model< iaf_psc_alpha >( net_, "iaf_psc_alpha" );
  register_model< iaf_psc_alpha_multisynapse >( net_, "iaf_psc_alpha_multisynapse" );
  register_model< iaf_psc_delta >( net_, "iaf_psc_delta" );
  register_model< iaf_psc_exp >( net_, "iaf_psc_exp" );
  register_model< iaf_psc_exp_multisynapse >( net_, "iaf_psc_exp_multisynapse" );
  register_model< iaf_tum_2000 >( net_, "iaf_tum_2000" );
  register_model< amat2_psc_exp >( net_, "amat2_psc_exp" );
  register_model< mat2_psc_exp >( net_, "mat2_psc_exp" );
  register_model< parrot_neuron >( net_, "parrot_neuron" );
  register_model< pp_psc_delta >( net_, "pp_psc_delta" );
  register_model< pp_pop_psc_delta >( net_, "pp_pop_psc_delta" );

  register_model< ac_generator >( net_, "ac_generator" );
  register_model< dc_generator >( net_, "dc_generator" );
  register_model< spike_generator >( net_, "spike_generator" );
  register_model< poisson_generator >( net_, "poisson_generator" );
  register_model< pulsepacket_generator >( net_, "pulsepacket_generator" );
  register_model< noise_generator >( net_, "noise_generator" );
  register_model< step_current_generator >( net_, "step_current_generator" );
  register_model< mip_generator >( net_, "mip_generator" );
  register_model< sinusoidal_poisson_generator >( net_, "sinusoidal_poisson_generator" );
  register_model< ppd_sup_generator >( net_, "ppd_sup_generator" );
  register_model< gamma_sup_generator >( net_, "gamma_sup_generator" );
  register_model< sli_neuron >( net_, "sli_neuron" );
  register_model< ginzburg_neuron >( net_, "ginzburg_neuron" );
  register_model< mcculloch_pitts_neuron >( net_, "mcculloch_pitts_neuron" );
  register_model< izhikevich >( net_, "izhikevich" );
  register_model< spike_dilutor >( net_, "spike_dilutor" );

  register_model< spike_detector >( net_, "spike_detector" );
  register_model< spin_detector >( net_, "spin_detector" );
  register_model< Multimeter >( net_, "multimeter" );
  register_model< correlation_detector >( net_, "correlation_detector" );
  register_model< correlomatrix_detector >( net_, "correlomatrix_detector" );
  register_model< correlospinmatrix_detector >( net_, "correlospinmatrix_detector" );
  register_model< volume_transmitter >( net_, "volume_transmitter" );

  // Create voltmeter as a multimeter pre-configured to record V_m.
  /*BeginDocumentation
  Name: voltmeter - Device to record membrane potential from neurons.
  Synopsis: voltmeter Create

  Description:
  A voltmeter records the membrane potential (V_m) of connected nodes
  to memory, file or stdout.

  By default, voltmeters record values once per ms. Set the parameter
  /interval to change this. The recording interval cannot be smaller
  than the resolution.

  Results are returned in the /events entry of the status dictionary,
  which contains membrane potential as vector /V_m and pertaining
  times as vector /times and node GIDs as /senders, if /withtime and
  /withgid are set, respectively.

  Accumulator mode:
  Voltmeter can operate in accumulator mode. In this case, values for all recorded
  variables are added across all recorded nodes (but kept separate in time). This can
  be useful to record average membrane potential in a population.

  To activate accumulator mode, either set /to_accumulator to true, or set
  /record_to [ /accumulator ].  In accumulator mode, you cannot record to file,
  to memory, to screen, with GID or with weight. You must activate accumulator mode
  before simulating. Accumulator data is never written to file. You must extract it
  from the device using GetStatus.

  Remarks:
   - The voltmeter model is implemented as a multimeter preconfigured to
     record /V_m.
   - The set of variables to record and the recording interval must be set
     BEFORE the voltmeter is connected to any node, and cannot be changed
     afterwards.
   - A voltmeter cannot be frozen.
   - If you record with voltmeter in accumulator mode and some of the nodes
     you record from are frozen and others are not, data will only be collected
     from the unfrozen nodes. Most likely, this will lead to confusing results,
     so you should not use voltmeter with frozen nodes.

  Parameters:
       The following parameter can be set in the status dictionary:
       interval     double - Recording interval in ms

  Examples:
  SLI ] /iaf_cond_alpha Create /n Set
  SLI ] /voltmeter Create /vm Set
  SLI ] vm << /interval 0.5 >> SetStatus
  SLI ] vm n Connect
  SLI ] 10 Simulate
  SLI ] vm /events get info
  --------------------------------------------------
  Name                     Type                Value
  --------------------------------------------------
  senders                  intvectortype       <intvectortype>
  times                    doublevectortype    <doublevectortype>
  V_m                      doublevectortype    <doublevectortype>
  --------------------------------------------------
  Total number of entries: 3


  Sends: DataLoggingRequest

  SeeAlso: Device, RecordingDevice, multimeter
  */
  Dictionary vmdict;
  ArrayDatum ad;
  ad.push_back( LiteralDatum( names::V_m.toString() ) );
  vmdict[ names::record_from ] = ad;
  register_preconf_model< Multimeter >( net_, "voltmeter", vmdict );

#ifdef HAVE_GSL
  register_model< iaf_chxk_2008 >( net_, "iaf_chxk_2008" );
  register_model< iaf_cond_alpha >( net_, "iaf_cond_alpha" );
  register_model< iaf_cond_exp >( net_, "iaf_cond_exp" );
  register_model< iaf_cond_exp_sfa_rr >( net_, "iaf_cond_exp_sfa_rr" );
  register_model< iaf_cond_alpha_mc >( net_, "iaf_cond_alpha_mc" );
  register_model< hh_psc_alpha >( net_, "hh_psc_alpha" );
  register_model< hh_psc_alpha_gap >( net_, "hh_psc_alpha_gap" );
  register_model< hh_cond_exp_traub >( net_, "hh_cond_exp_traub" );
  register_model< sinusoidal_gamma_generator >( net_, "sinusoidal_gamma_generator" );
#endif

#ifdef HAVE_GSL_1_11
  register_model< aeif_cond_alpha >( net_, "aeif_cond_alpha" );
  register_model< aeif_cond_exp >( net_, "aeif_cond_exp" );
  register_model< ht_neuron >( net_, "ht_neuron" );
#endif
  // This version of the AdEx model does not depend on GSL.
  register_model< aeif_cond_alpha_RK5 >( net_, "aeif_cond_alpha_RK5" );
  register_model< aeif_cond_alpha_multisynapse >( net_, "aeif_cond_alpha_multisynapse" );

#ifdef HAVE_MUSIC
  //// proxies for inter-application communication using MUSIC
  register_model< music_event_in_proxy >( net_, "music_event_in_proxy" );
  register_model< music_event_out_proxy >( net_, "music_event_out_proxy" );
  register_model< music_cont_in_proxy >( net_, "music_cont_in_proxy" );
  register_model< music_message_in_proxy >( net_, "music_message_in_proxy" );
#endif

  // register synapses

  /* BeginDocumentation
     Name: static_synapse_hpc - Variant of static_synapse with low memory consumption.

     Description:
     hpc synapses store the target neuron in form of a 2 Byte index instead of an
     8 Byte pointer. This limits the number of thread local neurons to 65,536.
     No support for different receptor types.
     Otherwise identical to static_synapse.

     SeeAlso: synapsedict, static_synapse
  */
  register_connection_model< StaticConnection< TargetIdentifierPtrRport > >(
    net_, "static_synapse" );
  register_connection_model< StaticConnection< TargetIdentifierIndex > >(
    net_, "static_synapse_hpc" );


  /* BeginDocumentation
     Name: static_synapse_hom_w_hpc - Variant of static_synapse_hom_w with low memory consumption.
     SeeAlso: synapsedict, static_synapse_hom_w, static_synapse_hpc
  */
  register_connection_model< StaticConnectionHomW< TargetIdentifierPtrRport > >(
    net_, "static_synapse_hom_w" );
  register_connection_model< StaticConnectionHomW< TargetIdentifierIndex > >(
    net_, "static_synapse_hom_w_hpc" );

  /* BeginDocumentation
     Name: gap_junction - Connection model for gap junctions.
     SeeAlso: synapsedict
  */
  register_secondary_connection_model< GapJunction< TargetIdentifierPtrRport > >(
    net_, "gap_junction", false );


  /* BeginDocumentation
     Name: stdp_synapse_hpc - Variant of stdp_synapse with low memory consumption.
     SeeAlso: synapsedict, stdp_synapse, static_synapse_hpc
  */
  register_connection_model< STDPConnection< TargetIdentifierPtrRport > >( net_, "stdp_synapse" );
  register_connection_model< STDPConnection< TargetIdentifierIndex > >( net_, "stdp_synapse_hpc" );


  /* BeginDocumentation
     Name: stdp_pl_synapse_hom_hpc - Variant of stdp_pl_synapse_hom with low memory consumption.
     SeeAlso: synapsedict, stdp_pl_synapse_hom, static_synapse_hpc
  */
  register_connection_model< STDPPLConnectionHom< TargetIdentifierPtrRport > >(
    net_, "stdp_pl_synapse_hom" );
  register_connection_model< STDPPLConnectionHom< TargetIdentifierIndex > >(
    net_, "stdp_pl_synapse_hom_hpc" );


  /* BeginDocumentation
     Name: stdp_triplet_synapse_hpc - Variant of stdp_triplet_synapse with low memory consumption.
     SeeAlso: synapsedict, stdp_synapse, static_synapse_hpc
  */
  register_connection_model< STDPTripletConnection< TargetIdentifierPtrRport > >(
    net_, "stdp_triplet_synapse" );
  register_connection_model< STDPTripletConnection< TargetIdentifierIndex > >(
    net_, "stdp_triplet_synapse_hpc" );


  /* BeginDocumentation
     Name: quantal_stp_synapse_hpc - Variant of quantal_stp_synapse with low memory consumption.
     SeeAlso: synapsedict, quantal_stp_synapse, static_synapse_hpc
  */
  register_connection_model< Quantal_StpConnection< TargetIdentifierPtrRport > >(
    net_, "quantal_stp_synapse" );
  register_connection_model< Quantal_StpConnection< TargetIdentifierIndex > >(
    net_, "quantal_stp_synapse_hpc" );


  /* BeginDocumentation
     Name: stdp_synapse_hom_hpc - Variant of quantal_stp_synapse with low memory consumption.
     SeeAlso: synapsedict, stdp_synapse_hom, static_synapse_hpc
  */
  register_connection_model< STDPConnectionHom< TargetIdentifierPtrRport > >(
    net_, "stdp_synapse_hom" );
  register_connection_model< STDPConnectionHom< TargetIdentifierIndex > >(
    net_, "stdp_synapse_hom_hpc" );


  /* BeginDocumentation
     Name: stdp_facetshw_synapse_hom_hpc - Variant of stdp_facetshw_synapse_hom with low memory
     consumption.
     SeeAlso: synapsedict, stdp_facetshw_synapse_hom, static_synapse_hpc
  */
  register_connection_model< STDPFACETSHWConnectionHom< TargetIdentifierPtrRport > >(
    net_, "stdp_facetshw_synapse_hom" );
  register_connection_model< STDPFACETSHWConnectionHom< TargetIdentifierIndex > >(
    net_, "stdp_facetshw_synapse_hom_hpc" );


  /* BeginDocumentation
     Name: cont_delay_synapse_hpc - Variant of cont_delay_synapse with low memory consumption.
     SeeAlso: synapsedict, cont_delay_synapse, static_synapse_hpc
  */
  register_connection_model< ContDelayConnection< TargetIdentifierPtrRport > >(
    net_, "cont_delay_synapse" );
  register_connection_model< ContDelayConnection< TargetIdentifierIndex > >(
    net_, "cont_delay_synapse_hpc" );


  /* BeginDocumentation
     Name: tsodyks_synapse_hpc - Variant of tsodyks_synapse with low memory consumption.
     SeeAlso: synapsedict, tsodyks_synapse, static_synapse_hpc
  */
  register_connection_model< TsodyksConnection< TargetIdentifierPtrRport > >(
    net_, "tsodyks_synapse" );
  register_connection_model< TsodyksConnection< TargetIdentifierIndex > >(
    net_, "tsodyks_synapse_hpc" );


  /* BeginDocumentation
     Name: tsodyks_synapse_hom_hpc - Variant of tsodyks_synapse_hom with low memory consumption.
     SeeAlso: synapsedict, tsodyks_synapse_hom, static_synapse_hpc
  */
  register_connection_model< TsodyksConnectionHom< TargetIdentifierPtrRport > >(
    net_, "tsodyks_synapse_hom" );
  register_connection_model< TsodyksConnectionHom< TargetIdentifierIndex > >(
    net_, "tsodyks_synapse_hom_hpc" );


  /* BeginDocumentation
     Name: tsodyks2_synapse_hpc - Variant of tsodyks2_synapse with low memory consumption.
     SeeAlso: synapsedict, tsodyks2_synapse, static_synapse_hpc
  */
  register_connection_model< Tsodyks2Connection< TargetIdentifierPtrRport > >(
    net_, "tsodyks2_synapse" );
  register_connection_model< Tsodyks2Connection< TargetIdentifierIndex > >(
    net_, "tsodyks2_synapse_hpc" );


  /* BeginDocumentation
     Name: ht_synapse_hpc - Variant of ht_synapse with low memory consumption.
     SeeAlso: synapsedict, ht_synapse, static_synapse_hpc
  */
  register_connection_model< HTConnection< TargetIdentifierPtrRport > >( net_, "ht_synapse" );
  register_connection_model< HTConnection< TargetIdentifierIndex > >( net_, "ht_synapse_hpc" );


  /* BeginDocumentation
     Name: stdp_dopamine_synapse_hpc - Variant of stdp_dopamine_synapse with low memory consumption.
     SeeAlso: synapsedict, stdp_dopamine_synapse, static_synapse_hpc
  */
  register_connection_model< STDPDopaConnection< TargetIdentifierPtrRport > >(
    net_, "stdp_dopamine_synapse" );
  register_connection_model< STDPDopaConnection< TargetIdentifierIndex > >(
    net_, "stdp_dopamine_synapse_hpc" );

  /* BeginDocumentation
     Name: stdp_serotonine_synapse
  */
  register_connection_model< STDPH5Connection< TargetIdentifierPtrRport > >(
     net_, "stdp_serotonine_synapse" );
}
Пример #6
0
  void ModelsModule::init(SLIInterpreter *)
  {
    register_model<iaf_neuron>(net_,                 "iaf_neuron");
    register_model<iaf_chs_2007>(net_,               "iaf_chs_2007");
    register_model<iaf_psc_alpha>(net_,              "iaf_psc_alpha");
    register_model<iaf_psc_alpha_multisynapse>(net_, "iaf_psc_alpha_multisynapse");
    register_model<iaf_psc_delta>(net_,              "iaf_psc_delta");
    register_model<iaf_psc_exp>(net_,                "iaf_psc_exp");
    register_model<iaf_psc_exp_multisynapse>(net_, "iaf_psc_exp_multisynapse");
    register_model<iaf_tum_2000>(net_,               "iaf_tum_2000");
    register_model<amat2_psc_exp>(net_,              "amat2_psc_exp");
    register_model<mat2_psc_exp>(net_,               "mat2_psc_exp");
    register_model<parrot_neuron>(net_,              "parrot_neuron");
    register_model<pp_psc_delta>(net_,               "pp_psc_delta");
    register_model<pp_pop_psc_delta>(net_,           "pp_pop_psc_delta");

    register_model<ac_generator>(net_,           "ac_generator");
    register_model<dc_generator>(net_,           "dc_generator");
    register_model<spike_generator>(net_,        "spike_generator");
    register_model<poisson_generator>(net_,      "poisson_generator");
    register_model<pulsepacket_generator>(net_,  "pulsepacket_generator");
    register_model<noise_generator>(net_,        "noise_generator");
    register_model<step_current_generator>(net_, "step_current_generator");
    register_model<mip_generator>(net_,          "mip_generator");
    register_model<sinusoidal_poisson_generator>(net_,"sinusoidal_poisson_generator");
    register_model<ppd_sup_generator>(net_,      "ppd_sup_generator");
    register_model<gamma_sup_generator>(net_,    "gamma_sup_generator");
    register_model<sli_neuron>(net_,             "sli_neuron");
    register_model<ginzburg_neuron>(net_,        "ginzburg_neuron");
    register_model<mcculloch_pitts_neuron>(net_, "mcculloch_pitts_neuron");
    register_model<izhikevich>(net_,             "izhikevich");

    register_model<spike_detector>(net_,       "spike_detector");
    register_model<spin_detector>(net_,       "spin_detector");
    register_model<Multimeter>(net_,           "multimeter");
    register_model<correlation_detector>(net_, "correlation_detector");
    register_model<correlomatrix_detector>(net_, "correlomatrix_detector");
    register_model<volume_transmitter>(net_, "volume_transmitter");

    // Create voltmeter as a multimeter pre-configured to record V_m.
    Dictionary vmdict;
    ArrayDatum ad;
    ad.push_back(LiteralDatum(names::V_m.toString())); 
    vmdict[names::record_from] = ad;
    register_preconf_model<Multimeter>(net_, "voltmeter", vmdict);

#ifdef HAVE_GSL
    register_model<iaf_chxk_2008>(net_,       "iaf_chxk_2008");
    register_model<iaf_cond_alpha>(net_,      "iaf_cond_alpha");
    register_model<iaf_cond_exp>(net_,        "iaf_cond_exp");
    register_model<iaf_cond_exp_sfa_rr>(net_, "iaf_cond_exp_sfa_rr");
    register_model<iaf_cond_alpha_mc>(net_,   "iaf_cond_alpha_mc");
    register_model<hh_psc_alpha>(net_,        "hh_psc_alpha");
    register_model<hh_cond_exp_traub>(net_,   "hh_cond_exp_traub");
    register_model<sinusoidal_gamma_generator>(net_,"sinusoidal_gamma_generator");
#endif

#ifdef HAVE_GSL_1_11
    register_model<aeif_cond_alpha>(net_, "aeif_cond_alpha");
    register_model<aeif_cond_exp>(net_, "aeif_cond_exp");
    register_model<ht_neuron>(net_,       "ht_neuron");
#endif
    // This version of the AdEx model does not depend on GSL.
    register_model<aeif_cond_alpha_RK5>(net_, "aeif_cond_alpha_RK5");
    register_model<aeif_cond_alpha_multisynapse>(net_, "aeif_cond_alpha_multisynapse");

#ifdef HAVE_MUSIC 
    //// proxies for inter-application communication using MUSIC
    register_model<music_event_in_proxy>(net_, "music_event_in_proxy");
    register_model<music_event_out_proxy>(net_, "music_event_out_proxy");
    register_model<music_cont_in_proxy>(net_, "music_cont_in_proxy");
    register_model<music_message_in_proxy>(net_, "music_message_in_proxy");
#endif

    // register synapses

/* BeginDocumentation
   Name: static_synapse_hpc - Variant of static_synapse with low memory consumption.

   Description:
   hpc synapses store the target neuron in form of a 2 Byte index instead of an
   8 Byte pointer. This limits the number of thread local neurons to 65,536.
   No support for different receptor types.
   Otherwise identical to static_synapse.

   SeeAlso: synapsedict, static_synapse
*/
    register_connection_model < StaticConnection<TargetIdentifierPtrRport> > (net_,    "static_synapse");  
    register_connection_model < StaticConnection<TargetIdentifierIndex> > (net_,    "static_synapse_hpc");
  

/* BeginDocumentation
   Name: static_synapse_hom_w_hpc - Variant of static_synapse_hom_w with low memory consumption.
   SeeAlso: synapsedict, static_synapse_hom_w, static_synapse_hpc
*/
    register_connection_model < StaticConnectionHomW<TargetIdentifierPtrRport> > (net_, "static_synapse_hom_w");
    register_connection_model < StaticConnectionHomW<TargetIdentifierIndex> > (net_, "static_synapse_hom_w_hpc");


/* BeginDocumentation
   Name: stdp_synapse_hpc - Variant of stdp_synapse with low memory consumption.
   SeeAlso: synapsedict, stdp_synapse, static_synapse_hpc
*/
    register_connection_model < STDPConnection<TargetIdentifierPtrRport> > (net_,      "stdp_synapse");
    register_connection_model < STDPConnection<TargetIdentifierIndex> > (net_,      "stdp_synapse_hpc");


/* BeginDocumentation
   Name: stdp_pl_synapse_hom_hpc - Variant of stdp_pl_synapse_hom with low memory consumption.
   SeeAlso: synapsedict, stdp_pl_synapse_hom, static_synapse_hpc
*/
    register_connection_model < STDPPLConnectionHom<TargetIdentifierPtrRport> > (net_, "stdp_pl_synapse_hom");
    register_connection_model < STDPPLConnectionHom<TargetIdentifierIndex> > (net_, "stdp_pl_synapse_hom_hpc");


/* BeginDocumentation
   Name: quantal_stp_synapse_hpc - Variant of quantal_stp_synapse with low memory consumption.
   SeeAlso: synapsedict, quantal_stp_synapse, static_synapse_hpc
*/
    register_connection_model < Quantal_StpConnection<TargetIdentifierPtrRport> > (net_, "quantal_stp_synapse");
    register_connection_model < Quantal_StpConnection<TargetIdentifierIndex> > (net_, "quantal_stp_synapse_hpc");


/* BeginDocumentation
   Name: stdp_synapse_hom_hpc - Variant of quantal_stp_synapse with low memory consumption.
   SeeAlso: synapsedict, stdp_synapse_hom, static_synapse_hpc
*/    
    register_connection_model < STDPConnectionHom<TargetIdentifierPtrRport> > (net_, "stdp_synapse_hom");
    register_connection_model < STDPConnectionHom<TargetIdentifierIndex> > (net_, "stdp_synapse_hom_hpc");


/* BeginDocumentation
   Name: stdp_facetshw_synapse_hom_hpc - Variant of stdp_facetshw_synapse_hom with low memory consumption.
   SeeAlso: synapsedict, stdp_facetshw_synapse_hom, static_synapse_hpc
*/
    register_connection_model < STDPFACETSHWConnectionHom<TargetIdentifierPtrRport> > (net_, "stdp_facetshw_synapse_hom");
    register_connection_model < STDPFACETSHWConnectionHom<TargetIdentifierIndex> > (net_, "stdp_facetshw_synapse_hom_hpc");


/* BeginDocumentation
   Name: cont_delay_synapse_hpc - Variant of cont_delay_synapse with low memory consumption.
   SeeAlso: synapsedict, cont_delay_synapse, static_synapse_hpc
*/
    register_connection_model < ContDelayConnection<TargetIdentifierPtrRport> > (net_, "cont_delay_synapse");
    register_connection_model < ContDelayConnection<TargetIdentifierIndex> > (net_, "cont_delay_synapse_hpc");


/* BeginDocumentation
   Name: tsodyks_synapse_hpc - Variant of tsodyks_synapse with low memory consumption.
   SeeAlso: synapsedict, tsodyks_synapse, static_synapse_hpc
*/
    register_connection_model < TsodyksConnection<TargetIdentifierPtrRport> > (net_,    "tsodyks_synapse");
    register_connection_model < TsodyksConnection<TargetIdentifierIndex> > (net_,    "tsodyks_synapse_hpc");


/* BeginDocumentation
   Name: tsodyks2_synapse_hpc - Variant of tsodyks2_synapse with low memory consumption.
   SeeAlso: synapsedict, tsodyks2_synapse, static_synapse_hpc
*/
    register_connection_model < Tsodyks2Connection<TargetIdentifierPtrRport> > (net_,    "tsodyks2_synapse");
    register_connection_model < Tsodyks2Connection<TargetIdentifierIndex> > (net_,    "tsodyks2_synapse_hpc");


/* BeginDocumentation
   Name: ht_synapse_hpc - Variant of ht_synapse with low memory consumption.
   SeeAlso: synapsedict, ht_synapse, static_synapse_hpc
*/
    register_connection_model < HTConnection<TargetIdentifierPtrRport> > (net_,    "ht_synapse");
    register_connection_model < HTConnection<TargetIdentifierIndex> > (net_,    "ht_synapse_hpc"); 


/* BeginDocumentation
   Name: stdp_dopamine_synapse_hpc - Variant of stdp_dopamine_synapse with low memory consumption.
   SeeAlso: synapsedict, stdp_dopamine_synapse, static_synapse_hpc
*/
    register_connection_model < STDPDopaConnection<TargetIdentifierPtrRport> > (net_, "stdp_dopamine_synapse");
    register_connection_model < STDPDopaConnection<TargetIdentifierIndex> > (net_, "stdp_dopamine_synapse_hpc");
  }