public interface Simulator extends VisiblyMutable, java.lang.Cloneable
VisiblyMutable.Event, VisiblyMutable.Listener, VisiblyMutable.NameChangeEvent, VisiblyMutable.NodeRemovedEvent
Modifier and Type | Method and Description |
---|---|
Probe |
addProbe(java.lang.String ensembleName,
int neuronIndex,
java.lang.String state,
boolean record) |
Probe |
addProbe(java.lang.String ensembleName,
Probeable target,
java.lang.String state,
boolean record) |
Probe |
addProbe(java.lang.String nodeName,
java.lang.String state,
boolean record) |
void |
addSimulatorListener(SimulatorListener listener) |
Simulator |
clone() |
Probe[] |
getProbes() |
void |
initialize(Network network)
Initializes the Simulator with a given Network, after which changes to the
Network MAY OR MAY NOT BE IGNORED.
|
void |
removeProbe(Probe probe) |
void |
removeSimulatorListener(SimulatorListener listener) |
void |
resetNetwork(boolean randomize,
boolean saveWeights)
Resets all Nodes in the simulated Network.
|
void |
resetProbes()
Resets all probes in the network, recursively including subnetworks.
|
void |
run(float startTime,
float endTime,
float stepSize)
Runs the Network for the given time range.
|
void |
run(float startTime,
float endTime,
float stepSize,
boolean topLevel)
Runs the Network for the given time range.
|
addChangeListener, removeChangeListener
void initialize(Network network)
network
- Network to set up for simulationvoid resetNetwork(boolean randomize, boolean saveWeights)
randomize
- True indicates reset to random initial condition (see
Resettable.reset(boolean)).saveWeights
- True indicates that the weights on
LinearExponentialTerminations should be saved rather than resetProbe addProbe(java.lang.String nodeName, java.lang.String state, boolean record) throws SimulationException
nodeName
- Name of a Probeable Node from which state is to be probedstate
- The name of the state variable to proberecord
- Probe retains history if trueSimulationException
- if the referenced Node can not be found, or is not Probeable, or does
not have the specified state variableProbe addProbe(java.lang.String ensembleName, int neuronIndex, java.lang.String state, boolean record) throws SimulationException
ensembleName
- Name of Ensemble containing a Probeable Neuron from which state is to be probedneuronIndex
- Index of the Neuron (from 0) within the specified Ensemblestate
- The name of the state variable to proberecord
- Probe retains history if trueSimulationException
- if the referenced Neuron can not be found, or is not Probeable, or does
not have the specified state variableProbe addProbe(java.lang.String ensembleName, Probeable target, java.lang.String state, boolean record) throws SimulationException
ensembleName
- Name of Ensemble the target belongs to. Null, if the target is
a top-level nodetarget
- Probeable targetstate
- The name of the state variable to proberecord
- Probe retains history if trueSimulationException
- if the referenced Neuron can not be found, or is not
Probeable, or does not have the specified state variablevoid removeProbe(Probe probe) throws SimulationException
probe
- Probe to be removedSimulationException
- if the referenced probe cannot be removedvoid resetProbes()
void run(float startTime, float endTime, float stepSize) throws SimulationException
startTime
- Simulation time at which running startsendTime
- Simulation time at which running stopsstepSize
- Length of time step at which the Network is run. This determines the
frequency with which outputs are passed between Ensembles, but individual
Neurons may run with different and/or variable time steps.SimulationException
- if a problem is encountered while trying to runvoid run(float startTime, float endTime, float stepSize, boolean topLevel) throws SimulationException
startTime
- Simulation time at which running startsendTime
- Simulation time at which running stopsstepSize
- Length of time step at which the Network is run. This determines the
frequency with which outputs are passed between Ensembles, but individual
Neurons may run with different and/or variable time steps.topLevel
- true if the network being run is the top level network, false if it
is a subnetworkSimulationException
- if a problem is encountered while trying to runProbe[] getProbes()
void addSimulatorListener(SimulatorListener listener)
listener
- A Simulator listener to be addedvoid removeSimulatorListener(SimulatorListener listener)
listener
- A Simulator listener to be removedSimulator clone() throws java.lang.CloneNotSupportedException
java.lang.CloneNotSupportedException