001    package edu.jhu.mb.ernst.model;
002    
003    import edu.jhu.mb.ernst.engine.DiscreteEvent;
004    import edu.jhu.mb.ernst.util.seq.Seq;
005
006    /***********************************************************************
007    * Factory for creating model instances.
008    * 
009    * @version
010    *   $Date: 2012-04-15 13:06:25 -0500 (Sun, 15 Apr 2012) $
011    *   $Rev: 7 $
012    *   $Author: croft $
013    * @since
014    *   2012-02-19
015    * @author
016    *   David Wallace Croft
017    ***********************************************************************/
018    public interface  ModelFactory
019    ////////////////////////////////////////////////////////////////////////
020    ////////////////////////////////////////////////////////////////////////
021    {
022    
023    ModulatedSynapse  createModulatedSynapse (
024      int    targetNeuronIndex,
025      byte   type,
026      float  weight );
027    
028    DiscreteEvent  createModulationDiscreteEvent (
029      double                 time,
030      String                 name,
031      double                 peakFactor,
032      Seq<ModulatedSynapse>  modulatedSynapseSeq );
033    
034    MutableSynapse  createMutableSynapse (
035      int    targetNeuronIndex,
036      byte   type,
037      float  weight );
038    
039    Synapse  createSynapse (
040      int    targetNeuronIndex,
041      byte   type,
042      float  weight );
043    
044    ////////////////////////////////////////////////////////////////////////
045    ////////////////////////////////////////////////////////////////////////
046    }