Package jsl.modeling.elements.station
Class TwoWayByChanceQObjectSender
- java.lang.Object
-
- jsl.simulation.ModelElement
-
- jsl.modeling.elements.station.TwoWayByChanceQObjectSender
-
- All Implemented Interfaces:
RandomElementIfc,SendQObjectIfc,ObservableIfc,StreamOptionIfc,GetNameIfc,IdentityIfc,GetRandomNumberStreamIfc,RNStreamControlIfc,SetRandomNumberStreamIfc
public class TwoWayByChanceQObjectSender extends ModelElement implements SendQObjectIfc, RandomElementIfc
This model element randomly selects between two receivers (objects that implement ReceiveQObjectIfc) and sends the QObject to the chosen receiver. The first receiver is chosen with probability p and the second receiver is chosen with probability 1-p
-
-
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 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 TwoWayByChanceQObjectSender(ModelElement parent, double p, ReceiveQObjectIfc r1, ReceiveQObjectIfc r2)TwoWayByChanceQObjectSender(ModelElement parent, java.lang.String name, double p, ReceiveQObjectIfc r1, ReceiveQObjectIfc r2)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadvanceToNextSubstream()Positions the RNG at the beginning of its next substreambooleangetAntitheticOption()RNStreamIfcgetRandomNumberStream()booleangetResetNextSubStreamOption()Gets the current reset next sub-stream option true means, that it is set to jump to the next sub-stream after each replicationbooleangetResetStartStreamOption()Gets the current Reset Start Stream OptionintgetStreamNumber()voidresetStartStream()The resetStartStream method will position the RNG at the beginning of its stream.voidresetStartSubstream()Resets the position of the RNG at the start of the current substreamvoidsend(QObject qObj)voidsetAntitheticOption(boolean flag)Tells the stream to start producing antithetic variatesvoidsetFirstReceiver(ReceiveQObjectIfc r1)voidsetRandomNumberStream(int streamNumber)Assigns the stream associated with the supplied number from the default RNStreamProvidervoidsetRandomNumberStream(RNStreamIfc stream)Sets the underlying random number streamvoidsetResetNextSubStreamOption(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 replicationvoidsetResetStartStreamOption(boolean b)Sets the reset start stream option, true means that it will be reset to the starting streamvoidsetSecondReceiver(ReceiveQObjectIfc r2)-
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
-
-
-
-
Constructor Detail
-
TwoWayByChanceQObjectSender
public TwoWayByChanceQObjectSender(ModelElement parent, double p, ReceiveQObjectIfc r1, ReceiveQObjectIfc r2)
-
TwoWayByChanceQObjectSender
public TwoWayByChanceQObjectSender(ModelElement parent, java.lang.String name, double p, ReceiveQObjectIfc r1, ReceiveQObjectIfc r2)
-
-
Method Detail
-
setFirstReceiver
public final void setFirstReceiver(ReceiveQObjectIfc r1)
-
setSecondReceiver
public final void setSecondReceiver(ReceiveQObjectIfc r2)
-
send
public void send(QObject qObj)
- Specified by:
sendin interfaceSendQObjectIfc
-
resetStartStream
public void resetStartStream()
Description copied from interface:RNStreamControlIfcThe 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:
resetStartStreamin interfaceRNStreamControlIfc
-
resetStartSubstream
public void resetStartSubstream()
Description copied from interface:RNStreamControlIfcResets the position of the RNG at the start of the current substream- Specified by:
resetStartSubstreamin interfaceRNStreamControlIfc
-
advanceToNextSubstream
public void advanceToNextSubstream()
Description copied from interface:RNStreamControlIfcPositions the RNG at the beginning of its next substream- Specified by:
advanceToNextSubstreamin interfaceRNStreamControlIfc
-
setAntitheticOption
public void setAntitheticOption(boolean flag)
Description copied from interface:RNStreamControlIfcTells the stream to start producing antithetic variates- Specified by:
setAntitheticOptionin interfaceRNStreamControlIfc- Parameters:
flag- true means that it produces antithetic variates.
-
getAntitheticOption
public boolean getAntitheticOption()
- Specified by:
getAntitheticOptionin interfaceRNStreamControlIfc- Returns:
- true means on
-
setRandomNumberStream
public void setRandomNumberStream(RNStreamIfc stream)
Description copied from interface:SetRandomNumberStreamIfcSets the underlying random number stream- Specified by:
setRandomNumberStreamin interfaceSetRandomNumberStreamIfc- Parameters:
stream- the reference to the random number stream, must not be null
-
setRandomNumberStream
public void setRandomNumberStream(int streamNumber)
Description copied from interface:SetRandomNumberStreamIfcAssigns the stream associated with the supplied number from the default RNStreamProvider- Specified by:
setRandomNumberStreamin interfaceSetRandomNumberStreamIfc- Parameters:
streamNumber- a stream number, 1, 2, etc.
-
getRandomNumberStream
public RNStreamIfc getRandomNumberStream()
- Specified by:
getRandomNumberStreamin interfaceGetRandomNumberStreamIfc- Returns:
- the random number stream reference
-
getStreamNumber
public int getStreamNumber()
- Specified by:
getStreamNumberin 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
-
getResetNextSubStreamOption
public boolean getResetNextSubStreamOption()
Description copied from interface:StreamOptionIfcGets 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:
getResetNextSubStreamOptionin interfaceStreamOptionIfc- Returns:
- the option
-
getResetStartStreamOption
public boolean getResetStartStreamOption()
Description copied from interface:StreamOptionIfcGets the current Reset Start Stream Option- Specified by:
getResetStartStreamOptionin interfaceStreamOptionIfc- Returns:
- the option
-
setResetNextSubStreamOption
public void setResetNextSubStreamOption(boolean b)
Description copied from interface:StreamOptionIfcSets 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:
setResetNextSubStreamOptionin interfaceStreamOptionIfc- Parameters:
b- true means reset
-
setResetStartStreamOption
public void setResetStartStreamOption(boolean b)
Description copied from interface:StreamOptionIfcSets the reset start stream option, true means that it will be reset to the starting stream- Specified by:
setResetStartStreamOptionin interfaceStreamOptionIfc- Parameters:
b- true means reset
-
-