Class ContinuousMerge

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

    public class ContinuousMerge
    extends Transformer
    A merge actor for the Continuous domain. This port has a multiport input and on each firing, sends the input from channel 0 to the output, if the input at channel 0 is present. Otherwise, it sends the input from channel 1, if it is present. It continues to search the inputs in channel order until it finds one that is present or it runs out of input channels. In the latter case, the output will be absent.

    By default, this actor discards data on all channels after the first channel that has present data. If you set the discard parameter to false, however, then it will collect all present data in queue and output it in the next microstep until all present inputs have been produced on the output. Note that setting this to false creates a risk of a chattering Zeno system if a continuous signal is provided as input.

    Note that this actor can merge continuous signals with discrete ones, but the resulting signal may not be piecewise continuous. This will be a bit odd. It is most useful to merge discrete signals or signals that are piecewise continuous.

    Since:
    Ptolemy II 8.0
    Version:
    $Id$
    Author:
    Edward A. Lee
    Pt.AcceptedRating:
    Red (eal)
    Pt.ProposedRating:
    Yellow (eal)