public class EnsembleTermination extends java.lang.Object implements Termination
A Termination that is composed of Terminations onto multiple Nodes. The dimensions of the Terminations onto each Node must be the same.
Physiologically, this might correspond to a set of n axons passing into a neuron pool. Each neuron in the pool receives synaptic connections from as many as n of these axons (zero weight is equivalent to no connection). Sometimes we deal with this set of axons only in terms of the branches they send to one specific Neuron (a Node-level Termination) but here we deal with all branches (an Ensemble-level Termination). In either case the spikes transmitted by the axons are the same.
TODO: testConstructor and Description |
---|
EnsembleTermination(Node node,
java.lang.String name,
Termination[] nodeTerminations) |
Modifier and Type | Method and Description |
---|---|
EnsembleTermination |
clone() |
EnsembleTermination |
clone(Node node)
Clone method that changes necessary parameters to point to a new parent,
for use in cloning ensembles, etc.
|
int |
getDimensions() |
InstantaneousOutput |
getInput() |
boolean |
getModulatory()
Returns true if more than half of node terminations are modulatory.
|
java.lang.String |
getName() |
Node |
getNode() |
Termination[] |
getNodeTerminations() |
float |
getTau()
Returns the average.
|
void |
reset(boolean randomize) |
void |
setModulatory(boolean modulatory) |
void |
setTau(float tau) |
void |
setValues(InstantaneousOutput values) |
public EnsembleTermination(Node node, java.lang.String name, Termination[] nodeTerminations) throws StructuralException
node
- The parent Nodename
- Name of this TerminationnodeTerminations
- Node-level Terminations that make up this TerminationStructuralException
- If dimensions of different terminations are not all the samepublic java.lang.String getName()
getName
in interface Termination
Termination.getName()
public int getDimensions()
getDimensions
in interface Termination
Termination.getDimensions()
public void setValues(InstantaneousOutput values) throws SimulationException
setValues
in interface Termination
values
- InstantaneousOutput (eg from another Ensemble) to apply to this Termination.SimulationException
- if the given values have the wrong dimensionTermination.setValues(ca.nengo.model.InstantaneousOutput)
public InstantaneousOutput getInput()
getInput
in interface Termination
public boolean getModulatory()
getModulatory
in interface Termination
Termination.getModulatory()
public float getTau()
getTau
in interface Termination
Termination.getTau()
public void setModulatory(boolean modulatory)
setModulatory
in interface Termination
modulatory
- True if the Termination is to be modulatoryTermination.setModulatory(boolean)
public void setTau(float tau) throws StructuralException
setTau
in interface Termination
tau
- Time constant of dominant dynamicsStructuralException
- if the time constant cannot be changedTermination.setTau(float)
public Node getNode()
getNode
in interface Termination
Termination.getNode()
public Termination[] getNodeTerminations()
public void reset(boolean randomize)
reset
in interface Resettable
randomize
- True indicates that the object should be reset to a
randomly selected initial state (the object must be aware of the
distribution from which to draw from). False indicates that the
object should be reset to a fixed initial state (which it must
also know). Some objects may not support randomization of the initial
state, in which case a fixed state will be used in either case.Resettable.reset(boolean)
public EnsembleTermination clone() throws java.lang.CloneNotSupportedException
clone
in interface Termination
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
- if clone can't be madepublic EnsembleTermination clone(Node node) throws java.lang.CloneNotSupportedException
Termination
clone
in interface Termination
node
- New parent nodejava.lang.CloneNotSupportedException
- if clone cannot be made