Package jsl.modeling.elements.station
Class NWayByChanceStationSender
- java.lang.Object
-
- jsl.simulation.ModelElement
-
- jsl.simulation.SchedulingElement
-
- jsl.modeling.elements.station.Station
-
- jsl.modeling.elements.station.NWayByChanceStationSender
-
- All Implemented Interfaces:
RandomElementIfc
,ReceiveQObjectIfc
,ObservableIfc
,StreamOptionIfc
,GetNameIfc
,IdentityIfc
,GetRandomNumberStreamIfc
,RNStreamControlIfc
,SetRandomNumberStreamIfc
public class NWayByChanceStationSender extends Station implements RandomElementIfc
This station will receive a QObject and immediately send it out to a randomly selected receiver
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jsl.simulation.ModelElement
ModelElement.EventBuilderIfc<T>, ModelElement.EventScheduler<T>, ModelElement.ModelElementComparator, ModelElement.RequestBuilder, ModelElement.RequestDurationIfc, ModelElement.RequestTimeIfc, ModelElement.RequestUsingIfc, ModelElement.TimedUpdateEventAction, ModelElement.TimeUnitIfc<T>, ModelElement.WarmUpEventAction
-
-
Field Summary
Fields Modifier and Type Field Description protected NWayByChanceQObjectSender
myNWaySender
-
Fields inherited from class jsl.simulation.ModelElement
AFTER_EXPERIMENT, AFTER_REPLICATION, BEFORE_EXPERIMENT, BEFORE_REPLICATION, CONDITIONAL_ACTION_REGISTRATION, DEFAULT_TIMED_EVENT_PRIORITY, INITIALIZED, MONTE_CARLO, myAfterExperimentOption, myAfterReplicationOption, myBeforeExperimentOption, myBeforeReplicationOption, myInitializationOption, myLengthOfWarmUp, myModelElements, myMonteCarloOption, myObservableComponent, myReplicationEndedOption, myTimedUpdateActionListener, myTimedUpdateEvent, myTimedUpdateInterval, myTimedUpdateOption, myTimedUpdatePriority, myWarmUpActionListener, myWarmUpEvent, myWarmUpIndicator, myWarmUpOption, myWarmUpPriority, NONE, REMOVED_FROM_MODEL, REPLICATION_ENDED, TIME_UNIT_DAY, TIME_UNIT_HOUR, TIME_UNIT_MILLISECOND, TIME_UNIT_MINUTE, TIME_UNIT_SECOND, TIME_UNIT_WEEK, TIMED_UPDATE, UPDATE, WARMUP
-
-
Constructor Summary
Constructors Constructor Description NWayByChanceStationSender(ModelElement parent, java.util.List<ReceiveQObjectIfc> elements, double[] cdf)
NWayByChanceStationSender(ModelElement parent, java.util.List<ReceiveQObjectIfc> elements, double[] cdf, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
advanceToNextSubstream()
Positions the RNG at the beginning of its next substreamboolean
contains(java.lang.Object arg0)
boolean
getAntitheticOption()
RNStreamIfc
getRandomNumberStream()
boolean
getResetNextSubStreamOption()
Gets the current reset next sub-stream option true means, that it is set to jump to the next sub-stream after each replicationboolean
getResetStartStreamOption()
Gets the current Reset Start Stream Optionint
getStreamNumber()
int
indexOf(java.lang.Object arg0)
boolean
isEmpty()
void
receive(QObject qObj)
void
resetStartStream()
The resetStartStream method will position the RNG at the beginning of its stream.void
resetStartSubstream()
Resets the position of the RNG at the start of the current substreamvoid
setAntitheticOption(boolean flag)
Tells the stream to start producing antithetic variatesvoid
setRandomNumberStream(int streamNumber)
Assigns the stream associated with the supplied number from the default RNStreamProvidervoid
setRandomNumberStream(RNStreamIfc stream)
Sets the underlying random number streamvoid
setResetNextSubStreamOption(boolean b)
Sets the current reset next sub-stream option true means, that it is set to jump to the next sub-stream after each replicationvoid
setResetStartStreamOption(boolean b)
Sets the reset start stream option, true means that it will be reset to the starting streamint
size()
-
Methods inherited from class jsl.modeling.elements.station.Station
getNextReceiver, getSender, send, setNextReceiver, setSender
-
Methods inherited from class jsl.simulation.SchedulingElement
cancelEvent, rescheduleEvent, rescheduleEvent, rescheduleEvent, rescheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent
-
Methods inherited from class jsl.simulation.ModelElement
addObserver, addObserverToModelElements, afterExperiment, afterExperiment_, afterReplication, afterReplication_, asString, beforeExperiment, beforeExperiment_, beforeReplication, beforeReplication_, buildEventGenerator, cancelTimedUpdateEvent, cancelWarmUpEvent, changeParentModelElement, checkForAfterExperiment, checkForAfterReplication, checkForBeforeExperiment, checkForBeforeReplication, checkForConditionalActionRegistration, checkForInitialize, checkForMonteCarlo, checkForRemoveFromModel, checkForReplicationEnded, checkForTimedUpdate, checkForUpdate, checkForWarmUp, checkObserverState, checkWarmUpOption, clearModelElementObservers, contains, countObservers, createEntity, createEntity, createQObject, day, deleteObserver, deleteObserverFromModelElements, deleteObservers, findModelElementWithWarmUpEvent, getAfterExperimentOption, getAfterReplicationOption, getAllCounters, getAllModelElements, getAllRandomElements, getAllResponseVariables, getAllVariables, getBeforeExperimentOption, getBeforeReplicationOption, getChildModelElementIterator, getCurrentReplicationNumber, getDefaultEntityType, getExecutive, getExperiment, getId, getInitializationOption, getInitializationOrderAsString, getLeftPreOrderTraversalCount, getLengthOfWarmUp, getModel, getModelElementCompartor, getModelElementsAsString, getModelElementsAsString, getModelElementsAsString, getMonteCarloOption, getName, getNumberOfModelElements, getObserverState, getParentModelElement, getPreviousObserverState, getReplicationEndedOption, getRightPreOrderTraversalCount, getSimulation, getSpatialModel, getStringLabel, getThisElementsCounters, getThisElementsModelElements, getThisElementsRandomVariables, getThisElementsResponseVariables, getThisElementsVariables, getTime, getTimedUpdateInterval, getTimedUpdateOption, getUpdateNotificationFlag, getVariable, getWarmUpEventTime, getWarmUpOption, hour, indent, initialize, initialize_, isTimedUpdateEventScheduled, isWarmedUp, isWarmUpEventScheduled, isWarmUpScheduled, millisecond, minute, montecarlo, montecarlo_, notifyAfterExperimentObservers, notifyAfterReplicationObservers, notifyBeforeExperimentObservers, notifyBeforeReplicationObservers, notifyConditionalActionRegistrationObservers, notifyInitializationObservers, notifyMonteCarloObservers, notifyObservers, notifyObservers, notifyRemovingFromModelObservers, notifyReplicationEndedObservers, notifyTimedUpdateObservers, notifyUpdateObservers, notifyWarmUpObservers, registerConditionalActions, registerConditionalActions_, removedFromModel, removeFromModel, replicationEnded, replicationEnded_, schedule, second, seize, setAfterExperimentOption, setAfterExperimentOptionForModelElements, setAfterReplicationOption, setAfterReplicationOptionForModelElements, setBeforeExperimentOption, setBeforeExperimentOptionForModelElements, setBeforeReplicationOption, setBeforeReplicationOptionForModelElements, setInitializationOption, setInitializationOptionForModelElements, setLengthOfWarmUp, setModel, setMonteCarloOption, setMonteCarloOptionForModelElements, setName, setObserverState, setParentModelElement, setReplicationEndedOption, setReplicationEndedOptionForModelElements, setSpatialModel, setStringLabel, setTimedUpdateInterval, setTimedUpdateOption, setTimedUpdateOptionForModelElements, setUpdateNotificationFlag, setWarmUpOption, setWarmUpOptionForModelElements, stopExecutive, stopExecutive, timedUpdate, timedUpdate_, toString, update, useControls, warmUp, warmUp_, week
-
-
-
-
Field Detail
-
myNWaySender
protected NWayByChanceQObjectSender myNWaySender
-
-
Constructor Detail
-
NWayByChanceStationSender
public NWayByChanceStationSender(ModelElement parent, java.util.List<ReceiveQObjectIfc> elements, double[] cdf)
-
NWayByChanceStationSender
public NWayByChanceStationSender(ModelElement parent, java.util.List<ReceiveQObjectIfc> elements, double[] cdf, java.lang.String name)
-
-
Method Detail
-
receive
public void receive(QObject qObj)
- Specified by:
receive
in interfaceReceiveQObjectIfc
-
size
public final int size()
-
isEmpty
public final boolean isEmpty()
-
indexOf
public final int indexOf(java.lang.Object arg0)
-
contains
public final boolean contains(java.lang.Object arg0)
-
resetStartStream
public void resetStartStream()
Description copied from interface:RNStreamControlIfc
The resetStartStream method will position the RNG at the beginning of its stream. This is the same location in the stream as assigned when the RNG was created and initialized.- Specified by:
resetStartStream
in interfaceRNStreamControlIfc
-
resetStartSubstream
public void resetStartSubstream()
Description copied from interface:RNStreamControlIfc
Resets the position of the RNG at the start of the current substream- Specified by:
resetStartSubstream
in interfaceRNStreamControlIfc
-
advanceToNextSubstream
public void advanceToNextSubstream()
Description copied from interface:RNStreamControlIfc
Positions the RNG at the beginning of its next substream- Specified by:
advanceToNextSubstream
in interfaceRNStreamControlIfc
-
setAntitheticOption
public void setAntitheticOption(boolean flag)
Description copied from interface:RNStreamControlIfc
Tells the stream to start producing antithetic variates- Specified by:
setAntitheticOption
in interfaceRNStreamControlIfc
- Parameters:
flag
- true means that it produces antithetic variates.
-
getAntitheticOption
public boolean getAntitheticOption()
- Specified by:
getAntitheticOption
in interfaceRNStreamControlIfc
- Returns:
- true means on
-
getResetNextSubStreamOption
public boolean getResetNextSubStreamOption()
Description copied from interface:StreamOptionIfc
Gets the current reset next sub-stream option true means, that it is set to jump to the next sub-stream after each replication- Specified by:
getResetNextSubStreamOption
in interfaceStreamOptionIfc
- Returns:
- the option
-
getResetStartStreamOption
public boolean getResetStartStreamOption()
Description copied from interface:StreamOptionIfc
Gets the current Reset Start Stream Option- Specified by:
getResetStartStreamOption
in interfaceStreamOptionIfc
- Returns:
- the option
-
setResetNextSubStreamOption
public void setResetNextSubStreamOption(boolean b)
Description copied from interface:StreamOptionIfc
Sets the current reset next sub-stream option true means, that it is set to jump to the next sub-stream after each replication- Specified by:
setResetNextSubStreamOption
in interfaceStreamOptionIfc
- Parameters:
b
- true means reset
-
setResetStartStreamOption
public void setResetStartStreamOption(boolean b)
Description copied from interface:StreamOptionIfc
Sets the reset start stream option, true means that it will be reset to the starting stream- Specified by:
setResetStartStreamOption
in interfaceStreamOptionIfc
- Parameters:
b
- true means reset
-
setRandomNumberStream
public void setRandomNumberStream(RNStreamIfc stream)
Description copied from interface:SetRandomNumberStreamIfc
Sets the underlying random number stream- Specified by:
setRandomNumberStream
in interfaceSetRandomNumberStreamIfc
- Parameters:
stream
- the reference to the random number stream, must not be null
-
setRandomNumberStream
public void setRandomNumberStream(int streamNumber)
Description copied from interface:SetRandomNumberStreamIfc
Assigns the stream associated with the supplied number from the default RNStreamProvider- Specified by:
setRandomNumberStream
in interfaceSetRandomNumberStreamIfc
- Parameters:
streamNumber
- a stream number, 1, 2, etc.
-
getRandomNumberStream
public RNStreamIfc getRandomNumberStream()
- Specified by:
getRandomNumberStream
in interfaceGetRandomNumberStreamIfc
- Returns:
- the random number stream reference
-
getStreamNumber
public int getStreamNumber()
- Specified by:
getStreamNumber
in interfaceGetRandomNumberStreamIfc
- Returns:
- the stream number allocated to the random variable by the default stream provider. This will return -1 if the random variable's underlying stream was not provided by the default stream provider
-
-